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-11 Nov 2011, Lawrence, Kansas, USA .

Full text available as:
[img]
Preview
PDF - Requires a PDF viewer such as GSview, Xpdf or Adobe Acrobat Reader
Download (547Kb)
Google Scholar: Look up in Google Scholar

Abstract

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
Funders: SecureChange
Extra Information: pp.273-282
Keywords: meaningful changes; relevance; programs; normalisation; clone removals; specifications; differencing
Academic Unit/Department: Mathematics, Computing and Technology > Computing
Interdisciplinary Research Centre: Centre for Research in Computing (CRC)
Related URLs:
Item ID: 29450
Depositing User: Yijun Yu
Date Deposited: 22 Sep 2011 09:32
Last Modified: 19 Jun 2013 01:45
URI: http://oro.open.ac.uk/id/eprint/29450

Actions (login may be required)

View Item
Report issue / request change

Policies | Disclaimer

© The Open University   + 44 (0)870 333 4340   general-enquiries@open.ac.uk