Historef: A tool for edit history refactoring

This paper presents Historef, a tool for automating edit history refactoring on Eclipse IDE for Java programs. The aim of our history refactorings is to improve the understandability and/or usability of the history without changing its whole effect. Historef enables us to apply history refactorings to the recorded edit history in the middle of the source code editing process by a developer. By using our integrated tool, developers can commit the refactored edits into underlying SCM repository after applying edit history refactorings so that they are easy to manage their changes based on the performed edits.

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

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

[3]  Shinji Kusumoto,et al.  Hey! are you committing tangled changes? , 2014, ICPC 2014.

[4]  Brad A. Myers,et al.  Visualization of fine-grained code change history , 2013, 2013 IEEE Symposium on Visual Languages and Human Centric Computing.

[5]  Emerson Murphy-Hill A Model of Refactoring Tool Use , 2009 .

[6]  Martin P. Robillard,et al.  Non-essential changes in version histories , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

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

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

[9]  Shinpei Hayashi,et al.  Refactoring edit history of source code , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[10]  Andrew P. Black,et al.  How We Refactor, and How We Know It , 2012, IEEE Trans. Software Eng..

[11]  Shinpei Hayashi,et al.  Slicing and replaying code change history , 2012, 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering.

[12]  Shinpei Hayashi,et al.  Recording finer-grained software evolution with IDE: an annotation-based approach , 2010, IWPSE-EVOL '10.

[13]  Stephen P. Berczuk,et al.  Software Configuration Management Patterns: Effective Teamwork, Practical Integration , 2003 .

[14]  Claudia Biermann Software Configuration Management Patterns Effective Teamwork Practical Integration , 2016 .

[15]  Anh Tuan Nguyen,et al.  Filtering noise in mixed-purpose fixing commits to improve defect prediction and localization , 2013, 2013 IEEE 24th International Symposium on Software Reliability Engineering (ISSRE).