• DocumentCode
    2600242
  • Title

    Specifying and detecting meaningful changes in programs

  • Author

    Yu, Yijun ; Tun, Thein Than ; Nuseibeh, Bashar

  • Author_Institution
    Open Univ., Milton Keynes, UK
  • fYear
    2011
  • fDate
    6-10 Nov. 2011
  • Firstpage
    273
  • Lastpage
    282
  • 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.
  • Keywords
    software engineering; meaningful change specification; meaningful changes detection; normalised programs; programming language; software developers; Cloning; Grammar; Java; Optimized production technology; Semantics; Syntactics;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Automated Software Engineering (ASE), 2011 26th IEEE/ACM International Conference on
  • Conference_Location
    Lawrence, KS
  • ISSN
    1938-4300
  • Print_ISBN
    978-1-4577-1638-6
  • Type

    conf

  • DOI
    10.1109/ASE.2011.6100063
  • Filename
    6100063