Document Type
Dissertation
Date of Award
12-31-2021
Degree Name
Doctor of Philosophy in Computing Sciences - (Ph.D.)
Department
Computer Science
First Advisor
Ali Mili
Second Advisor
James M. Calvin
Third Advisor
Iulian Neamtiu
Fourth Advisor
Kurt Rohloff
Fifth Advisor
Zhenjiang Hu
Abstract
To repair an incorrect program does not mean to make it correct; it only means to make it more-correct, in some sense, than it is. In the absence of a concept of relative correctness, i.e. the property of a program to be more-correct than another with respect to a specification, the discipline of program repair has resorted to various approximations of absolute (traditional) correctness, with varying degrees of success. This shortcoming is concealed by the fact that most program repair tools are tested on basic cases, whence making them absolutely correct is not clearly distinguishable from making them relatively more-correct. In this research a theory of relative correctness is used to implement an instance of a generic algorithm of program repair, whose core idea is to enhance relative correctness until absolute correctness is achieved. Analytical and empirical results pertaining to the approach and its high performance parallel implementation are presented in this work.
Recommended Citation
Zakharchenko, Aleksandr, "A practical approach to automated software correctness enhancement" (2021). Dissertations. 1578.
https://digitalcommons.njit.edu/dissertations/1578
Included in
Artificial Intelligence and Robotics Commons, Computer Engineering Commons, Numerical Analysis and Scientific Computing Commons, Systems Architecture Commons