Correctness and Relative Correctness
Document Type
Conference Proceeding
Publication Date
8-12-2015
Abstract
In the process of trying to define what is a software fault, we have foundthat to formally define software faults we need to introduce the conceptof relative correctness, i.e. the property of a program to be more-correctthan another with respect to a given specification. A feature of a programis a fault (for a given specification)only because there exists an alternative to it that would makethe program more-correct with respect to the specification.In this paper, we explore applications of the concept of relative correctness in programtesting, program repair, and program design.Specifically, we argue that in many situations of software testing,fault removal and program repair, testing for relative correctnessrather than absolute correctness leads to clearer conclusions andbetter outcomes. Also, we find that designing programs by stepwisecorrectness-enhancing transformations rather than by stepwise correctness-preserving refinements leads to simpler programs and is more tolerant of designer mistakes.
Identifier
84951762091 (Scopus)
ISBN
[9781479919345]
Publication Title
Proceedings International Conference on Software Engineering
External Full Text Location
https://doi.org/10.1109/ICSE.2015.200
ISSN
02705257
First Page
591
Last Page
594
Volume
2
Recommended Citation
Diallo, Nafi; Ghardallou, Wided; and Mili, Ali, "Correctness and Relative Correctness" (2015). Faculty Publications. 6842.
https://digitalcommons.njit.edu/fac_pubs/6842
