A generic algorithm for program repair

Besma Khaireddine, Aleksandr Zakharchenko, Ali Mili

Research output: Chapter in Book/Report/Conference proceedingConference contribution

7 Scopus citations

Abstract

Relative correctness is the property of a program to be more-correct than another with respect to a specification, whereas traditional (absolute) correctness distinguishes between two classes of candidate programs with respect to a specification (correct and incorrect), relative correctness defines a partial ordering between candidate programs, whose maximal elements are the (absolutely) correct programs. In this paper we argue that relative correctness ought to be an integral part of the study of program repair, as it plays for program repair the role that absolute correctness plays for program construction: in the same way that absolute correctness is the criterion by which we judge the process of deriving a program P from a specification R, we argue that relative correctness ought to be the criterion by which we judge the process of repairing a program P to produce a program P' that is more-correct than P with respect to R. In this paper we build on this premise to design a generic program repair algorithm, which proceeds by successive increases of relative correctness until we achieve absolute correctness. We further argue that in the same way that correctness ideas were used, a few decades ago, as a basis for correct-by-design programming, relative correctness ideas may be used, in time, as a basis for more-correct-by-design program repair.

Original languageEnglish (US)
Title of host publicationProceedings - 2017 IEEE/ACM 5th International FME Workshop on Formal Methods in Software Engineering, FormaliSE 2017
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages65-71
Number of pages7
ISBN (Electronic)9781538604229
DOIs
StatePublished - Jul 3 2017
Event5th IEEE/ACM International FME Workshop on Formal Methods in Software Engineering, FormaliSE 2017 - Buenos Aires, Argentina
Duration: May 27 2017 → …

Publication series

NameProceedings - 2017 IEEE/ACM 5th International FME Workshop on Formal Methods in Software Engineering, FormaliSE 2017

Other

Other5th IEEE/ACM International FME Workshop on Formal Methods in Software Engineering, FormaliSE 2017
Country/TerritoryArgentina
CityBuenos Aires
Period5/27/17 → …

All Science Journal Classification (ASJC) codes

  • Software
  • Safety, Risk, Reliability and Quality

Keywords

  • Absolute correctness
  • Elementary fault removal
  • Oracle design
  • Program repair
  • Relative correctness
  • Siemens benchmark

Fingerprint

Dive into the research topics of 'A generic algorithm for program repair'. Together they form a unique fingerprint.

Cite this