Program element matching for multi-version program analyses
- 22 May 2006
- proceedings article
- Published by Association for Computing Machinery (ACM)
Abstract
Multi-version program analyses require that elements of one version of a program be mapped to the elements of other versions of that program. Matching program elements between two versions of a program is a fundamental building block for multi-version program analyses and other software evolution research such as profile propagation, regression testing, and software version merging.In this paper, we survey matching techniques that can be used for multi-version program analyses and evaluate them based on hypothetical change scenarios. This paper also lists challenges of the matching problem, identifies open problems, and proposes future directions.Keywords
This publication has 34 references indexed in Scilit:
- Predicting source code changes by mining change historyIEEE Transactions on Software Engineering, 2004
- CCFinder: a multilinguistic token-based code clone detection system for large scale source codeIEEE Transactions on Software Engineering, 2002
- A state-of-the-art survey on software mergingIEEE Transactions on Software Engineering, 2002
- Does code decay? Assessing the evidence from change management dataIEEE Transactions on Software Engineering, 2001
- Predicting fault incidence using software change historyIEEE Transactions on Software Engineering, 2000
- A safe, efficient regression test selection techniqueACM Transactions on Software Engineering and Methodology, 1997
- Program integration for languages with procedure callsACM Transactions on Software Engineering and Methodology, 1995
- The string-to-string correction problem with block movesACM Transactions on Computer Systems, 1984
- A fast algorithm for computing longest common subsequencesCommunications of the ACM, 1977
- On the criteria to be used in decomposing systems into modulesCommunications of the ACM, 1972