Publication | Closed Access
Expressing and checking intended changes via software change contracts
14
Citations
13
References
2013
Year
Unknown Venue
Software MaintenanceSoftware ErrorsEngineeringSoftware Change ContractsChange Impact AnalysisVerificationSoftware EngineeringSoftware AnalysisFormal VerificationChange ContractsSystems EngineeringProgram TransformationComputer ScienceStatic Program AnalysisAutomated RepairSoftware DesignCode RefactoringProgram AnalysisSoftware TestingStructural ChangesFormal MethodsDesign By ContractSystem SoftwareSoftware Language Engineering
Software errors often originate from incorrect changes, including incorrect program fixes, incorrect feature updates and so on. Capturing the intended program behavior explicitly via contracts is thus an attractive proposition. In our recent work, we had espoused the notion of "change contracts" to express the intended program behavior changes across program versions. Change contracts differ from program contracts in that they do not require the programmer to describe the intended behavior of program features which are unchanged across program versions. In this work, we present the formal semantics of our change contract language built on top of the Java Modeling Language (JML). Our change contract language can describe behavioral as well as structural changes. We evaluate the expressivity of the change contract language via a survey given to final year undergraduate students. The survey results enable us to understand the usability of our change contract language for purposes of writing contracts, comprehending written contracts, and modifying programs according to given change contracts. Finally, we discuss the tool support developed for our change contract language. The tool support enables (i) test generation to witness contract violation, as well as (ii) automated repair of certain tests which are broken due to program changes.
| Year | Citations | |
|---|---|---|
1992 | 2.1K | |
2002 | 1.3K | |
2001 | 1.3K | |
2004 | 707 | |
2007 | 496 | |
1999 | 352 | |
2008 | 264 | |
1994 | 262 | |
2006 | 242 | |
2003 | 229 |
Page 1
Page 1