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

This document is currently not available here.

Share

COinS