Document Type


Date of Award


Degree Name

Doctor of Philosophy in Computing Sciences - (Ph.D.)


Computer Science

First Advisor

Ali Mili

Second Advisor

James M. Calvin

Third Advisor

Iulian Neamtiu

Fourth Advisor

Kurt Rohloff

Fifth Advisor

Zhenjiang Hu


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.