Correctness enhancement: a pervasive software engineering paradigm. (20th July 2020) - Khaireddine, Besma; AbdelAli, Marwa Ben; Jilani, Lamia Labed; Zakharchenko, Aleksandr; Mili, Ali
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.