Content area

Abstract

Automated Program Repair (APR) is a vibrant and developing field within software engineering that aims to repair bugs in programs with minimal human involvement. This is an important problem, because fixing bugs is the dominant cost of maintaining software. Progress in APR has been mostly limited to repairing bugs that exist in one location in the program, typically requiring only a few lines of code to be changed. This is not surprising: most APR algorithms make only one mutation (change to a program’s source code), reverting it if it did not work before moving on to the next mutation. This caution is warranted, because it is easier to break a program than to repair it. However, scaling to more complex repairs has been a challenge; about half of the bugs in popular benchmarks have never been repaired by any algorithm.

This dissertation considers how to modify programs more extensively by focusing on neutral mutations: those that on their own do no harm to the program’s behavior. Remarkably, it is possible to apply many neutral mutations to a program without breaking its behavior. The primary contribution of the dissertation is an algorithm for program repair, MWRepair, that is designed to take advantage of this insight. MWRepair searches for repairs to bugs in programs by identifying many neutral mutations, then combining them in large numbers. This offers the potential of fixing bugs that require modification in more than one location and of fixing bugs that require more complex changes.

There are also a set of secondary contributions of this dissertation. I evaluate the search space for program repair, characterizing the tolerance of a variety of programs across different complexity scales to increasing numbers of neutral mutations. I analyze theoretically and measure empirically the performance of three implementations of the Multiplicative Weights Update algorithm (used in MWRepair). I consider the impact of the age structure of software on the likelihood of productive changes. And I review the trajectory of APR as a field.

Details

1010268
Title
Biological Properties of Software Insights for Measuring and Manipulating Programs
Number of pages
218
Publication year
2025
Degree date
2025
School code
0010
Source
DAI-B 87/6(E), Dissertation Abstracts International
ISBN
9798265462671
Committee member
Weimer, Westley; Pavlic, Theodore; Daymude, Joshua
University/institution
Arizona State University
Department
Computer Science
University location
United States -- Arizona
Degree
Ph.D.
Source type
Dissertation or Thesis
Language
English
Document type
Dissertation/Thesis
Dissertation/thesis number
32286903
ProQuest document ID
3279178908
Document URL
https://www.proquest.com/dissertations-theses/biological-properties-software-insights-measuring/docview/3279178908/se-2?accountid=208611
Copyright
Database copyright ProQuest LLC; ProQuest does not claim copyright in the individual underlying works.
Database
2 databases
  • ProQuest One Academic
  • ProQuest One Academic