The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
Crafting a compiler
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
A measure for composite module cohesion
ICSE '92 Proceedings of the 14th international conference on Software engineering
Monitoring compliance of a software system with its high-level design models
Proceedings of the 18th international conference on Software engineering
Semantics Guided Regression Test Cost Reduction
IEEE Transactions on Software Engineering
Assessing software libraries by browsing similar classes, functions and relationships
Proceedings of the 21st international conference on Software engineering
Testing object-oriented systems: models, patterns, and tools
Testing object-oriented systems: models, patterns, and tools
An empirical study of regression test selection techniques
ACM Transactions on Software Engineering and Methodology (TOSEM)
Supporting program comprehension using semantic and structural information
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Modern Information Retrieval
Design-code traceability for object-oriented systems
Annals of Software Engineering
Recovering Traceability Links between Code and Documentation
IEEE Transactions on Software Engineering
Binding Object Models to Source Code: An Approach to Object-Oriented Re-Architecting
COMPSAC '98 Proceedings of the 22nd International Computer Software and Applications Conference
Recovering documentation-to-source-code traceability links using latent semantic indexing
Proceedings of the 25th International Conference on Software Engineering
Automatic Software Clustering via Latent Semantic Analysis
ASE '99 Proceedings of the 14th IEEE international conference on Automated software engineering
Identifying the Starting Impact Set of a Maintenance Request: A Case Study
CSMR '00 Proceedings of the Conference on Software Maintenance and Reengineering
Detection of Logical Coupling Based on Product Release History
ICSM '98 Proceedings of the International Conference on Software Maintenance
Identification of High-Level Concept Clones in Source Code
Proceedings of the 16th IEEE international conference on Automated software engineering
Impact Analysis and Change Management of UML Models
ICSM '03 Proceedings of the International Conference on Software Maintenance
Reverse Engineering of Test Cases for Selective Regression Testing
CSMR '04 Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR'04)
Predicting Class Testability using Object-Oriented Metrics
SCAM '04 Proceedings of the Source Code Analysis and Manipulation, Fourth IEEE International Workshop
Relevancy based semantic interoperation of reuse repositories
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
Feature Identification: A Novel Approach and a Case Study
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
3D visualization for concept location in source code
Proceedings of the 28th international conference on Software engineering
Leveraged Quality Assessment using Information Retrieval Techniques
ICPC '06 Proceedings of the 14th IEEE International Conference on Program Comprehension
Combining Formal Concept Analysis with Information Retrieval for Concept Location in Source Code
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
ACM Transactions on Software Engineering and Methodology (TOSEM)
Establishing Traceability Links between Unit Test Cases and Units under Test
CSMR '09 Proceedings of the 2009 European Conference on Software Maintenance and Reengineering
Towards traceable test-driven development
TEFSE '09 Proceedings of the 2009 ICSE Workshop on Traceability in Emerging Forms of Software Engineering
A systematic review on regression test selection techniques
Information and Software Technology
EZUNIT: a framework for associating failed unit tests with potential programming errors
XP'07 Proceedings of the 8th international conference on Agile processes in software engineering and extreme programming
A machine learning approach for tracing regulatory codes to product specific requirements
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
An Industrial Survey on Contemporary Aspects of Software Testing
ICST '10 Proceedings of the 2010 Third International Conference on Software Testing, Verification and Validation
On the Equivalence of Information Retrieval Methods for Automated Traceability Link Recovery
ICPC '10 Proceedings of the 2010 IEEE 18th International Conference on Program Comprehension
Journal of Systems and Software
Recovering traceability links between unit tests and classes under test: An improved method
ICSM '10 Proceedings of the 2010 IEEE International Conference on Software Maintenance
Normalizing Source Code Vocabulary
WCRE '10 Proceedings of the 2010 17th Working Conference on Reverse Engineering
Software Re-Modularization Based on Structural and Semantic Metrics
WCRE '10 Proceedings of the 2010 17th Working Conference on Reverse Engineering
SCOTCH: Test-to-code traceability using slicing and conceptual coupling
ICSM '11 Proceedings of the 2011 27th IEEE International Conference on Software Maintenance
Expanding identifiers to normalize source code vocabulary
ICSM '11 Proceedings of the 2011 27th IEEE International Conference on Software Maintenance
On integrating orthogonal information retrieval methods to improve traceability recovery
ICSM '11 Proceedings of the 2011 27th IEEE International Conference on Software Maintenance
A qualitative survey of regression testing practices
PROFES'10 Proceedings of the 11th international conference on Product-Focused Software Process Improvement
Aiding Software Developers to Maintain Developer Tests
CSMR '12 Proceedings of the 2012 16th European Conference on Software Maintenance and Reengineering
ICSM '12 Proceedings of the 2012 IEEE International Conference on Software Maintenance (ICSM)
CSMR '13 Proceedings of the 2013 17th European Conference on Software Maintenance and Reengineering
Hi-index | 0.00 |
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.