Correctness enhancement: A pervasive software engineering paradigm

Besma Khaireddine, Marwa Ben AbdelAli, Lamia Labed Jilani, Aleksandr Zakharchenko, Ali Mili

Research output: Contribution to journalArticlepeer-review


Refinement-based correctness-preserving transformations are considered as the gold standard of program transformations. While we do not dispute the merits of transforming programs in a way that preserves their correctness, we argue that the vast majority of software engineering processes are in fact instances of correctness enhancement rather than correctness preservation. In this paper, we discuss mathematics of correctness enhancement, i.e., the process of making a program more correct than it is with respect to a specification; then we highlight in what way and to what extent correctness enhancement pervades the practice of software engineering.

Original languageEnglish (US)
Pages (from-to)37-73
Number of pages37
JournalInternational Journal of Critical Computer-Based Systems
Issue number1
StatePublished - 2020

All Science Journal Classification (ASJC) codes

  • General Computer Science


  • Absolute correctness
  • Adaptive maintenance
  • Corrective maintenance
  • Extreme programming
  • Program derivation
  • Program merger
  • Program repair
  • Program upgrade
  • Relative correctness
  • Software processes
  • Test driven design
  • Whitebox reuse


Dive into the research topics of 'Correctness enhancement: A pervasive software engineering paradigm'. Together they form a unique fingerprint.

Cite this