Authors: Besma Khaireddine; Marwa Ben AbdelAli; Lamia Labed Jilani; Aleksandr Zakharchenko; Ali Mili
Addresses: Faculty of Sciences, University of Tunis El Manar, Tunis, 1080, Tunisia ' Institut Superieur de Gestion, Bardo 2000, Université de Tunis, Tunisia ' Institut Superieur de Gestion, Bardo 2000, Université de Tunis, Tunisia ' YWCC, NJIT, Newark NJ 07102-1982, USA ' YWCC, NJIT, Newark NJ 07102-1982, USA
Abstract: 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.
Keywords: absolute correctness; relative correctness; software processes; corrective maintenance; adaptive maintenance; program repair; program derivation; whitebox reuse; program upgrade; program merger; test driven design; extreme programming.
International Journal of Critical Computer-Based Systems, 2020 Vol.10 No.1, pp.37 - 73
Received: 26 Jan 2019
Accepted: 29 Dec 2019
Published online: 24 Jul 2020 *