Skip to main content

Research Repository

Advanced Search

Guaranteed inconsistency avoidance during software evolution

Gallagher, K.; Harman, M.; Danicic, S.

Authors

K. Gallagher

M. Harman

S. Danicic



Abstract

The attempt to design and integrate consistent changes to an existing system is the essence of software maintenance. Software developers also confront similar problems: there are changes during testing, and the release of new system builds. Whether in development or maintenance, changes to evolving systems must be made consistently; that is, without damaging correct computations. It is difficult for the programmer to ascertain the complete effect of a code change; the programmer may make a change to a program that is syntactically and semantically legal, but which has ripples into the parts of the program that were intended to remain unchanged. Using the standard denotational semantics for procedural programming languages, this paper formalizes decomposition slicing, which identifies interferences between software components and isolates the components to be changed. We enumerate the conditions for changing one component in ways that will guarantee that changes to it will not interact inconsistently and prove that changes made under these conditions are sound. Thus, the programmer can then execute changes secure in the knowledge that the semantics of the new system are guaranteed to be consistent with the projection of the semantics of the original for which it behaved correctly. Validating that the changes do not interfere not only guarantees consistency with respect to previous unchanging behaviors, but can also be achieved with complexity proportional to the size of the change to be made.

Citation

Gallagher, K., Harman, M., & Danicic, S. (2003). Guaranteed inconsistency avoidance during software evolution. Journal of software maintenance and evolution, 15(6), 393-416. https://doi.org/10.1002/smr.289

Journal Article Type Article
Publication Date 2003-11
Deposit Date Oct 7, 2008
Journal Journal of software maintenance and evolution : research and practice.
Print ISSN 1532-060X
Publisher John Wiley
Peer Reviewed Peer Reviewed
Volume 15
Issue 6
Pages 393-416
DOI https://doi.org/10.1002/smr.289
Keywords Software evolution, Program slicing, Decomposition slicing, Inconsistency detection and avoidance.
Publisher URL http://www3.interscience.wiley.com/cgi-bin/jissue/106566340

You might also like



Downloadable Citations