Supporting articulation work using software configuration management systems
Computer Supported Cooperative Work - Special issue on studies of cooperative design
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Experimentation in software engineering: an introduction
Experimentation in software engineering: an introduction
Design Patterns CD: Elements of Reusable Object-Oriented Software, (CD-ROM)
Design Patterns CD: Elements of Reusable Object-Oriented Software, (CD-ROM)
The evolution matrix: recovering software evolution using software visualization techniques
IWPSE '01 Proceedings of the 4th International Workshop on Principles of Software Evolution
Practices of Software Maintenance
ICSM '98 Proceedings of the International Conference on Software Maintenance
"Breaking the code", moving between private and public work in collaborative software development
GROUP '03 Proceedings of the 2003 international ACM SIGGROUP conference on Supporting group work
Characterizing the Evolution of Class Hierarchies
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
Theories, Methods and Tools in Program Comprehension: Past, Present and Future
IWPC '05 Proceedings of the 13th International Workshop on Program Comprehension
CodeCrawler: an information visualization tool for program comprehension
Proceedings of the 27th international conference on Software engineering
Maintaining mental models: a study of developer work habits
Proceedings of the 28th international conference on Software engineering
Questions programmers ask during software evolution tasks
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
A Change-based Approach to Software Evolution
Electronic Notes in Theoretical Computer Science (ENTCS)
Information Needs in Collocated Software Development Teams
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Exploring Inter-Module Relationships in Evolving Software Systems
CSMR '07 Proceedings of the 11th European Conference on Software Maintenance and Reengineering
Characterizing and Understanding Development Sessions
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
Answering conceptual queries with Ferret
Proceedings of the 30th international conference on Software engineering
Automated upgrading of component-based applications
Automated upgrading of component-based applications
Do Dynamic Object Process Graphs Support Program Understanding? - A Controlled Experiment.
ICPC '08 Proceedings of the 2008 The 16th IEEE International Conference on Program Comprehension
Visual Exploration of Large-Scale System Evolution
WCRE '08 Proceedings of the 2008 15th Working Conference on Reverse Engineering
Evaluating cues for resuming interrupted programming tasks
Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Using information fragments to answer the questions developers ask
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Syde: a tool for collaborative software development
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Enhancing collaboration of multi-developer projects with synchronous changes
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Replaying past changes in multi-developer projects
Proceedings of the Joint ERCIM Workshop on Software Evolution (EVOL) and International Workshop on Principles of Software Evolution (IWPSE)
Combining micro-blogging and IDE interactions to support developers in their quests
ICSM '10 Proceedings of the 2010 IEEE International Conference on Software Maintenance
Supporting Collaboration Awareness with Real-Time Visualization of Development Activity
CSMR '10 Proceedings of the 2010 14th European Conference on Software Maintenance and Reengineering
Software systems as cities: a controlled experiment
Proceedings of the 33rd International Conference on Software Engineering
A Controlled Experiment for Program Comprehension through Trace Visualization
IEEE Transactions on Software Engineering
Software Evolution Comprehension: Replay to the Rescue
ICPC '11 Proceedings of the 2011 IEEE 19th International Conference on Program Comprehension
Hi-index | 0.00 |
Context: Developers often need to find answers to questions regarding the evolution of a system when working on its code base. While their information needs require data analysis pertaining to different repository types, the source code repository has a pivotal role for program comprehension tasks. However, the coarse-grained nature of the data stored by commit-based software configuration management systems often makes it challenging for a developer to search for an answer. Objective: We present Replay, an Eclipse plug-in that allows developers to explore the change history of a system by capturing the changes at a finer granularity level than commits, and by replaying the past changes chronologically inside the integrated development environment, with the source code at hand. Method: We conducted a controlled experiment to empirically assess whether Replay outperforms a baseline (SVN client in Eclipse) on helping developers to answer common questions related to software evolution. Results: The experiment shows that Replay leads to a decrease in completion time with respect to a set of software evolution comprehension tasks. Conclusion: We conclude that there are benefits in using Replay over the state of the practice tools for answering questions that require fine-grained change information and those related to recent changes.