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

Tracking source locations

Published: 10 May 2008 Publication History

Abstract

Many programming tools require information to be associated with source locations. Current tools do this in different ways with different degrees of effectiveness. This paper is an investigation into the various approaches to maintaining source locations. It is based on an experiment that attempts to track a variety of locations over the evolution of a source file. The results demonstrate that relatively simple techniques can be very effective.

References

[1]
Taweesup Apiwattanapong, Alessandro Orso, and Mary Jean Harrold, "A differencing algorithm for object-oriented programs," ASE 2004, pp. 2--13 (September 2004).
[2]
Godmar Back and Dawson Engler, "MJ - a system for constructing bug-finding analyses for Java," Stanford University Computer Systems Laboratory, (2003).
[3]
Brenda S. Baker, "On finding duplication and near-duplication in large software systems," Working Conference on Reverse Engineering, pp. 86--95 (1995).
[4]
I.D. Baxter, A. Yahin, L. Moura, M. Sant'Anna, and L. Bier, "Clone detection using abstract syntax trees," ICSM '98, pp. 368--377 (1998).
[5]
David Binkley, Susan Horwitz, and Thomas Reps, "Program integration for languages with procedure calls," ACM Trans. on Software Engineering and Methodology Vol. 4(1) pp. 3--35 (1995).
[6]
Marc H. Brown and Robert Sedgewick, "A system for algorithm animation," Computer Graphics Vol. 18(3) pp. 177--186 (July 1984).
[7]
David Hovemeyer and William Pugh, "Finding bugs is easy," OOPSLA 2004 Companion, pp. 132--136 (2004).
[8]
Daniel Jackson and David A. Ladd, "Semantic diff: a tool for summarizing the effects of modifications," ICSM '94, pp. 243--252 (1994).
[9]
Toshihiro Kamiya, Shinji Kusumoto, and Katsuro Inoue, "CCFinder: a multilinguistic token-based code clone detection system for large scale source code," IEEE Trans. on Software Engineering Vol. 28(7) pp. 654--670 (July 2002).
[10]
Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, and John Irwin, "Aspect-Oriented Programming," in European Conference on Object-Oriented Programming, (jun 1997).
[11]
Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, and William Griswold, "An Overview of AspectJ," in European Conference on Object-Oriented Programming, (2001).
[12]
Miryung Kim and David Notkin, "Program element matching for multi-version program analyses," MSR '06, (May 2006).
[13]
Miryung Kim, David Notkin, and Dan Grossman, "Automatic inference of structural changes for matching across program versions," ICSE '07, pp. 333--343 (May 2007).
[14]
Linda Lamb and Arnold Robbins, Learning the vi Editor, O' Reilly (November 1998).
[15]
Janusz Laski and Wojciech Szermer, "Identification of program modifications and its applications in software maintenance," ICSM '92, pp. 282--290 (November 1992).
[16]
Steven P. Reiss, "On the use of annotations for integrating the source in a program development environment," pp. 25--36 in Human Factors in Analysis and Design of Information Systems, ed. R. Traunmuller,North-Holland (1990).
[17]
Steven P. Reiss, FIELD: A Friendly Integrated Environment for Learning and Development, Kluwer (1994).
[18]
Steven P. Reiss, "Working with patterns and code," Proc. HICSS-33, (January 2000).
[19]
Steven P. Reiss, Christina M. Kennedy, Tom Wooldridge, and Shriram Krishnamurthi, "CLIME: An environment for constrained evolution," Proc 25th ICSE, pp. 818--819 (May 2003).
[20]
Steven P. Reiss, "Incremental Maintenance of Software Artifacts," Proc. ICSM 2005, pp. 113--122 (September 2005).
[21]
Steven P. Reiss, "Visualizing program execution using user abstractions," SOFTVIS 06, pp. 125--134 (September 2006).
[22]
D. M. Ritchie, S. C. Johnson, M. E. Lesk, and B. W. Kernighan, "The C programming language," Bell Systems Tech. J. Vol. 57(6) pp. 1991--2020 (1978).
[23]
Atanas Rountev, Ana Milanova, and Barbara G. Ryder, "Points-to analysis for Java using annotated constraints," OOPSLA 2001, pp. 43--55 (2001).
[24]
John T. Stasko, "TANGO: a framework and system for algorithm animation," IEEE Computer Vol. 23(9) pp. 27--39 (September 1990).
[25]
Margaret-Anne Storey, Li-Te Cheng, Ian Bull, and Peter Rigby, "Shared waypoints and social tagging to support collaboration in software development," CSCW '06, pp. 195--198 (November 2006).
[26]
Margaret-Anne Storey, Li-Te Cheng, Ian Bull, and Peter Rigby, "Waypointing and social tagging to support program navigation," CHI 2006, pp. 1367--1372 (April 2006).
[27]
Wuu Yang, "Identifying syntactic difference between two programs," Software Practice and Experience Vol. 21(7) pp. 739--755 (July 1991).

Cited By

View all
  • (2024)Magic Markup: Maintaining Document-External Markup with an LLMCompanion Proceedings of the 8th International Conference on the Art, Science, and Engineering of Programming10.1145/3660829.3660836(22-31)Online publication date: 11-Mar-2024
  • (2024)Fine-grained, accurate and scalable source differencingProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3639148(1-12)Online publication date: 20-May-2024
  • (2024)Refactoring-Aware Block Tracking in Commit HistoryIEEE Transactions on Software Engineering10.1109/TSE.2024.348458650:12(3330-3350)Online publication date: 1-Dec-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '08: Proceedings of the 30th international conference on Software engineering
May 2008
558 pages
ISBN:9781605580791
DOI:10.1145/1368088
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. software evolution
  2. source lines
  3. tool support

Qualifiers

  • Research-article

Conference

ICSE '08
Sponsor:

Acceptance Rates

ICSE '08 Paper Acceptance Rate 56 of 370 submissions, 15%;
Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)2
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Magic Markup: Maintaining Document-External Markup with an LLMCompanion Proceedings of the 8th International Conference on the Art, Science, and Engineering of Programming10.1145/3660829.3660836(22-31)Online publication date: 11-Mar-2024
  • (2024)Fine-grained, accurate and scalable source differencingProceedings of the IEEE/ACM 46th International Conference on Software Engineering10.1145/3597503.3639148(1-12)Online publication date: 20-May-2024
  • (2024)Refactoring-Aware Block Tracking in Commit HistoryIEEE Transactions on Software Engineering10.1109/TSE.2024.348458650:12(3330-3350)Online publication date: 1-Dec-2024
  • (2023)HyperDiff: Computing Source Code Diffs at ScaleProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3616312(288-299)Online publication date: 30-Nov-2023
  • (2023)Support for Long-Form Documentation Authoring and Maintenance2023 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL-HCC57772.2023.00020(109-114)Online publication date: 3-Oct-2023
  • (2022)Using Annotations for Sensemaking About CodeProceedings of the 35th Annual ACM Symposium on User Interface Software and Technology10.1145/3526113.3545667(1-16)Online publication date: 29-Oct-2022
  • (2020)Understanding software changesProceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Companion Proceedings10.1145/3377812.3381400(226-229)Online publication date: 27-Jun-2020
  • (2020)DesignDiff: Continuously Modeling Software Design Difference from Code Revisions2020 IEEE International Conference on Software Architecture (ICSA)10.1109/ICSA47634.2020.00025(179-190)Online publication date: Mar-2020
  • (2019)Techniques for Evolution-Aware Runtime Verification2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)10.1109/ICST.2019.00037(300-311)Online publication date: Apr-2019
  • (2019)Boosting neural commit message generation with code semantic analysisProceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE.2019.00162(1280-1282)Online publication date: 10-Nov-2019
  • 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