Monitoring compliance of a software system with its high-level design models
Proceedings of the 18th international conference on Software engineering
Maintaining traceability links during object-oriented software evolution
Software—Practice & Experience
Design-code traceability for object-oriented systems
Annals of Software Engineering
Software Reflexion Models: Bridging the Gap between Design and Implementation
IEEE Transactions on Software Engineering
Recovering Traceability Links between Code and Documentation
IEEE Transactions on Software Engineering
Recovering documentation-to-source-code traceability links using latent semantic indexing
Proceedings of the 25th International Conference on Software Engineering
Identifying Reasons for Software Changes Using Historic Databases
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
Information Retrieval Models for Recovering Traceability Links between Code and Documentation
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
Tracing Object-Oriented Code into Functional Requirements
IWPC '00 Proceedings of the 8th International Workshop on Program Comprehension
An XML-Based Lightweight C++ Fact Extractor
IWPC '03 Proceedings of the 11th IEEE International Workshop on Program Comprehension
Constraining Software Evolution
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
Understanding How the Requirements Are Implemented in Source Code
APSEC '03 Proceedings of the Tenth Asia-Pacific Software Engineering Conference Software Engineering Conference
Understanding Class Evolution in Object-Oriented Software
IWPC '04 Proceedings of the 12th IEEE International Workshop on Program Comprehension
Dex: A Semantic-Graph Differencing Tool for Studying Changes in Large Code Bases
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
Supporting Source Code Difference Analysis
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
An Automatic Approach to identify Class Evolution Discontinuities
IWPSE '04 Proceedings of the Principles of Software Evolution, 7th International Workshop
A Differencing Algorithm for Object-Oriented Programs
Proceedings of the 19th IEEE international conference on Automated software engineering
Clustering Software Artifacts Based on Frequent Common Changes
IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
Toward Understanding the Rhetoric of Small Source Code Changes
IEEE Transactions on Software Engineering
Incremental Maintenance of Software Artifacts
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
UMLDiff: an algorithm for object-oriented design differencing
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
ArchEvol: versioning architectural-implementation relationships
Proceedings of the 12th international workshop on Software configuration management
On product versioning for hypertexts
Proceedings of the 12th international workshop on Software configuration management
Advancing Candidate Link Generation for Requirements Tracing: The Study of Methods
IEEE Transactions on Software Engineering
Classifying Change Types for Qualifying Change Couplings
ICPC '06 Proceedings of the 14th IEEE International Conference on Program Comprehension
Program element matching for multi-version program analyses
Proceedings of the 2006 international workshop on Mining software repositories
Identifying Refactorings from Source-Code Changes
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
A Novel Structure-Oriented Difference Approach for Software Artifacts
COMPSAC '06 Proceedings of the 30th Annual International Computer Software and Applications Conference - Volume 01
Automatic Inference of Structural Changes for Matching across Program Versions
ICSE '07 Proceedings of the 29th international conference on Software Engineering
An empirical study on the evolution of design patterns
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Mining Software Evolution to Predict Refactoring
ESEM '07 Proceedings of the First International Symposium on Empirical Software Engineering and Measurement
API-Evolution Support with Diff-CatchUp
IEEE Transactions on Software Engineering
Do Code and Comments Co-Evolve? On the Relation between Source Code and Comment Changes
WCRE '07 Proceedings of the 14th Working Conference on Reverse Engineering
Journal of Software Maintenance and Evolution: Research and Practice
Traceability and completeness checking for agent-oriented systems
Proceedings of the 2008 ACM symposium on Applied computing
Adams re-trace: traceability link recovery via latent semantic indexing
Proceedings of the 30th international conference on Software engineering
On the relation of refactorings and software defect prediction
Proceedings of the 2008 international working conference on Mining software repositories
What do large commits tell us?: a taxonomical study of large commits
Proceedings of the 2008 international working conference on Mining software repositories
What's a Typical Commit? A Characterization of Open Source Software Repositories
ICPC '08 Proceedings of the 2008 The 16th IEEE International Conference on Program Comprehension
Toward an understanding of bug fix patterns
Empirical Software Engineering
A clustering-based approach for tracing object-oriented design to requirement
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
An approach to automatically enforce object-oriented constraints
International Journal of Computer Applications in Technology
Hi-index | 0.00 |
An approach is presented that automatically determines if a given source code change impacts the design (i.e., UML class diagram) of the system. This allows code-to-design traceability to be consistently maintained as the source code evolves. The approach uses lightweight analysis and syntactic differencing of the source code changes to determine if the change alters the class diagram in the context of abstract design. The intent is to support both the simultaneous updating of design documents with code changes and bringing old design documents up to date with current code given the change history. An efficient tool was developed to support the approach and is applied to an open source system. The results are evaluated and compared against manual inspection by human experts. The tool performs better than (error prone) manual inspection. The developed approach and tool were used to empirically investigate and understand how changes to source code (i.e., commits) break code-to-design traceability during evolution and the benefits from such understanding. Commits are categorized as design impact or no impact. The commits of four open source projects over 3-year time durations are extracted and analyzed. The results of the study show that most of the code changes do not impact the design and these commits have a smaller number of changed files and changed less lines compared to commits with design impact. The results also show that most bug fixes do not impact design.