2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011) (2006)
Sept. 18, 2006 to Sept. 22, 2006
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/ASE.2006.61
Ananth Grama , Purdue University,West Lafayette, IN
Murali Krishna Ramanathan , Purdue University,West Lafayette, IN
Suresh Jagannathan , Purdue University,West Lafayette, IN
Software systems often undergo many revisions during their lifetime as new features are added, bugs repaired, abstractions simplified and refactored, and performance improved. When a revision, even a minor one, does occur, the changes it induces must be tested to ensure that invariants assumed in the original version are not violated unintentionally. In order to avoid testing components that are unchanged across revisions, impact analysis is often used to identify code blocks or functions that are affected by a change. In this paper, we present a novel solution to this general problem that uses dynamic programming on instrumented traces of different program binaries to identify longest common subsequences in strings generated by these traces. Our formulation allows us to perform impact analysis and also to detect the smallest set of locations within the functions where the effect of the changes actually manifests itself. Sieve is a tool that incorporates these ideas. Sieve is unobtrusive, requiring no programmer or compiler intervention to guide its behavior. Our experiments on multiple versions of open-source C programs shows that Sieve is an effective and scalable tool to identify impact sets and can locate regions in the affected functions where the changes manifest. These results lead us to conclude that Sieve can play a beneficial role in program testing and software maintenance.
Ananth Grama, Murali Krishna Ramanathan, Suresh Jagannathan, "Sieve: A Tool for Automatically Detecting Variations Across Program Versions", 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), vol. 00, no. , pp. 241-252, 2006, doi:10.1109/ASE.2006.61