SELGPLJul 10, 2023

Can You Improve My Code? Optimizing Programs with Local Search

arXiv:2307.05603v11 citationsh-index: 43
Originality Incremental advance
AI Analysis

This addresses a problem for programmers by providing an incremental tool to enhance code performance in tasks with measurable objectives.

The paper tackles the problem of improving existing programs by introducing POLIS, a local search method that optimizes individual lines of code using brute-force synthesis, and it substantially improved programs in user studies on games like Lunar Lander and Highway.

This paper introduces a local search method for improving an existing program with respect to a measurable objective. Program Optimization with Locally Improving Search (POLIS) exploits the structure of a program, defined by its lines. POLIS improves a single line of the program while keeping the remaining lines fixed, using existing brute-force synthesis algorithms, and continues iterating until it is unable to improve the program's performance. POLIS was evaluated with a 27-person user study, where participants wrote programs attempting to maximize the score of two single-agent games: Lunar Lander and Highway. POLIS was able to substantially improve the participants' programs with respect to the game scores. A proof-of-concept demonstration on existing Stack Overflow code measures applicability in real-world problems. These results suggest that POLIS could be used as a helpful programming assistant for programming problems with measurable objectives.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes