Program evolution: processes of software change
Program evolution: processes of software change
An Integrated Life-Cycle Model for Software Maintenance
IEEE Transactions on Software Engineering
Using Program Slicing in Software Maintenance
IEEE Transactions on Software Engineering
Object-oriented modeling and design
Object-oriented modeling and design
Seesoft-A Tool for Visualizing Line Oriented Software Statistics
IEEE Transactions on Software Engineering - Special issue on software measurement principles, techniques, and environments
Science and Substance: A Challenge to Software Engineers
IEEE Software
The software landscape: a visual formalism for programming-in-the-large
The software landscape: a visual formalism for programming-in-the-large
ICSE '94 Proceedings of the 16th international conference on Software engineering
IBM Systems Journal
Extracting concepts from file names: a new file clustering criterion
Proceedings of the 20th international conference on Software engineering
Using version control data to evaluate the impact of software tools
Proceedings of the 21st international conference on Software engineering
Empirical studies of software engineering: a roadmap
Proceedings of the Conference on The Future of Software Engineering
A case study of open source software development: the Apache server
Proceedings of the 22nd international conference on Software engineering
Predicting Fault Incidence Using Software Change History
IEEE Transactions on Software Engineering
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Managing crosscutting concerns during software evolution tasks: an inquisitive study
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Software Change Impact Analysis
Software Change Impact Analysis
Information Retrieval
The Mythical Man-Month: Essays on Softw
The Mythical Man-Month: Essays on Softw
IEEE Transactions on Software Engineering
Concern graphs: finding and describing concerns using structural program dependencies
Proceedings of the 24th International Conference on Software Engineering
Preliminary guidelines for empirical research in software engineering
IEEE Transactions on Software Engineering
A Model for Change Propagation Based on Graph Rewriting
ICSM '97 Proceedings of the International Conference on Software Maintenance
Impact Analysis - Towards a Framework for Comparison
ICSM '93 Proceedings of the Conference on Software Maintenance
Questioning the Software Engineering Unquestionables
IEEE Software
Design Pattern Rationale Graphs: linking design to source
Proceedings of the 25th International Conference on Software Engineering
Hipikat: recommending pertinent software development artifacts
Proceedings of the 25th International Conference on Software Engineering
Toward an understanding of the motivation Open Source Software developers
Proceedings of the 25th International Conference on Software Engineering
CVSSearch: Searching through Source Code using CVS Comments
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Detection of Logical Coupling Based on Product Release History
ICSM '98 Proceedings of the International Conference on Software Maintenance
Using Coupling Measurement for Impact Analysis in Object-Oriented Systems
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Identifying Reasons for Software Changes Using Historic Databases
ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
Archetypal Source Code Searches: A Survey of Software Developers and Maintainers
IWPC '98 Proceedings of the 6th International Workshop on Program Comprehension
Reconstructing Ownership Architectures To Help Understand Software Systems
IWPC '99 Proceedings of the 7th International Workshop on Program Comprehension
The Contribution of Free Software to Software Evolution
IWPSE '03 Proceedings of the 6th International Workshop on Principles of Software Evolution
Empirical Software Engineering
Mining Version Histories to Guide Software Changes
Proceedings of the 26th International Conference on Software Engineering
Understanding Class Evolution in Object-Oriented Software
IWPC '04 Proceedings of the 12th IEEE International Workshop on Program Comprehension
Predicting Change Propagation in Software Systems
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
The Top Ten List: Dynamic Fault Prediction
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Source versus Object Code Extraction for Recovering Software Architecture
WCRE '05 Proceedings of the 12th Working Conference on Reverse Engineering
GCC 3.0: the state of the source
ALS'00 Proceedings of the 4th annual Linux Showcase & Conference - Volume 4
On the evaluation of recommender systems with recorded interactions
SUITE '09 Proceedings of the 2009 ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation
Recommending change clusters to support software investigation: an empirical study
Journal of Software Maintenance and Evolution: Research and Practice - Working Conference on Reverse Engineering (WCRE 2008)
Using Formal Concept Analysis to support change analysis
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Concept location using program dependencies and information retrieval (DepIR)
Information and Software Technology
Continuous validation of load test suites
Proceedings of the 5th ACM/SPEC international conference on Performance engineering
Hi-index | 0.00 |
As developers modify software entities such as functions or variables to introduce new features, enhance old ones, or fix bugs, they must ensure that other entities in the software system are updated to be consistent with these new changes. Many hard to find bugs are introduced by developers who did not notice dependencies between entities, and failed to propagate changes correctly. Most modern development environments offer tools to assist developers in propagating changes. For example, dependency browsers show static code dependencies between source code entities. Other sources of information such as historical co-change or code layout information could be used by tools to support developers in propagating changes. We present the Development Replay (DR) approach which empirically assess and compares the effectiveness of several not-yet-existing change propagation tools by reenacting the changes stored in source control repositories using these tools. We present a case study of five large open source systems with a total of over 40 years of development history. Our empirical results show that historical co-change information recovered from source control repositories along with code layout information can guide developers in propagating changes better than simple static dependency information.