Abstract

Every symptom in the source code or design of software that violates object-oriented principles such as maintainability, reusability, and integrity is called an anti-pattern. Poor design or programming in the software development process can lead to anti-patterns that may cause further problems in software maintenance, so they should be removed by refactoring. The first and most crucial step in software refactoring is anti-pattern detection. Different approaches and tools have been proposed to do this, which provide different results in the same program due to the informal definition of anti-patterns. In this paper, four antipattern detection tools have been compared, namely Checkstyle, PMD, iPlasma, and Jspirit. These tools are implemented on opensource software systems that have been presented as a gold standard in previous studies in this field. The detection results of three anti-patterns are compared: Large Class, Long Method, and Feature Envy. By comparing tools output and the gold standard, we are sure our calculated precision and recall values are correct.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call