DocumentCode :
1636111
Title :
Correctness and Relative Correctness
Author :
Diallo, Nafi ; Ghardallou, Wided ; Mili, Ali
Author_Institution :
New Jersey Inst. of Technol., Newark, NJ, USA
Volume :
2
fYear :
2015
Firstpage :
591
Lastpage :
594
Abstract :
In the process of trying to define what is a software fault, we have found that to formally define software faults we need to introduce the concept of relative correctness, i.e. the property of a program to be more-correct than another with respect to a given specification. A feature of a program is a fault (for a given specification)only because there exists an alternative to it that would make the program more-correct with respect to the specification.In this paper, we explore applications of the concept of relative correctness in program testing, program repair, and program design.Specifically, we argue that in many situations of software testing, fault removal and program repair, testing for relative correctness rather than absolute correctness leads to clearer conclusions and better outcomes. Also, we find that designing programs by stepwise correctness-enhancing transformations rather than by stepwise correctness-preserving refinements leads to simpler programs and is more tolerant of designer mistakes.
Keywords :
formal specification; program testing; software fault tolerance; software maintenance; formal specification; program design; program repair; program testing; relative correctness; software fault; Generators; Maintenance engineering; Semantics; Software; Software engineering; Software testing;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Engineering (ICSE), 2015 IEEE/ACM 37th IEEE International Conference on
Conference_Location :
Florence
Type :
conf
DOI :
10.1109/ICSE.2015.200
Filename :
7203020
Link To Document :
بازگشت