Recovering Test-To-Code Traceability Using Slicing and Textual Analysis
De Lucia, A
MetadataShow full item record
Test suites are a valuable source of up-to-date documentation as developers continuously modify them to reflect changes in the production code and preserve an effective regression suite. While maintaining traceability links between unit test and the classes under test can be useful to selectively retest code after a change, the value of having traceability links goes far beyond this potential savings. One key use is to help developers better comprehend the dependencies between tests and classes and help maintain consistency during refactoring. Despite its importance, test-to-code traceability is not common in software development and, when needed, traceability information has to be recovered during software development and evolution. We propose an advanced approach, named SCOTCH+ (Source code and COncept based Test to Code traceability Hunter), to support the developer during the identification of links between unit tests and tested classes. Given a test class, represented by a JUnit class, the approach first exploits dynamic slicing to identify a set of candidate tested classes. Then, external and internal textual information associated with the classes retrieved by slicing is analyzed to refine this set of classes and identify the final set of candidate tested classes. The external information is derived from the analysis of the class name, while internal information is derived from identifiers and comments. The approach is evaluated on five software systems. The results indicate that the accuracy of the proposed approach far exceeds the leading techniques found in the literature.
Showing items related by title, author, creator and subject.
Kasperovics, R; Böhlen, MH; Gamper, J (Springer, 2009)Public transport schedules contain temporal data with many regular patterns that can be represented compactly. Exceptions come as modifications of the initial schedule and break the regular patterns increasing the size of ...
Qusef A; Bavota G; Oliveto R; De Lucia A; Binkley D (IEEE, 2011)Maintaining traceability links between unit tests and tested classes is an important factor for effectively managing the development and evolution of software systems. Exploiting traceability links helps in program ...
Qusef A; Bavota G; Oliveto R; De Lucia A; Binkley D (IEEE, 2011)Recently, different methods and tools have been proposed to automate or semi-automate test-to-code traceability recovery. Among these, Slicing and Coupling based Test to Code trace Hunter (SCOTCH) exploits slicing and ...