Geri

Description

DARTS (Detection And Refactoring of Test Smells) is an Intellij plug-in which implements a state-of-the-art detection mechanism to detect instances of three test smell types, i.e., General Fixture, Eager Test, and Lack of Cohesion of Test Methods, at commit-level and enables their automated refactoring through the integrated APIs provided by Intellij. It also provides a mechanism able to mine data from projects' repositories in order to evaluate if detected smells impact on change- and defect- proneness of the production classes.

The goal of project is improve DARTS by adding new test smell detectors such us Conditional Test Logic, Constructor Initialization, Duplicate Assert, Exception Handling, Ignored Test and Magic Number Test. The change consists in implementing new detectors for tests smell. DARTS implements two types of detection, structural and textual. Researchers have devised tools and techniques to detect code smells in software systems. Most of them are based on the analysis of the properties extractable from the source code (e.g., method calls) by means of a combination of structural metrics, while in recent years the use of alternative sources of information (i.e., historical and textual analysis) have been explored, together with methodologies based on machine learning and search-based algorithms. The textual detection of code smells is able to identify code smells using a three step process, i.e., (i) textual content extraction, (ii) application of IR normalization process, and (iii) application of specific heuristics in order to detect code smells related to promiscuous responsibilities. The detection is going to base on structural information.

Information

Technologies

  • Java