Understanding source code evolution using abstract syntax tree matching

Iulian Neamtiu, Jeffrey S. Foster, Michael Hicks

Research output: Chapter in Book/Report/Conference proceedingConference contribution

148 Scopus citations

Abstract

Mining software repositories at the source code level can provide a greater understanding of how software evolves. We present a tool for quickly comparing the source code of different versions of a C program. The approach is based on partial abstract syntax tree matching, and can track simple changes to global variables, types and functions. These changes can characterize aspects of software evolution useful for answering higher level questions. In particular, we consider how they could be used to inform the design of a dynamic software updating system. We report results based on measurements of various versions of popular open source programs, including BIND, OpenSSH, Apache, Vsftpd and the Linux kernel.

Original languageEnglish (US)
Title of host publicationProceedings of the 2005 International Workshop on Mining Software Repositories, MSR 2005
PublisherAssociation for Computing Machinery, Inc
ISBN (Print)1595931236, 9781595931238
DOIs
StatePublished - May 17 2005
Externally publishedYes
Event2005 International Workshop on Mining Software Repositories, MSR 2005 - St. Louis, United States
Duration: May 17 2005 → …

Publication series

NameProceedings of the 2005 International Workshop on Mining Software Repositories, MSR 2005

Conference

Conference2005 International Workshop on Mining Software Repositories, MSR 2005
Country/TerritoryUnited States
CitySt. Louis
Period5/17/05 → …

All Science Journal Classification (ASJC) codes

  • Software
  • Computer Science Applications

Keywords

  • Abstract syntax trees
  • Software evolution
  • Source code analysis

Fingerprint

Dive into the research topics of 'Understanding source code evolution using abstract syntax tree matching'. Together they form a unique fingerprint.

Cite this