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

LSdiff: a program differencing tool to identify systematic structural differences

Published: 01 May 2010 Publication History

Abstract

Program differencing tools such as GNU diff identify individual differences but do not determine how those differences are related to each other. For example, an extract superclass refactoring on several subclasses will be represented by diff as a scattered collection of line additions and deletions which must be manually pieced together. In our previous work, we developed LSdiff, a novel program differencing technique that automatically identifies systematic structural differences as logic rules. This paper presents an LSdiff Eclipse plug-in that provides a summary of systematic structural differences along with textual differences within an Eclipse integrated development environment. This plugin provides several additional features to allow developers to interpret LSdiff rules easily, to select the abstraction level of program differencing analysis, and to reduce its running time through incremental program analysis.

References

[1]
T. Apiwattanapong, A. Orso, and M. J. Harrold. A differencing algorithm for object-oriented programs. In ASE '04, pages 2--13, 2004.
[2]
O. C. Chesley, X. Ren, and B. G. Ryder. Crisp: a debugging tool for java programs. In ICSM '05, 2005.
[3]
B. Dagenais and M. P. Robillard. Recommending adaptive changes for framework evolution. In ICSE '08, pages 481--490, New York, NY, USA, 2008. ACM.
[4]
K. De Volder. Type-Oriented Logic Meta Programming. PhD thesis, Vrije Universiteit Brussel, 1998.
[5]
B. Fluri, M. Wüersch, M. Pinzger, and H. Gall. Change distilling: tree differencing for fine-grained source code change extraction. TSE, 33(11):725--743, November 2007.
[6]
M. Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, 2000.
[7]
D. Janzen and K. De Volder. Navigating and querying code without getting lost. In AOSD '03, pages 178--187, New York, NY, USA, 2003. ACM.
[8]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J. M. Loingtier, and J. Irwin. Aspect-oriented programming. In ECOOP '97. Springer-Verlag, 1997.
[9]
M. Kim and D. Notkin. Discovering and representing systematic code changes. In ICSE '09, pages 309--319, Washington, DC, USA, 2009. IEEE Computer Society.
[10]
Z. Xing and E. Stroulia. Umldiff: an algorithm for object-oriented design differencing. In ASE '05, pages 54--65, New York, NY, USA, 2005. ACM.
[11]
T. Zimmermann, A. Zeller, P. Weissgerber, and S. Diehl. Mining version histories to guide software changes. TSE, 31(6):429--445, July 2005.

Cited By

View all

Index Terms

  1. LSdiff: a program differencing tool to identify systematic structural differences

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICSE '10: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
    May 2010
    554 pages
    ISBN:9781605587196
    DOI:10.1145/1810295
    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: 01 May 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. code change
    2. program differencing
    3. software evolution

    Qualifiers

    • Research-article

    Funding Sources

    Conference

    ICSE '10
    Sponsor:

    Acceptance Rates

    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)1
    Reflects downloads up to 28 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media