The Open UniversitySkip to content

Specifying and detecting meaningful changes in programs

Yu, Yijun; Tun, Thein and Nuseibeh, Bashar (2011). Specifying and detecting meaningful changes in programs. In: 26th IEEE/ACM International Conference On Automated Software Engineering, 6-10 Nov 2011, Lawrence, Kansas, USA , pp. 273–282.

Full text available as:
PDF (Version of Record) - Requires a PDF viewer such as GSview, Xpdf or Adobe Acrobat Reader
Download (547Kb)
DOI (Digital Object Identifier) Link:
Google Scholar: Look up in Google Scholar


Software developers are often interested in particular changes in programs that are relevant to their current tasks: not all changes to evolving software are equally important. However, most existing differencing tools, such as diff, notify developers of more changes than they wish to see. In this paper, we propose a technique to specify and automatically detect only those changes in programs deemed meaningful, or relevant, to a particular development task. Using four elementary annotations on the grammar of any programming language, namely Ignore, Order, Prefer and Scope, developers can specify, with limited effort, the type of change they wish to detect. Our algorithms use these annotations to transform the input programs into a normalised form, and to remove clones across different normalised programs in order to detect non-trivial and relevant differences. We evaluate our tool on a benchmark of programs to demonstrate its improved precision compared to other differencing approaches.

Item Type: Conference Item
Copyright Holders: 2011 IEEE, 2011 ACM
ISSN: 1938-4300
Project Funding Details:
Funded Project NameProject IDFunding Body
FP7 Security Engineering of Lifelong Evolvable Systems (SecureChange)Not SetEuropean Union
SEIF 2011awardNot SetMicrosoft Software Engineering Innovative Foundation
CSET2 programmeNot SetScience Foundation Ireland
Keywords: meaningful changes; relevance; programs; normalisation; clone removals; specifications; differencing
Academic Unit/Department: Faculty of Science, Technology, Engineering and Mathematics (STEM) > Computing and Communications
Faculty of Science, Technology, Engineering and Mathematics (STEM)
Interdisciplinary Research Centre: Centre for Research in Computing (CRC)
Centre for Policing Research and Learning (CPRL)
Related URLs:
Item ID: 29450
Depositing User: Yijun Yu
Date Deposited: 22 Sep 2011 09:32
Last Modified: 22 Oct 2016 17:51
Share this page:


Scopus Citations

Download history for this item

These details should be considered as only a guide to the number of downloads performed manually. Algorithmic methods have been applied in an attempt to remove automated downloads from the displayed statistics but no guarantee can be made as to the accuracy of the figures.

▼ Automated document suggestions from open access sources

Actions (login may be required)

Policies | Disclaimer

© The Open University   + 44 (0)870 333 4340