SpyWare: a change-aware development toolset
Proceedings of the 30th international conference on Software engineering
Example-Based Program Transformation
MoDELS '08 Proceedings of the 11th international conference on Model Driven Engineering Languages and Systems
Change-Enabled Software Systems
Software-Intensive Systems and New Computing Paradigms
How Program History Can Improve Code Completion
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Improving code completion with program history
Automated Software Engineering
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)
Resumption strategies for interrupted programming tasks
Software Quality Control
Non-essential changes in version histories
Proceedings of the 33rd International Conference on Software Engineering
An editing-operation replayer with highlights supporting investigation of program modifications
Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution
CoExist: overcoming aversion to change
Proceedings of the 8th symposium on Dynamic languages
Answering software evolution questions: An empirical evaluation
Information and Software Technology
Towards recognizing and rewarding efficient developer work patterns
Proceedings of the 2013 International Conference on Software Engineering
Clustering navigation sequences to create contexts for guiding code navigation
Journal of Systems and Software
Hi-index | 0.00 |
The understanding of development sessions, the phases during which a developer actively modifies a software system, is a valuable asset for program comprehension, since the sessions directly impact the current state and future evolution of a software system. Such information is usually lost by state-of-the-art versioning systems, because of the checkin/checkout model they rely on: a developer must explicitly commit his changes to the repository. Since this happens in arbitrary and sometimes long intervals, recovering the changes between two commits is difficult and inaccurate, and recovering the order of the changes is impossible. We have implemented an evolution monitoring prototype which records every semantic change performed on a system, and is able to completely reconstruct development sessions. In this paper we use this fine-grained information to understand and characterize the development sessions as they were carried out on two object-oriented systems.