SHF: Small: Collaborative Research: Understanding and Evolving Search-based Software Improvement

Project: Research project

Description

Overview.
Techniques for automatically improving software have matured over the past decade, and industry has begun adopting the more successful approaches, especially for repairing software bugs. Despite these successes, current methods can repair only a fraction of presented bugs, most of which require at most one- or two- line changes to the code. The project will develop new algorithms for search-based software improvement and evaluate them in multiple problem domains: repairing software bugs, reducing energy consumption of programs, and improving graphics programs by optimizing accuracy/speed tradeoffs.

Keywords: software improvement; automated program repair; genetic improvement; search-based software engineering; evolutionary computation

Intellectual Merit.
All search algorithms face a tradeoff between exploration and exploitation, determining how much to continue refining current good solutions versus looking for even better solutions farther afield. Current search-based software improvement approaches overemphasize exploitation, limiting searches to regions within only an edit or two of the original program. The project will develop new algorithms and analyses for managing this tradeoff, which will help search-based methods find improvements faster and find solutions to more complex problems than what is possible with todays technology.

The proposed algorithm is a radical departure from existing work, because it does not use two traditional tools of search-based methodsselection and recombination. By focusing on exploration, and by increasing understanding of the search space, the project will complement work by other groups to improve mutation operators, fault localization, and fitness functions. Results will be quantitatively evaluated using three important software improvement domains: software repair, energy optimization, and optimizing speed/accuracy tradeoffs.

Broader Impacts.
ASU and UM are both Research Active Universities. ASU is committed to recruiting and educating students from underserved populations through low tuition, open admissions standards, and extensive outreach: measured not by whom it excludes, but by whom it includes and how they succeed. PI Forrests recent outreach efforts focused on the NM CS For All program, which has brought a hybrid on-line/in-class CS course to over 1,000 high school students across New Mexico, about 75% of whom are from underrepresented groups, primarily Native American and Hispanic. She is currently working with ASU to bring the NM CS For All course to Arizona. 100% of her 5-member research team at ASU are members of underrepresented groups, and she specializes in taking students who are either returning to school or entering CS from other disciplines. PI Weimer places an explicit focus on undergraduate research, for example, he has published six papers with undergraduates in the last five years alone. He also found funding and created an annual merit scholarship for undergraduate women interested in computing and communication. All source code developed as part of this project will be released under an open source license, and the datasets will be publicly available. Related to software improvement, the PIs will investigate the relationship between edits that help automated searches and edits made by novices and experts, including those assessed by independent medical imaging studies.
StatusActive
Effective start/end date10/1/199/30/22

Funding

  • National Science Foundation (NSF): $249,999.00

Fingerprint

Repair
Students
Medical imaging
Refining
Mathematical operators
Software engineering
Energy utilization
Communication
Industry