File Download

There are no files associated with this item.

  • Find it @ UNIST can give you direct access to the published full text of this article. (UNISTARs only)
Related Researcher

이주용

Yi, Jooyong
Programming Languages and Software Engineering Lab.
Read More

Views & Downloads

Detailed Information

Cited time in webofscience Cited time in scopus
Metadata Downloads

Software change contracts

Author(s)
Qi, DaweiYi, JooyongRoychoudhury, Abhik
Issued Date
2012-11-11
DOI
10.1145/2393596.2393622
URI
https://scholarworks.unist.ac.kr/handle/201301/35673
Fulltext
https://dl.acm.org/citation.cfm?doid=2393596.2393622
Citation
20th ACM SIGSOFT International Symposium on the Foundations of Software Engineering, FSE 2012
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.
Publisher
Association for Computing Machinery

qrcode

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