Evolving Software: Combining Online Learning with Mutation-Based Stochastic Search

Joseph Renzullo, Westley Weimer, Stephanie Forrest

Research output: Contribution to journalArticlepeer-review

Abstract

Evolutionary algorithms and related mutation-based methods have been used in software engineering, with recent emphasis on the problem of repairing bugs. In this work, programs are typically not synthesized from a random start. Instead, existing solutions—which may be flawed or inefficient—are taken as starting points, with the evolutionary process searching for useful improvements. This approach, however, introduces a challenge for the search algorithm: what is the optimal number of neutral mutations that should be combined? Too much is likely to introduce errors and break the program while too little hampers the search process, inducing the classic tradeoff between exploration and exploitation. In the context of software improvement, this work considers MWRepair, an algorithm for enhancing mutation-based searches, which uses online learning to optimize the tradeoff between exploration and exploitation. The aggressiveness parameter governs how many individual mutations should be applied simultaneously to an individual between fitness evaluations. MWRepair is evaluated in the context of automated program repair problems, where the goal is repairing software bugs with minimal human involvement. The article analyzes the search space for automated program repair induced by neutral mutations, finding that the greatest probability of finding successful repairs often occurs when many neutral mutations are applied to the original program. Moreover, repair probability follows a characteristic, unimodal distribution. MWRepair uses online learning to leverage this property, finding both rare and multi-edit repairs to defects in the popular Defects4J benchmark set of buggy Java programs.

Original languageEnglish (US)
Article number13
JournalACM Transactions on Evolutionary Learning and Optimization
Volume3
Issue number4
DOIs
StatePublished - Dec 12 2023
Externally publishedYes

Keywords

  • automated program repair
  • multiplicative weights update
  • Neutral mutations
  • software mutational robustness

ASJC Scopus subject areas

  • Artificial Intelligence
  • Software
  • Computer Vision and Pattern Recognition
  • Computer Science (miscellaneous)
  • Computer Science Applications
  • Computational Theory and Mathematics

Fingerprint

Dive into the research topics of 'Evolving Software: Combining Online Learning with Mutation-Based Stochastic Search'. Together they form a unique fingerprint.

Cite this