Software Change Contracts

dc.contributor.authorQI, Daweien_US
dc.contributor.authorYI, Jooyongen_US
dc.contributor.authorROYCHOUDHURY, Abhiken_US
dc.date.accessioned2012-03-30T09:16:26Zen_US
dc.date.accessioned2017-01-23T07:00:04Z
dc.date.available2012-03-30T09:16:26Zen_US
dc.date.available2017-01-23T07:00:04Z
dc.date.issued2012-03-30T09:16:26Zen_US
dc.description.abstractIncorrect program changes including regression bugs, incorrect bugfixes, 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. General guidelines as well as concrete examples are given to illustrate the usage of our change contracts. We conduct an 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 (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.en_US
dc.format.extent311086 bytesen_US
dc.format.mimetypeapplication/pdfen_US
dc.identifier.urihttps://dl.comp.nus.edu.sg/xmlui/handle/1900.100/3588en_US
dc.language.isoenen_US
dc.relation.ispartofseriesTRE3/12en_US
dc.titleSoftware Change Contractsen_US
dc.typeTechnical Reporten_US
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
TRE3-12 -Software Change Contracts.pdf
Size:
303.79 KB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.53 KB
Format:
Plain Text
Description: