University of Limerick
Browse

Specifying and detecting meaningful changes in programs

Download (537.91 kB)
conference contribution
posted on 2012-01-04, 11:50 authored by Yijun Yu, Thein Than Tun, Bashar NuseibehBashar Nuseibeh
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.

Funding

Public obligation versus individual liberty: Considerations in the provision of living environments for the lowest income sector on well located land in Cape Town, with reference to the Wingfield site

National Research Foundation

Find out more...

History

Publication

26th IEEE/ACM International Conference on Automated Software Engineering;2011

Publisher

IEEE Computer Society

Note

non-peer-reviewed

Other Funding information

EU FP& Security Engineering of Lifelong Evolvable Systems, Secure Change Project Microsoft Software Engineering Innovative Foundation, SFI

Rights

“© 2011 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. Open Access

Language

English

Usage metrics

    University of Limerick

    Categories

    No categories selected

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC