Improvement of design anti-pattern detection with spatio-temporal rules in the software development process

Łukasz Puławski · Annals of Computer Science and Information Systems · 2022

In [1] we presented a framework for mining spatiotemporal rules in the software development process.The rules are based on specific relations between structures of the source code which relate both to spatial (e.g. a direct call between methods of two classes) and temporal dependencies (e.g. one class introduced into the source code before the other) observed in the process.To some extent, spatio-temporal rules allow us to predict where and when certain design anti-patterns will appear in the source code of a software system.This paper presents how, with slight modifications, such framework can be used to improve the quality of detecting a few popular design anti-patterns, such as Blob, Swiss Army Knife, YoYo or Brain Class.In the proposed method, we not only check the structure of a piece of the source code, but we also analyse its spatio-temporal relations.Only on the basis of the two analyses can we decide if the given piece of code is an anti-pattern.Experimental validation shows that the addition of spatio-temporal perspective improves detection of anti-patterns by 4% in terms of F-measure.

Read the paper · More papers on PaperTik