kirancodes.me
To Proof Maintenance & Beyond!

Support vector machines for anti-pattern detection

Abdou Maiga, Nasir Ali, Neelesh Bhattacharya, Aminata Sabané, Yann-Gaël Guéhéneuc, Giuliano Antoniol, Esma Aïmeur

Abstract

Developers may introduce anti-patterns in their software systems because of time pressure, lack of understanding, communication, and--or skills. Anti-patterns impede development and maintenance activities by making the source code more difficult to understand. Detecting anti-patterns in a whole software system may be infeasible because of the required parsing time and of the subsequent needed manual validation. Detecting anti-patterns on subsets of a system could reduce costs, effort, and resources. Researchers have proposed approaches to detect occurrences of anti-patterns but these approaches have currently some limitations: they require extensive knowledge of anti-patterns, they have limited precision and recall, and they cannot be applied on subsets of systems. To overcome these limitations, we introduce SVMDetect, a novel approach to detect anti-patterns, based on a machine learning technique---support vector machines. Indeed, through an empirical study involving three subject systems and four anti-patterns, we showed that the accuracy of SVMDetect is greater than of DETEX when detecting anti-patterns occurrences on a set of classes. Concerning, the whole system, SVMDetect is able to find more anti-patterns occurrences than DETEX.

BibTeX
@inproceedings{Maiga-al:ASE12,
  author    = {Abdou Maiga and
               Nasir Ali and
               Neelesh Bhattacharya and
               Aminata Saban{\'{e}} and
               Yann{-}Ga{\"{e}}l Gu{\'{e}}h{\'{e}}neuc and
               Giuliano Antoniol and
               Esma A{\"{\i}}meur},
  title     = {Support vector machines for anti-pattern detection},
  booktitle = {ASE},
  pages     = {278--281},
  publisher = {{ACM}},
  year      = {2012},
}

Related papers