Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1109/ICSM.2013.34guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

LHDiff: A Language-Independent Hybrid Approach for Tracking Source Code Lines

Published: 22 September 2013 Publication History

Abstract

Tracking source code lines between two different versions of a file is a fundamental step for solving a number of important problems in software maintenance such as locating bug introducing changes, tracking code fragments or defects across versions, merging file versions, and software evolution analysis. Although a number of such approaches are available in the literature, their performance is sensitive to the kind and degree of source code changes. There is also a marked lack of study on the effect of change types on source location tracking techniques. In this paper, we propose a language-independent technique, LHDiff, for tracking source code lines across versions that leverages simhash technique together with heuristics to improve accuracy. We evaluate our approach against state-of-the- art techniques using benchmarks containing different degrees of changes where files are selected from real world applications. We further evaluate LHDiff with other techniques using a mutation based analysis to understand how different types of changes affect their performance. The results reveal that our technique is more effective than language-independent approaches and no worse than some language-dependent techniques. In our study LHDiff even shows better performance than a state-of-the-art language- dependent approach. In addition, we also discuss limitations of different line tracking techniques including ours and propose future research directions.

Cited By

View all
  • (2024)Variability-Aware Differencing with DiffDetectiveCompanion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering10.1145/3663529.3663813(632-636)Online publication date: 10-Jul-2024
  • (2024)gawd: A Differencing Tool for GitHub Actions WorkflowsProceedings of the 21st International Conference on Mining Software Repositories10.1145/3643991.3644873(682-686)Online publication date: 15-Apr-2024
  • (2024)Revealing code change propagation channels by evolution history miningJournal of Systems and Software10.1016/j.jss.2023.111912208:COnline publication date: 1-Feb-2024
  • Show More Cited By

Index Terms

  1. LHDiff: A Language-Independent Hybrid Approach for Tracking Source Code Lines
      Index terms have been assigned to the content through auto-classification.

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image Guide Proceedings
      ICSM '13: Proceedings of the 2013 IEEE International Conference on Software Maintenance
      September 2013
      593 pages
      ISBN:9780769549811

      Publisher

      IEEE Computer Society

      United States

      Publication History

      Published: 22 September 2013

      Author Tags

      1. diff
      2. levenshtein
      3. lightweight
      4. line tracking

      Qualifiers

      • Article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 26 Sep 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Variability-Aware Differencing with DiffDetectiveCompanion Proceedings of the 32nd ACM International Conference on the Foundations of Software Engineering10.1145/3663529.3663813(632-636)Online publication date: 10-Jul-2024
      • (2024)gawd: A Differencing Tool for GitHub Actions WorkflowsProceedings of the 21st International Conference on Mining Software Repositories10.1145/3643991.3644873(682-686)Online publication date: 15-Apr-2024
      • (2024)Revealing code change propagation channels by evolution history miningJournal of Systems and Software10.1016/j.jss.2023.111912208:COnline publication date: 1-Feb-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
      • (2022)Automated patching for unreproducible buildsProceedings of the 44th International Conference on Software Engineering10.1145/3510003.3510102(200-211)Online publication date: 21-May-2022
      • (2021)Feature trace recordingProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468531(1007-1020)Online publication date: 20-Aug-2021
      • (2019)CoRAProceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE.2019.00101(1050-1061)Online publication date: 10-Nov-2019
      • (2019)cregitEmpirical Software Engineering10.1007/s10664-019-09704-x24:4(2725-2763)Online publication date: 1-Aug-2019
      • (2018)ClDiff: generating concise linked code differencesProceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering10.1145/3238147.3238219(679-690)Online publication date: 3-Sep-2018
      • (2017)Generating simpler AST edit scripts by considering copy-and-pasteProceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering10.5555/3155562.3155630(532-542)Online publication date: 30-Oct-2017
      • Show More Cited By

      View Options

      View options

      Get Access

      Login options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media