Can You Improve My Code? Optimizing Programs with Local Search Article Swipe
YOU?
·
· 2023
· Open Access
·
· DOI: https://doi.org/10.48550/arxiv.2307.05603
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.
Related Topics
- Type
- preprint
- Language
- en
- Landing Page
- http://arxiv.org/abs/2307.05603
- https://arxiv.org/pdf/2307.05603
- OA Status
- green
- Cited By
- 1
- Related Works
- 10
- OpenAlex ID
- https://openalex.org/W4384261828
Raw OpenAlex JSON
- OpenAlex ID
-
https://openalex.org/W4384261828Canonical identifier for this work in OpenAlex
- DOI
-
https://doi.org/10.48550/arxiv.2307.05603Digital Object Identifier
- Title
-
Can You Improve My Code? Optimizing Programs with Local SearchWork title
- Type
-
preprintOpenAlex work type
- Language
-
enPrimary language
- Publication year
-
2023Year of publication
- Publication date
-
2023-07-10Full publication date if available
- Authors
-
Fatemeh Abdollahi, Saqib Ameen, Matthew E. Taylor, Levi H. S. LelisList of authors in order
- Landing page
-
https://arxiv.org/abs/2307.05603Publisher landing page
- PDF URL
-
https://arxiv.org/pdf/2307.05603Direct link to full text PDF
- Open access
-
YesWhether a free full text is available
- OA status
-
greenOpen access status per OpenAlex
- OA URL
-
https://arxiv.org/pdf/2307.05603Direct OA link when available
- Concepts
-
Code (set theory), Computer science, Exploit, Source lines of code, Line (geometry), Programming language, Computer security, Set (abstract data type), Mathematics, Software, GeometryTop concepts (fields/topics) attached by OpenAlex
- Cited by
-
1Total citation count in OpenAlex
- Citations by year (recent)
-
2025: 1Per-year citation counts (last 5 years)
- Related works (count)
-
10Other works algorithmically related by OpenAlex
Full payload
| id | https://openalex.org/W4384261828 |
|---|---|
| doi | https://doi.org/10.48550/arxiv.2307.05603 |
| ids.doi | https://doi.org/10.48550/arxiv.2307.05603 |
| ids.openalex | https://openalex.org/W4384261828 |
| fwci | |
| type | preprint |
| title | Can You Improve My Code? Optimizing Programs with Local Search |
| biblio.issue | |
| biblio.volume | |
| biblio.last_page | |
| biblio.first_page | |
| topics[0].id | https://openalex.org/T10731 |
| topics[0].field.id | https://openalex.org/fields/32 |
| topics[0].field.display_name | Psychology |
| topics[0].score | 0.9988999962806702 |
| topics[0].domain.id | https://openalex.org/domains/2 |
| topics[0].domain.display_name | Social Sciences |
| topics[0].subfield.id | https://openalex.org/subfields/3204 |
| topics[0].subfield.display_name | Developmental and Educational Psychology |
| topics[0].display_name | Educational Games and Gamification |
| topics[1].id | https://openalex.org/T11574 |
| topics[1].field.id | https://openalex.org/fields/17 |
| topics[1].field.display_name | Computer Science |
| topics[1].score | 0.9972000122070312 |
| topics[1].domain.id | https://openalex.org/domains/3 |
| topics[1].domain.display_name | Physical Sciences |
| topics[1].subfield.id | https://openalex.org/subfields/1702 |
| topics[1].subfield.display_name | Artificial Intelligence |
| topics[1].display_name | Artificial Intelligence in Games |
| topics[2].id | https://openalex.org/T13197 |
| topics[2].field.id | https://openalex.org/fields/17 |
| topics[2].field.display_name | Computer Science |
| topics[2].score | 0.9919999837875366 |
| topics[2].domain.id | https://openalex.org/domains/3 |
| topics[2].domain.display_name | Physical Sciences |
| topics[2].subfield.id | https://openalex.org/subfields/1712 |
| topics[2].subfield.display_name | Software |
| topics[2].display_name | Spreadsheets and End-User Computing |
| is_xpac | False |
| apc_list | |
| apc_paid | |
| concepts[0].id | https://openalex.org/C2776760102 |
| concepts[0].level | 3 |
| concepts[0].score | 0.7129777073860168 |
| concepts[0].wikidata | https://www.wikidata.org/wiki/Q5139990 |
| concepts[0].display_name | Code (set theory) |
| concepts[1].id | https://openalex.org/C41008148 |
| concepts[1].level | 0 |
| concepts[1].score | 0.6960277557373047 |
| concepts[1].wikidata | https://www.wikidata.org/wiki/Q21198 |
| concepts[1].display_name | Computer science |
| concepts[2].id | https://openalex.org/C165696696 |
| concepts[2].level | 2 |
| concepts[2].score | 0.5742480754852295 |
| concepts[2].wikidata | https://www.wikidata.org/wiki/Q11287 |
| concepts[2].display_name | Exploit |
| concepts[3].id | https://openalex.org/C199519371 |
| concepts[3].level | 3 |
| concepts[3].score | 0.4578936696052551 |
| concepts[3].wikidata | https://www.wikidata.org/wiki/Q942695 |
| concepts[3].display_name | Source lines of code |
| concepts[4].id | https://openalex.org/C198352243 |
| concepts[4].level | 2 |
| concepts[4].score | 0.4556763768196106 |
| concepts[4].wikidata | https://www.wikidata.org/wiki/Q37105 |
| concepts[4].display_name | Line (geometry) |
| concepts[5].id | https://openalex.org/C199360897 |
| concepts[5].level | 1 |
| concepts[5].score | 0.4026898145675659 |
| concepts[5].wikidata | https://www.wikidata.org/wiki/Q9143 |
| concepts[5].display_name | Programming language |
| concepts[6].id | https://openalex.org/C38652104 |
| concepts[6].level | 1 |
| concepts[6].score | 0.1922433078289032 |
| concepts[6].wikidata | https://www.wikidata.org/wiki/Q3510521 |
| concepts[6].display_name | Computer security |
| concepts[7].id | https://openalex.org/C177264268 |
| concepts[7].level | 2 |
| concepts[7].score | 0.14530235528945923 |
| concepts[7].wikidata | https://www.wikidata.org/wiki/Q1514741 |
| concepts[7].display_name | Set (abstract data type) |
| concepts[8].id | https://openalex.org/C33923547 |
| concepts[8].level | 0 |
| concepts[8].score | 0.11801409721374512 |
| concepts[8].wikidata | https://www.wikidata.org/wiki/Q395 |
| concepts[8].display_name | Mathematics |
| concepts[9].id | https://openalex.org/C2777904410 |
| concepts[9].level | 2 |
| concepts[9].score | 0.10380032658576965 |
| concepts[9].wikidata | https://www.wikidata.org/wiki/Q7397 |
| concepts[9].display_name | Software |
| concepts[10].id | https://openalex.org/C2524010 |
| concepts[10].level | 1 |
| concepts[10].score | 0.0 |
| concepts[10].wikidata | https://www.wikidata.org/wiki/Q8087 |
| concepts[10].display_name | Geometry |
| keywords[0].id | https://openalex.org/keywords/code |
| keywords[0].score | 0.7129777073860168 |
| keywords[0].display_name | Code (set theory) |
| keywords[1].id | https://openalex.org/keywords/computer-science |
| keywords[1].score | 0.6960277557373047 |
| keywords[1].display_name | Computer science |
| keywords[2].id | https://openalex.org/keywords/exploit |
| keywords[2].score | 0.5742480754852295 |
| keywords[2].display_name | Exploit |
| keywords[3].id | https://openalex.org/keywords/source-lines-of-code |
| keywords[3].score | 0.4578936696052551 |
| keywords[3].display_name | Source lines of code |
| keywords[4].id | https://openalex.org/keywords/line |
| keywords[4].score | 0.4556763768196106 |
| keywords[4].display_name | Line (geometry) |
| keywords[5].id | https://openalex.org/keywords/programming-language |
| keywords[5].score | 0.4026898145675659 |
| keywords[5].display_name | Programming language |
| keywords[6].id | https://openalex.org/keywords/computer-security |
| keywords[6].score | 0.1922433078289032 |
| keywords[6].display_name | Computer security |
| keywords[7].id | https://openalex.org/keywords/set |
| keywords[7].score | 0.14530235528945923 |
| keywords[7].display_name | Set (abstract data type) |
| keywords[8].id | https://openalex.org/keywords/mathematics |
| keywords[8].score | 0.11801409721374512 |
| keywords[8].display_name | Mathematics |
| keywords[9].id | https://openalex.org/keywords/software |
| keywords[9].score | 0.10380032658576965 |
| keywords[9].display_name | Software |
| language | en |
| locations[0].id | pmh:oai:arXiv.org:2307.05603 |
| locations[0].is_oa | True |
| locations[0].source.id | https://openalex.org/S4306400194 |
| locations[0].source.issn | |
| locations[0].source.type | repository |
| locations[0].source.is_oa | True |
| locations[0].source.issn_l | |
| locations[0].source.is_core | False |
| locations[0].source.is_in_doaj | False |
| locations[0].source.display_name | arXiv (Cornell University) |
| locations[0].source.host_organization | https://openalex.org/I205783295 |
| locations[0].source.host_organization_name | Cornell University |
| locations[0].source.host_organization_lineage | https://openalex.org/I205783295 |
| locations[0].license | |
| locations[0].pdf_url | https://arxiv.org/pdf/2307.05603 |
| locations[0].version | submittedVersion |
| locations[0].raw_type | text |
| locations[0].license_id | |
| locations[0].is_accepted | False |
| locations[0].is_published | False |
| locations[0].raw_source_name | |
| locations[0].landing_page_url | http://arxiv.org/abs/2307.05603 |
| locations[1].id | doi:10.48550/arxiv.2307.05603 |
| locations[1].is_oa | True |
| locations[1].source.id | https://openalex.org/S4306400194 |
| locations[1].source.issn | |
| locations[1].source.type | repository |
| locations[1].source.is_oa | True |
| locations[1].source.issn_l | |
| locations[1].source.is_core | False |
| locations[1].source.is_in_doaj | False |
| locations[1].source.display_name | arXiv (Cornell University) |
| locations[1].source.host_organization | https://openalex.org/I205783295 |
| locations[1].source.host_organization_name | Cornell University |
| locations[1].source.host_organization_lineage | https://openalex.org/I205783295 |
| locations[1].license | |
| locations[1].pdf_url | |
| locations[1].version | |
| locations[1].raw_type | article |
| locations[1].license_id | |
| locations[1].is_accepted | False |
| locations[1].is_published | |
| locations[1].raw_source_name | |
| locations[1].landing_page_url | https://doi.org/10.48550/arxiv.2307.05603 |
| indexed_in | arxiv, datacite |
| authorships[0].author.id | https://openalex.org/A5070172919 |
| authorships[0].author.orcid | https://orcid.org/0000-0002-3962-9207 |
| authorships[0].author.display_name | Fatemeh Abdollahi |
| authorships[0].author_position | first |
| authorships[0].raw_author_name | Abdollahi, Fatemeh |
| authorships[0].is_corresponding | False |
| authorships[1].author.id | https://openalex.org/A5104143302 |
| authorships[1].author.orcid | |
| authorships[1].author.display_name | Saqib Ameen |
| authorships[1].author_position | middle |
| authorships[1].raw_author_name | Ameen, Saqib |
| authorships[1].is_corresponding | False |
| authorships[2].author.id | https://openalex.org/A5070914351 |
| authorships[2].author.orcid | https://orcid.org/0000-0001-8946-0211 |
| authorships[2].author.display_name | Matthew E. Taylor |
| authorships[2].author_position | middle |
| authorships[2].raw_author_name | Taylor, Matthew E. |
| authorships[2].is_corresponding | False |
| authorships[3].author.id | https://openalex.org/A5012035228 |
| authorships[3].author.orcid | https://orcid.org/0000-0003-3560-9345 |
| authorships[3].author.display_name | Levi H. S. Lelis |
| authorships[3].author_position | last |
| authorships[3].raw_author_name | Lelis, Levi H. S. |
| authorships[3].is_corresponding | False |
| has_content.pdf | False |
| has_content.grobid_xml | False |
| is_paratext | False |
| open_access.is_oa | True |
| open_access.oa_url | https://arxiv.org/pdf/2307.05603 |
| open_access.oa_status | green |
| open_access.any_repository_has_fulltext | False |
| created_date | 2025-10-10T00:00:00 |
| display_name | Can You Improve My Code? Optimizing Programs with Local Search |
| has_fulltext | False |
| is_retracted | False |
| updated_date | 2025-11-06T06:51:31.235846 |
| primary_topic.id | https://openalex.org/T10731 |
| primary_topic.field.id | https://openalex.org/fields/32 |
| primary_topic.field.display_name | Psychology |
| primary_topic.score | 0.9988999962806702 |
| primary_topic.domain.id | https://openalex.org/domains/2 |
| primary_topic.domain.display_name | Social Sciences |
| primary_topic.subfield.id | https://openalex.org/subfields/3204 |
| primary_topic.subfield.display_name | Developmental and Educational Psychology |
| primary_topic.display_name | Educational Games and Gamification |
| related_works | https://openalex.org/W17155033, https://openalex.org/W3207760230, https://openalex.org/W1496222301, https://openalex.org/W1590307681, https://openalex.org/W2536018345, https://openalex.org/W4312763760, https://openalex.org/W4282830668, https://openalex.org/W2149635184, https://openalex.org/W2135968687, https://openalex.org/W3025557260 |
| cited_by_count | 1 |
| counts_by_year[0].year | 2025 |
| counts_by_year[0].cited_by_count | 1 |
| locations_count | 2 |
| best_oa_location.id | pmh:oai:arXiv.org:2307.05603 |
| best_oa_location.is_oa | True |
| best_oa_location.source.id | https://openalex.org/S4306400194 |
| best_oa_location.source.issn | |
| best_oa_location.source.type | repository |
| best_oa_location.source.is_oa | True |
| best_oa_location.source.issn_l | |
| best_oa_location.source.is_core | False |
| best_oa_location.source.is_in_doaj | False |
| best_oa_location.source.display_name | arXiv (Cornell University) |
| best_oa_location.source.host_organization | https://openalex.org/I205783295 |
| best_oa_location.source.host_organization_name | Cornell University |
| best_oa_location.source.host_organization_lineage | https://openalex.org/I205783295 |
| best_oa_location.license | |
| best_oa_location.pdf_url | https://arxiv.org/pdf/2307.05603 |
| best_oa_location.version | submittedVersion |
| best_oa_location.raw_type | text |
| best_oa_location.license_id | |
| best_oa_location.is_accepted | False |
| best_oa_location.is_published | False |
| best_oa_location.raw_source_name | |
| best_oa_location.landing_page_url | http://arxiv.org/abs/2307.05603 |
| primary_location.id | pmh:oai:arXiv.org:2307.05603 |
| primary_location.is_oa | True |
| primary_location.source.id | https://openalex.org/S4306400194 |
| primary_location.source.issn | |
| primary_location.source.type | repository |
| primary_location.source.is_oa | True |
| primary_location.source.issn_l | |
| primary_location.source.is_core | False |
| primary_location.source.is_in_doaj | False |
| primary_location.source.display_name | arXiv (Cornell University) |
| primary_location.source.host_organization | https://openalex.org/I205783295 |
| primary_location.source.host_organization_name | Cornell University |
| primary_location.source.host_organization_lineage | https://openalex.org/I205783295 |
| primary_location.license | |
| primary_location.pdf_url | https://arxiv.org/pdf/2307.05603 |
| primary_location.version | submittedVersion |
| primary_location.raw_type | text |
| primary_location.license_id | |
| primary_location.is_accepted | False |
| primary_location.is_published | False |
| primary_location.raw_source_name | |
| primary_location.landing_page_url | http://arxiv.org/abs/2307.05603 |
| publication_date | 2023-07-10 |
| publication_year | 2023 |
| referenced_works_count | 0 |
| abstract_inverted_index.A | 106 |
| abstract_inverted_index.a | 3, 15, 29, 37, 70, 128 |
| abstract_inverted_index.an | 9 |
| abstract_inverted_index.as | 127 |
| abstract_inverted_index.be | 125 |
| abstract_inverted_index.by | 32 |
| abstract_inverted_index.in | 116 |
| abstract_inverted_index.is | 59 |
| abstract_inverted_index.it | 58 |
| abstract_inverted_index.of | 28, 40, 83 |
| abstract_inverted_index.on | 109 |
| abstract_inverted_index.to | 14, 61, 79, 94, 102 |
| abstract_inverted_index.and | 54, 89 |
| abstract_inverted_index.for | 7, 132 |
| abstract_inverted_index.its | 33 |
| abstract_inverted_index.the | 26, 41, 45, 63, 81, 97, 103 |
| abstract_inverted_index.two | 84 |
| abstract_inverted_index.was | 67, 92 |
| abstract_inverted_index.This | 0 |
| abstract_inverted_index.able | 93 |
| abstract_inverted_index.code | 113 |
| abstract_inverted_index.game | 104 |
| abstract_inverted_index.line | 39 |
| abstract_inverted_index.that | 122 |
| abstract_inverted_index.used | 126 |
| abstract_inverted_index.user | 72 |
| abstract_inverted_index.with | 12, 20, 69, 100, 135 |
| abstract_inverted_index.Lunar | 87 |
| abstract_inverted_index.POLIS | 35, 66, 91, 123 |
| abstract_inverted_index.Stack | 111 |
| abstract_inverted_index.These | 119 |
| abstract_inverted_index.could | 124 |
| abstract_inverted_index.lines | 47 |
| abstract_inverted_index.local | 4 |
| abstract_inverted_index.paper | 1 |
| abstract_inverted_index.score | 82 |
| abstract_inverted_index.until | 57 |
| abstract_inverted_index.using | 49 |
| abstract_inverted_index.where | 74 |
| abstract_inverted_index.while | 43 |
| abstract_inverted_index.wrote | 76 |
| abstract_inverted_index.Lander | 88 |
| abstract_inverted_index.Search | 23 |
| abstract_inverted_index.fixed, | 48 |
| abstract_inverted_index.games: | 86 |
| abstract_inverted_index.lines. | 34 |
| abstract_inverted_index.method | 6 |
| abstract_inverted_index.search | 5 |
| abstract_inverted_index.single | 38 |
| abstract_inverted_index.study, | 73 |
| abstract_inverted_index.unable | 60 |
| abstract_inverted_index.(POLIS) | 24 |
| abstract_inverted_index.Locally | 21 |
| abstract_inverted_index.Program | 18 |
| abstract_inverted_index.defined | 31 |
| abstract_inverted_index.helpful | 129 |
| abstract_inverted_index.improve | 62, 96 |
| abstract_inverted_index.keeping | 44 |
| abstract_inverted_index.program | 11, 42 |
| abstract_inverted_index.respect | 13, 101 |
| abstract_inverted_index.results | 120 |
| abstract_inverted_index.scores. | 105 |
| abstract_inverted_index.suggest | 121 |
| abstract_inverted_index.Highway. | 90 |
| abstract_inverted_index.Overflow | 112 |
| abstract_inverted_index.existing | 10, 50, 110 |
| abstract_inverted_index.exploits | 25 |
| abstract_inverted_index.improves | 36 |
| abstract_inverted_index.maximize | 80 |
| abstract_inverted_index.measures | 114 |
| abstract_inverted_index.problems | 134 |
| abstract_inverted_index.program, | 30 |
| abstract_inverted_index.programs | 77, 99 |
| abstract_inverted_index.27-person | 71 |
| abstract_inverted_index.Improving | 22 |
| abstract_inverted_index.assistant | 131 |
| abstract_inverted_index.continues | 55 |
| abstract_inverted_index.evaluated | 68 |
| abstract_inverted_index.improving | 8 |
| abstract_inverted_index.iterating | 56 |
| abstract_inverted_index.problems. | 118 |
| abstract_inverted_index.program's | 64 |
| abstract_inverted_index.remaining | 46 |
| abstract_inverted_index.structure | 27 |
| abstract_inverted_index.synthesis | 52 |
| abstract_inverted_index.attempting | 78 |
| abstract_inverted_index.introduces | 2 |
| abstract_inverted_index.measurable | 16, 136 |
| abstract_inverted_index.objective. | 17 |
| abstract_inverted_index.real-world | 117 |
| abstract_inverted_index.algorithms, | 53 |
| abstract_inverted_index.brute-force | 51 |
| abstract_inverted_index.objectives. | 137 |
| abstract_inverted_index.programming | 130, 133 |
| abstract_inverted_index.Optimization | 19 |
| abstract_inverted_index.participants | 75 |
| abstract_inverted_index.performance. | 65 |
| abstract_inverted_index.single-agent | 85 |
| abstract_inverted_index.applicability | 115 |
| abstract_inverted_index.demonstration | 108 |
| abstract_inverted_index.participants' | 98 |
| abstract_inverted_index.substantially | 95 |
| abstract_inverted_index.proof-of-concept | 107 |
| cited_by_percentile_year | |
| countries_distinct_count | 0 |
| institutions_distinct_count | 4 |
| citation_normalized_percentile |