Please use this identifier to cite or link to this item:
Title: Software change contracts
Authors: Qi, D.
Yi, J.
Roychoudhury, A. 
Keywords: change contract
regression testing
software evolution
Issue Date: 2012
Citation: Qi, D.,Yi, J.,Roychoudhury, A. (2012). Software change contracts. Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, FSE 2012. ScholarBank@NUS Repository.
Abstract: Incorrect program changes including regression bugs, incorrect bug-fixes, incorrect feature updates are pervasive in software. These incorrect program changes affect software quality and are difficult to detect/correct. In this paper, we propose the notion of "change contracts" to avoid incorrect program changes. Change contracts formally specify the intended effect of program changes. Incorrect program changes are detected when they are checked with respect to the change contracts. We design a change contract language for Java programs and a dynamic checking system for our change contract language. We conduct a preliminary user study to check the expressiveness of our change contract language and find that the language is expressive enough to capture a wide variety of real-life changes in three large software projects (i.e., Ant, JMeter, log4j). Finally, our contract checking system detects several real-life incorrect changes in these three software projects via runtime checking of the change contracts. © 2012 ACM.
Source Title: Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, FSE 2012
ISBN: 9781450316149
DOI: 10.1145/2393596.2393622
Appears in Collections:Staff Publications

Show full item record
Files in This Item:
There are no files associated with this item.


checked on Jan 21, 2020

Page view(s)

checked on Dec 30, 2019

Google ScholarTM



Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.