The error repair process in software systems is, historically, a resource-consuming task that relies heavily on manual developer effort. Automatic program repair approaches enable the repair of software with minimum human interaction mitigating the burden on developers.
However, a problem automatic program repair approaches commonly suffer is generating low-quality patches which overfit to one program specification as described by the guiding test suite, thus not generalizing to an independent oracle evaluation.
This work proposes a set of mechanisms to increase the quality of plausible patches (which pass all the test cases in the guiding test suite but do not generalize to an independent evaluation), including an analysis of test suite behavior and their key characteristics for automatic program repair (Research Thrust I), analyzing developer behavior to inform the mutation operator selection distribution (Research Thrust II), and a repair technique based on patch diversity as a means to create consolidated higher quality fixes (Research Thrust III).
Claire Le Goues (Chair)
Nicholas A. Kraft (ABB Corporate Research)
William Klieber (Software Engineering Institute)