skip to main content
10.1145/1370750.1370758acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

A change-aware development environment by recording editing operations of source code

Published: 10 May 2008 Publication History

Abstract

Understanding a program and its evolution is not satisfied only by looking at a current snapshot of its source code. Thus, a developer often examines a sequence of its snapshots stored in repositories of versioning systems, and identifies differences between two successive snapshots. Unfortunately, such differences do not represent individual changes of the source code. This paper proposes a mechanism for recording all editing operations a developer has applied to source code on an integrated development environment. The paper also shows a running implementation of the mechanism built as an Eclipse plug-in, which is called OperationRecorder. The experimental results with a small-scale program substantiate that it has a practical use from the viewpoint of its performance.

References

[1]
MySQL 5.0 Reference Manual, 9.5 Data Type Storage Requirements. http://www.mysql.com/.
[2]
T. Apiwattanapong, A. Orso, and M. J. Harrold. A differencing algorithm for object-oriented programs. In Proc. ASE'04, pages 2--13, 2004.
[3]
G. Canfora, L. Cerulo, and M. D. Penta. Identifying changed source code lines from version repositories. In Proc. MSR'07, page 14, 2007.
[4]
B. Fluri, M. Würsch, M. Pinzger, and H. C. Gall. Change distilling: Tree differencing for fine-grained source code change extraction. IEEE Trans. Softw. Eng., 33(11):725--743, 2007.
[5]
S. Horwitz. Identifying the semantic and textual differences between two versions of a program. In Proc. PLDI'90, pages 234--245, 1990.
[6]
M. Kim and D. Notkin. Program element matching for multi-version program analyses. In Proc. MSR'06, pages 58--64, 2006.
[7]
I. Neamtiu, J. S. Foster, and M. Hicks. Understanding source code evolution using abstract syntax tree matching. In Proc. MSR'05, pages 1--5, 2005.
[8]
S. Raghavan, R. Rohana, D. Leon, A. Podgurski, and V. Augustine. Dex: A semantic-graph differencing tool for studying changes in large code bases. In Proc. ICSM'04, pages 188--197, 2004.
[9]
R. Robbes. Mining a change-based software repository. In Proc. MSR'07, page 15, 2007.
[10]
T. Sager, A. Bernstein, M. Pinzger, and C. Kiefer. Detecting similar java classes using tree algorithms. In Proc. MSR'06, pages 65--71, 2006.
[11]
K. A. Schneider, C. Gutwin, R. Penner, and D. Paquette. Mining a software developer's local interaction history. In Proc. MSR'04, 2004.
[12]
W. Yang. Identifying syntactic differences between two programs. Software--Practice and Experience, 21(7):739--755, 1991.

Cited By

View all
  • (2024)Code histories: Documenting development by recording code influences and changes in codeJournal of Computer Languages10.1016/j.cola.2024.101313(101313)Online publication date: Dec-2024
  • (2023)Storyteller: Guiding Students Through Code ExamplesProceedings of the 54th ACM Technical Symposium on Computer Science Education V. 110.1145/3545945.3569843(1131-1135)Online publication date: 2-Mar-2023
  • (2021)Lightweight Operation History Graph for Traceability on Program ElementsIEICE Transactions on Information and Systems10.1587/transinf.2020EDP7129E104.D:3(404-418)Online publication date: 1-Mar-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
MSR '08: Proceedings of the 2008 international working conference on Mining software repositories
May 2008
162 pages
ISBN:9781605580241
DOI:10.1145/1370750
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 10 May 2008

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. integrated development environments
  2. software evolution
  3. source code modification
  4. versioning systems

Qualifiers

  • Research-article

Conference

ICSE '08
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Code histories: Documenting development by recording code influences and changes in codeJournal of Computer Languages10.1016/j.cola.2024.101313(101313)Online publication date: Dec-2024
  • (2023)Storyteller: Guiding Students Through Code ExamplesProceedings of the 54th ACM Technical Symposium on Computer Science Education V. 110.1145/3545945.3569843(1131-1135)Online publication date: 2-Mar-2023
  • (2021)Lightweight Operation History Graph for Traceability on Program ElementsIEICE Transactions on Information and Systems10.1587/transinf.2020EDP7129E104.D:3(404-418)Online publication date: 1-Mar-2021
  • (2021)An Overview of Tools for Collecting Data on Software Development and Debugging Processes from Integrated Development EnvironmentsScience and Transport Progress10.15802/stp2021/242042(24-37)Online publication date: 15-Jun-2021
  • (2021)Coding™: Development Task Visualization for SW Code Comprehension2021 Working Conference on Software Visualization (VISSOFT)10.1109/VISSOFT52517.2021.00012(23-32)Online publication date: Sep-2021
  • (2020)ChangeMacroRecorder: Accurate Recording of Fine-Grained Textual Changes of Source CodeIEICE Transactions on Information and Systems10.1587/transinf.2020EDK0001E103.D:11(2262-2277)Online publication date: 1-Nov-2020
  • (2020)srcDiffJournal of Software: Evolution and Process10.1002/smr.222632:4Online publication date: 1-Apr-2020
  • (2019)Summarizing Code Changes by Tracing an Operation History Graph2019 IEEE Workshop on Mining and Analyzing Interaction Histories (MAINT)10.1109/MAINT.2019.8666937(14-18)Online publication date: Feb-2019
  • (2018)StorytellerJournal of Computing Sciences in Colleges10.5555/3280489.328051134:1(137-144)Online publication date: 1-Oct-2018
  • (2018)Comparative Study between Two Approaches Using Edit Operations and Code Differences to Detect Past RefactoringsIEICE Transactions on Information and Systems10.1587/transinf.2017EDP7160E101.D:3(644-658)Online publication date: 2018
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media