ChangeMacroRecorder: Recording fine-grained textual changes of source code

Recording code changes comes to be well recognized as an effective means for understanding the evolution of existing programs and making their future changes efficient. Although fine-grained textual changes of source code are worth leveraging in various situations, there is no satisfactory tool that records such changes. This paper proposes a yet another tool, called ChangeMacroRecorder, which automatically records all textual changes of source code while a programmer writes and modifies it on the Eclipse's Java editor. Its capability has been improved with respect to both the accuracy of its recording and the convenience for its use. Tool developers can easily and cheaply create their new applications that utilize recorded changes by embedding our proposed recording tool into them.

[1]  M.M. Lehman,et al.  Programs, life cycles, and laws of software evolution , 1980, Proceedings of the IEEE.

[2]  Shinpei Hayashi,et al.  Slicing Fine-Grained Code Change History , 2016, IEICE Trans. Inf. Syst..

[3]  Theo D'Hondt,et al.  Change-oriented software engineering , 2007, ICDL '07.

[4]  Shinpei Hayashi,et al.  A Tool Supporting Postponable Refactoring , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C).

[5]  Harald C. Gall,et al.  Change Analysis with Evolizer and ChangeDistiller , 2009, IEEE Software.

[6]  Andreas Zeller,et al.  The impact of tangled code changes , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[7]  Stas Negara,et al.  Is It Dangerous to Use Version Control Histories to Study Source Code Evolution? , 2012, ECOOP.

[8]  Katsuhisa Maruyama,et al.  A change-aware development environment by recording editing operations of source code , 2008, MSR '08.

[9]  Brad A. Myers,et al.  Capturing and analyzing low-level events from the code editor , 2011, PLATEAU '11.

[10]  Romain Robbes,et al.  Changes as First-Class Citizens , 2017, ACM Comput. Surv..

[11]  Serge Demeyer,et al.  ChEOPSJ: Change-Based Test Optimization , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[12]  Michele Lanza,et al.  Syde: a tool for collaborative software development , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[13]  Mira Mezini,et al.  Enriching in-IDE process information with fine-grained source code history , 2017, 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER).

[14]  Romain Robbes,et al.  A Change-based Approach to Software Evolution , 2006, EVOL.