Using Safety Properties to Generate Vulnerability Patches Article Swipe
YOU?
·
· 2019
· Open Access
·
· DOI: https://doi.org/10.1109/sp.2019.00071
Security vulnerabilities are among the most critical software defects in existence. When identified, programmers aim to produce patches that prevent the vulnerability as quickly as possible, motivating the need for automatic program repair (APR) methods to generate patches automatically. Unfortunately, most current APR methods fall short because they approximate the properties necessary to prevent the vulnerability using examples. Approximations result in patches that either do not fix the vulnerability comprehensively, or may even introduce new bugs. Instead, we propose property-based APR, which uses human-specified, program-independent and vulnerability-specific safety properties to derive source code patches for security vulnerabilities. Unlike properties that are approximated by observing the execution of test cases, such safety properties are precise and complete. The primary challenge lies in mapping such safety properties into source code patches that can be instantiated into an existing program. To address these challenges, we propose Senx, which, given a set of safety properties and a single input that triggers the vulnerability, detects the safety property violated by the vulnerability input and generates a corresponding patch that enforces the safety property and thus, removes the vulnerability. Senx solves several challenges with property-based APR: it identifies the program expressions and variables that must be evaluated to check safety properties and identifies the program scopes where they can be evaluated, it generates new code to selectively compute the values it needs if calling existing program code would cause unwanted side effects, and it uses a novel access range analysis technique to avoid placing patches inside loops where it could incur performance overhead. Our evaluation shows that the patches generated by Senx successfully fix 32 of 42 real-world vulnerabilities from 11 applications including various tools or libraries for manipulating graphics/media files, a programming language interpreter, a relational database engine, a collection of programming tools for creating and managing binary programs, and a collection of basic file, shell, and text manipulation tools.
Related Topics
- Type
- article
- Language
- en
- Landing Page
- https://doi.org/10.1109/sp.2019.00071
- https://ieeexplore.ieee.org/ielx7/8826229/8835208/08835226.pdf
- OA Status
- gold
- Cited By
- 63
- References
- 52
- Related Works
- 10
- OpenAlex ID
- https://openalex.org/W2974889942
Raw OpenAlex JSON
- OpenAlex ID
-
https://openalex.org/W2974889942Canonical identifier for this work in OpenAlex
- DOI
-
https://doi.org/10.1109/sp.2019.00071Digital Object Identifier
- Title
-
Using Safety Properties to Generate Vulnerability PatchesWork title
- Type
-
articleOpenAlex work type
- Language
-
enPrimary language
- Publication year
-
2019Year of publication
- Publication date
-
2019-05-01Full publication date if available
- Authors
-
Zhen Huang, David Lie, Gang Tan, Trent JaegerList of authors in order
- Landing page
-
https://doi.org/10.1109/sp.2019.00071Publisher landing page
- PDF URL
-
https://ieeexplore.ieee.org/ielx7/8826229/8835208/08835226.pdfDirect link to full text PDF
- Open access
-
YesWhether a free full text is available
- OA status
-
goldOpen access status per OpenAlex
- OA URL
-
https://ieeexplore.ieee.org/ielx7/8826229/8835208/08835226.pdfDirect OA link when available
- Concepts
-
Vulnerability (computing), Computer science, Property (philosophy), Code (set theory), Source code, Vulnerability assessment, Set (abstract data type), Range (aeronautics), Software, Static analysis, Computer security, Programming language, Engineering, Aerospace engineering, Psychology, Psychotherapist, Psychological resilience, Philosophy, EpistemologyTop concepts (fields/topics) attached by OpenAlex
- Cited by
-
63Total citation count in OpenAlex
- Citations by year (recent)
-
2025: 4, 2024: 16, 2023: 10, 2022: 16, 2021: 8Per-year citation counts (last 5 years)
- References (count)
-
52Number of works referenced by this work
- Related works (count)
-
10Other works algorithmically related by OpenAlex
Full payload
| id | https://openalex.org/W2974889942 |
|---|---|
| doi | https://doi.org/10.1109/sp.2019.00071 |
| ids.doi | https://doi.org/10.1109/sp.2019.00071 |
| ids.mag | 2974889942 |
| ids.openalex | https://openalex.org/W2974889942 |
| fwci | 4.91576786 |
| type | article |
| title | Using Safety Properties to Generate Vulnerability Patches |
| biblio.issue | |
| biblio.volume | |
| biblio.last_page | 554 |
| biblio.first_page | 539 |
| topics[0].id | https://openalex.org/T11424 |
| topics[0].field.id | https://openalex.org/fields/17 |
| topics[0].field.display_name | Computer Science |
| topics[0].score | 0.9997000098228455 |
| topics[0].domain.id | https://openalex.org/domains/3 |
| topics[0].domain.display_name | Physical Sciences |
| topics[0].subfield.id | https://openalex.org/subfields/1702 |
| topics[0].subfield.display_name | Artificial Intelligence |
| topics[0].display_name | Security and Verification in Computing |
| topics[1].id | https://openalex.org/T11241 |
| topics[1].field.id | https://openalex.org/fields/17 |
| topics[1].field.display_name | Computer Science |
| topics[1].score | 0.9976999759674072 |
| topics[1].domain.id | https://openalex.org/domains/3 |
| topics[1].domain.display_name | Physical Sciences |
| topics[1].subfield.id | https://openalex.org/subfields/1711 |
| topics[1].subfield.display_name | Signal Processing |
| topics[1].display_name | Advanced Malware Detection Techniques |
| topics[2].id | https://openalex.org/T12423 |
| topics[2].field.id | https://openalex.org/fields/17 |
| topics[2].field.display_name | Computer Science |
| topics[2].score | 0.9955000281333923 |
| 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 | Software Reliability and Analysis Research |
| is_xpac | False |
| apc_list | |
| apc_paid | |
| concepts[0].id | https://openalex.org/C95713431 |
| concepts[0].level | 2 |
| concepts[0].score | 0.8539843559265137 |
| concepts[0].wikidata | https://www.wikidata.org/wiki/Q631425 |
| concepts[0].display_name | Vulnerability (computing) |
| concepts[1].id | https://openalex.org/C41008148 |
| concepts[1].level | 0 |
| concepts[1].score | 0.768608570098877 |
| concepts[1].wikidata | https://www.wikidata.org/wiki/Q21198 |
| concepts[1].display_name | Computer science |
| concepts[2].id | https://openalex.org/C189950617 |
| concepts[2].level | 2 |
| concepts[2].score | 0.75383460521698 |
| concepts[2].wikidata | https://www.wikidata.org/wiki/Q937228 |
| concepts[2].display_name | Property (philosophy) |
| concepts[3].id | https://openalex.org/C2776760102 |
| concepts[3].level | 3 |
| concepts[3].score | 0.6359672546386719 |
| concepts[3].wikidata | https://www.wikidata.org/wiki/Q5139990 |
| concepts[3].display_name | Code (set theory) |
| concepts[4].id | https://openalex.org/C43126263 |
| concepts[4].level | 2 |
| concepts[4].score | 0.564626932144165 |
| concepts[4].wikidata | https://www.wikidata.org/wiki/Q128751 |
| concepts[4].display_name | Source code |
| concepts[5].id | https://openalex.org/C167063184 |
| concepts[5].level | 3 |
| concepts[5].score | 0.5524941682815552 |
| concepts[5].wikidata | https://www.wikidata.org/wiki/Q1400839 |
| concepts[5].display_name | Vulnerability assessment |
| concepts[6].id | https://openalex.org/C177264268 |
| concepts[6].level | 2 |
| concepts[6].score | 0.5255115032196045 |
| concepts[6].wikidata | https://www.wikidata.org/wiki/Q1514741 |
| concepts[6].display_name | Set (abstract data type) |
| concepts[7].id | https://openalex.org/C204323151 |
| concepts[7].level | 2 |
| concepts[7].score | 0.4622388184070587 |
| concepts[7].wikidata | https://www.wikidata.org/wiki/Q905424 |
| concepts[7].display_name | Range (aeronautics) |
| concepts[8].id | https://openalex.org/C2777904410 |
| concepts[8].level | 2 |
| concepts[8].score | 0.4505499005317688 |
| concepts[8].wikidata | https://www.wikidata.org/wiki/Q7397 |
| concepts[8].display_name | Software |
| concepts[9].id | https://openalex.org/C97686452 |
| concepts[9].level | 2 |
| concepts[9].score | 0.4417099356651306 |
| concepts[9].wikidata | https://www.wikidata.org/wiki/Q7604153 |
| concepts[9].display_name | Static analysis |
| concepts[10].id | https://openalex.org/C38652104 |
| concepts[10].level | 1 |
| concepts[10].score | 0.4363257884979248 |
| concepts[10].wikidata | https://www.wikidata.org/wiki/Q3510521 |
| concepts[10].display_name | Computer security |
| concepts[11].id | https://openalex.org/C199360897 |
| concepts[11].level | 1 |
| concepts[11].score | 0.21610233187675476 |
| concepts[11].wikidata | https://www.wikidata.org/wiki/Q9143 |
| concepts[11].display_name | Programming language |
| concepts[12].id | https://openalex.org/C127413603 |
| concepts[12].level | 0 |
| concepts[12].score | 0.10689717531204224 |
| concepts[12].wikidata | https://www.wikidata.org/wiki/Q11023 |
| concepts[12].display_name | Engineering |
| concepts[13].id | https://openalex.org/C146978453 |
| concepts[13].level | 1 |
| concepts[13].score | 0.0 |
| concepts[13].wikidata | https://www.wikidata.org/wiki/Q3798668 |
| concepts[13].display_name | Aerospace engineering |
| concepts[14].id | https://openalex.org/C15744967 |
| concepts[14].level | 0 |
| concepts[14].score | 0.0 |
| concepts[14].wikidata | https://www.wikidata.org/wiki/Q9418 |
| concepts[14].display_name | Psychology |
| concepts[15].id | https://openalex.org/C542102704 |
| concepts[15].level | 1 |
| concepts[15].score | 0.0 |
| concepts[15].wikidata | https://www.wikidata.org/wiki/Q183257 |
| concepts[15].display_name | Psychotherapist |
| concepts[16].id | https://openalex.org/C137176749 |
| concepts[16].level | 2 |
| concepts[16].score | 0.0 |
| concepts[16].wikidata | https://www.wikidata.org/wiki/Q4105337 |
| concepts[16].display_name | Psychological resilience |
| concepts[17].id | https://openalex.org/C138885662 |
| concepts[17].level | 0 |
| concepts[17].score | 0.0 |
| concepts[17].wikidata | https://www.wikidata.org/wiki/Q5891 |
| concepts[17].display_name | Philosophy |
| concepts[18].id | https://openalex.org/C111472728 |
| concepts[18].level | 1 |
| concepts[18].score | 0.0 |
| concepts[18].wikidata | https://www.wikidata.org/wiki/Q9471 |
| concepts[18].display_name | Epistemology |
| keywords[0].id | https://openalex.org/keywords/vulnerability |
| keywords[0].score | 0.8539843559265137 |
| keywords[0].display_name | Vulnerability (computing) |
| keywords[1].id | https://openalex.org/keywords/computer-science |
| keywords[1].score | 0.768608570098877 |
| keywords[1].display_name | Computer science |
| keywords[2].id | https://openalex.org/keywords/property |
| keywords[2].score | 0.75383460521698 |
| keywords[2].display_name | Property (philosophy) |
| keywords[3].id | https://openalex.org/keywords/code |
| keywords[3].score | 0.6359672546386719 |
| keywords[3].display_name | Code (set theory) |
| keywords[4].id | https://openalex.org/keywords/source-code |
| keywords[4].score | 0.564626932144165 |
| keywords[4].display_name | Source code |
| keywords[5].id | https://openalex.org/keywords/vulnerability-assessment |
| keywords[5].score | 0.5524941682815552 |
| keywords[5].display_name | Vulnerability assessment |
| keywords[6].id | https://openalex.org/keywords/set |
| keywords[6].score | 0.5255115032196045 |
| keywords[6].display_name | Set (abstract data type) |
| keywords[7].id | https://openalex.org/keywords/range |
| keywords[7].score | 0.4622388184070587 |
| keywords[7].display_name | Range (aeronautics) |
| keywords[8].id | https://openalex.org/keywords/software |
| keywords[8].score | 0.4505499005317688 |
| keywords[8].display_name | Software |
| keywords[9].id | https://openalex.org/keywords/static-analysis |
| keywords[9].score | 0.4417099356651306 |
| keywords[9].display_name | Static analysis |
| keywords[10].id | https://openalex.org/keywords/computer-security |
| keywords[10].score | 0.4363257884979248 |
| keywords[10].display_name | Computer security |
| keywords[11].id | https://openalex.org/keywords/programming-language |
| keywords[11].score | 0.21610233187675476 |
| keywords[11].display_name | Programming language |
| keywords[12].id | https://openalex.org/keywords/engineering |
| keywords[12].score | 0.10689717531204224 |
| keywords[12].display_name | Engineering |
| language | en |
| locations[0].id | doi:10.1109/sp.2019.00071 |
| locations[0].is_oa | True |
| locations[0].source | |
| locations[0].license | |
| locations[0].pdf_url | https://ieeexplore.ieee.org/ielx7/8826229/8835208/08835226.pdf |
| locations[0].version | publishedVersion |
| locations[0].raw_type | proceedings-article |
| locations[0].license_id | |
| locations[0].is_accepted | True |
| locations[0].is_published | True |
| locations[0].raw_source_name | 2019 IEEE Symposium on Security and Privacy (SP) |
| locations[0].landing_page_url | https://doi.org/10.1109/sp.2019.00071 |
| indexed_in | crossref |
| authorships[0].author.id | https://openalex.org/A5058422471 |
| authorships[0].author.orcid | https://orcid.org/0000-0002-7684-8388 |
| authorships[0].author.display_name | Zhen Huang |
| authorships[0].countries | CA |
| authorships[0].affiliations[0].institution_ids | https://openalex.org/I185261750 |
| authorships[0].affiliations[0].raw_affiliation_string | University of Toronto |
| authorships[0].institutions[0].id | https://openalex.org/I185261750 |
| authorships[0].institutions[0].ror | https://ror.org/03dbr7087 |
| authorships[0].institutions[0].type | education |
| authorships[0].institutions[0].lineage | https://openalex.org/I185261750 |
| authorships[0].institutions[0].country_code | CA |
| authorships[0].institutions[0].display_name | University of Toronto |
| authorships[0].author_position | first |
| authorships[0].raw_author_name | Zhen Huang |
| authorships[0].is_corresponding | False |
| authorships[0].raw_affiliation_strings | University of Toronto |
| authorships[1].author.id | https://openalex.org/A5049933072 |
| authorships[1].author.orcid | https://orcid.org/0000-0002-2000-6827 |
| authorships[1].author.display_name | David Lie |
| authorships[1].countries | CA |
| authorships[1].affiliations[0].institution_ids | https://openalex.org/I185261750 |
| authorships[1].affiliations[0].raw_affiliation_string | University of Toronto |
| authorships[1].institutions[0].id | https://openalex.org/I185261750 |
| authorships[1].institutions[0].ror | https://ror.org/03dbr7087 |
| authorships[1].institutions[0].type | education |
| authorships[1].institutions[0].lineage | https://openalex.org/I185261750 |
| authorships[1].institutions[0].country_code | CA |
| authorships[1].institutions[0].display_name | University of Toronto |
| authorships[1].author_position | middle |
| authorships[1].raw_author_name | David Lie |
| authorships[1].is_corresponding | False |
| authorships[1].raw_affiliation_strings | University of Toronto |
| authorships[2].author.id | https://openalex.org/A5010830558 |
| authorships[2].author.orcid | https://orcid.org/0000-0001-6109-6091 |
| authorships[2].author.display_name | Gang Tan |
| authorships[2].countries | US |
| authorships[2].affiliations[0].institution_ids | https://openalex.org/I130769515 |
| authorships[2].affiliations[0].raw_affiliation_string | Pennsylvania State University |
| authorships[2].institutions[0].id | https://openalex.org/I130769515 |
| authorships[2].institutions[0].ror | https://ror.org/04p491231 |
| authorships[2].institutions[0].type | education |
| authorships[2].institutions[0].lineage | https://openalex.org/I130769515 |
| authorships[2].institutions[0].country_code | US |
| authorships[2].institutions[0].display_name | Pennsylvania State University |
| authorships[2].author_position | middle |
| authorships[2].raw_author_name | Gang Tan |
| authorships[2].is_corresponding | False |
| authorships[2].raw_affiliation_strings | Pennsylvania State University |
| authorships[3].author.id | https://openalex.org/A5055045569 |
| authorships[3].author.orcid | https://orcid.org/0000-0002-4964-1170 |
| authorships[3].author.display_name | Trent Jaeger |
| authorships[3].countries | CA |
| authorships[3].affiliations[0].institution_ids | https://openalex.org/I185261750 |
| authorships[3].affiliations[0].raw_affiliation_string | University of Toronto |
| authorships[3].institutions[0].id | https://openalex.org/I185261750 |
| authorships[3].institutions[0].ror | https://ror.org/03dbr7087 |
| authorships[3].institutions[0].type | education |
| authorships[3].institutions[0].lineage | https://openalex.org/I185261750 |
| authorships[3].institutions[0].country_code | CA |
| authorships[3].institutions[0].display_name | University of Toronto |
| authorships[3].author_position | last |
| authorships[3].raw_author_name | Trent Jaeger |
| authorships[3].is_corresponding | False |
| authorships[3].raw_affiliation_strings | University of Toronto |
| has_content.pdf | True |
| has_content.grobid_xml | True |
| is_paratext | False |
| open_access.is_oa | True |
| open_access.oa_url | https://ieeexplore.ieee.org/ielx7/8826229/8835208/08835226.pdf |
| open_access.oa_status | gold |
| open_access.any_repository_has_fulltext | False |
| created_date | 2025-10-10T00:00:00 |
| display_name | Using Safety Properties to Generate Vulnerability Patches |
| has_fulltext | True |
| is_retracted | False |
| updated_date | 2025-11-06T03:46:38.306776 |
| primary_topic.id | https://openalex.org/T11424 |
| primary_topic.field.id | https://openalex.org/fields/17 |
| primary_topic.field.display_name | Computer Science |
| primary_topic.score | 0.9997000098228455 |
| primary_topic.domain.id | https://openalex.org/domains/3 |
| primary_topic.domain.display_name | Physical Sciences |
| primary_topic.subfield.id | https://openalex.org/subfields/1702 |
| primary_topic.subfield.display_name | Artificial Intelligence |
| primary_topic.display_name | Security and Verification in Computing |
| related_works | https://openalex.org/W1883246888, https://openalex.org/W2370114625, https://openalex.org/W1756374135, https://openalex.org/W2062873522, https://openalex.org/W2947584067, https://openalex.org/W2280562859, https://openalex.org/W230721595, https://openalex.org/W3157230915, https://openalex.org/W1496728123, https://openalex.org/W2789975780 |
| cited_by_count | 63 |
| counts_by_year[0].year | 2025 |
| counts_by_year[0].cited_by_count | 4 |
| counts_by_year[1].year | 2024 |
| counts_by_year[1].cited_by_count | 16 |
| counts_by_year[2].year | 2023 |
| counts_by_year[2].cited_by_count | 10 |
| counts_by_year[3].year | 2022 |
| counts_by_year[3].cited_by_count | 16 |
| counts_by_year[4].year | 2021 |
| counts_by_year[4].cited_by_count | 8 |
| counts_by_year[5].year | 2020 |
| counts_by_year[5].cited_by_count | 6 |
| counts_by_year[6].year | 2019 |
| counts_by_year[6].cited_by_count | 2 |
| counts_by_year[7].year | 2018 |
| counts_by_year[7].cited_by_count | 1 |
| locations_count | 1 |
| best_oa_location.id | doi:10.1109/sp.2019.00071 |
| best_oa_location.is_oa | True |
| best_oa_location.source | |
| best_oa_location.license | |
| best_oa_location.pdf_url | https://ieeexplore.ieee.org/ielx7/8826229/8835208/08835226.pdf |
| best_oa_location.version | publishedVersion |
| best_oa_location.raw_type | proceedings-article |
| best_oa_location.license_id | |
| best_oa_location.is_accepted | True |
| best_oa_location.is_published | True |
| best_oa_location.raw_source_name | 2019 IEEE Symposium on Security and Privacy (SP) |
| best_oa_location.landing_page_url | https://doi.org/10.1109/sp.2019.00071 |
| primary_location.id | doi:10.1109/sp.2019.00071 |
| primary_location.is_oa | True |
| primary_location.source | |
| primary_location.license | |
| primary_location.pdf_url | https://ieeexplore.ieee.org/ielx7/8826229/8835208/08835226.pdf |
| primary_location.version | publishedVersion |
| primary_location.raw_type | proceedings-article |
| primary_location.license_id | |
| primary_location.is_accepted | True |
| primary_location.is_published | True |
| primary_location.raw_source_name | 2019 IEEE Symposium on Security and Privacy (SP) |
| primary_location.landing_page_url | https://doi.org/10.1109/sp.2019.00071 |
| publication_date | 2019-05-01 |
| publication_year | 2019 |
| referenced_works | https://openalex.org/W2063387237, https://openalex.org/W2155851497, https://openalex.org/W2009248821, https://openalex.org/W2373227884, https://openalex.org/W2099866050, https://openalex.org/W4244452926, https://openalex.org/W1991155991, https://openalex.org/W2274071363, https://openalex.org/W4256377773, https://openalex.org/W4255632703, https://openalex.org/W2048229966, https://openalex.org/W2612529343, https://openalex.org/W2031508806, https://openalex.org/W4231241365, https://openalex.org/W2060333670, https://openalex.org/W3149282701, https://openalex.org/W6712621799, https://openalex.org/W6638487575, https://openalex.org/W6638559843, https://openalex.org/W2062340141, https://openalex.org/W2122947685, https://openalex.org/W1977696633, https://openalex.org/W2163762767, https://openalex.org/W4245410964, https://openalex.org/W2145385214, https://openalex.org/W2153881107, https://openalex.org/W6636991409, https://openalex.org/W2015083179, https://openalex.org/W6678369412, https://openalex.org/W1517790727, https://openalex.org/W2559798902, https://openalex.org/W2515891506, https://openalex.org/W2100583963, https://openalex.org/W6637688222, https://openalex.org/W2752669440, https://openalex.org/W2134320988, https://openalex.org/W2098010707, https://openalex.org/W2120455683, https://openalex.org/W4237256801, https://openalex.org/W2399284314, https://openalex.org/W1823377586, https://openalex.org/W2079029390, https://openalex.org/W3103647149, https://openalex.org/W1710734607, https://openalex.org/W1655226010, https://openalex.org/W2016027000, https://openalex.org/W2092889191, https://openalex.org/W2145124323, https://openalex.org/W2019730517, https://openalex.org/W1816718056, https://openalex.org/W2066421240, https://openalex.org/W2076719273 |
| referenced_works_count | 52 |
| abstract_inverted_index.a | 146, 152, 170, 239, 285, 289, 293, 305 |
| abstract_inverted_index.11 | 274 |
| abstract_inverted_index.32 | 268 |
| abstract_inverted_index.42 | 270 |
| abstract_inverted_index.To | 137 |
| abstract_inverted_index.an | 134 |
| abstract_inverted_index.as | 22, 24 |
| abstract_inverted_index.be | 131, 199, 213 |
| abstract_inverted_index.by | 102, 164, 264 |
| abstract_inverted_index.do | 64 |
| abstract_inverted_index.if | 226 |
| abstract_inverted_index.in | 9, 60, 120 |
| abstract_inverted_index.it | 190, 215, 224, 237, 252 |
| abstract_inverted_index.of | 106, 148, 269, 295, 307 |
| abstract_inverted_index.or | 70, 279 |
| abstract_inverted_index.to | 15, 35, 52, 89, 201, 219, 245 |
| abstract_inverted_index.we | 77, 141 |
| abstract_inverted_index.APR | 42 |
| abstract_inverted_index.Our | 257 |
| abstract_inverted_index.The | 116 |
| abstract_inverted_index.aim | 14 |
| abstract_inverted_index.and | 85, 114, 151, 168, 178, 195, 205, 236, 300, 304, 311 |
| abstract_inverted_index.are | 2, 100, 112 |
| abstract_inverted_index.can | 130, 212 |
| abstract_inverted_index.fix | 66, 267 |
| abstract_inverted_index.for | 29, 94, 281, 298 |
| abstract_inverted_index.may | 71 |
| abstract_inverted_index.new | 74, 217 |
| abstract_inverted_index.not | 65 |
| abstract_inverted_index.set | 147 |
| abstract_inverted_index.the | 4, 20, 27, 49, 54, 67, 104, 157, 160, 165, 175, 181, 192, 207, 222, 261 |
| abstract_inverted_index.APR, | 80 |
| abstract_inverted_index.APR: | 189 |
| abstract_inverted_index.Senx | 183, 265 |
| abstract_inverted_index.When | 11 |
| abstract_inverted_index.code | 92, 127, 218, 230 |
| abstract_inverted_index.even | 72 |
| abstract_inverted_index.fall | 44 |
| abstract_inverted_index.from | 273 |
| abstract_inverted_index.into | 125, 133 |
| abstract_inverted_index.lies | 119 |
| abstract_inverted_index.most | 5, 40 |
| abstract_inverted_index.must | 198 |
| abstract_inverted_index.need | 28 |
| abstract_inverted_index.side | 234 |
| abstract_inverted_index.such | 109, 122 |
| abstract_inverted_index.test | 107 |
| abstract_inverted_index.text | 312 |
| abstract_inverted_index.that | 18, 62, 99, 129, 155, 173, 197, 260 |
| abstract_inverted_index.they | 47, 211 |
| abstract_inverted_index.uses | 82, 238 |
| abstract_inverted_index.with | 187 |
| abstract_inverted_index.(APR) | 33 |
| abstract_inverted_index.Senx, | 143 |
| abstract_inverted_index.among | 3 |
| abstract_inverted_index.avoid | 246 |
| abstract_inverted_index.basic | 308 |
| abstract_inverted_index.bugs. | 75 |
| abstract_inverted_index.cause | 232 |
| abstract_inverted_index.check | 202 |
| abstract_inverted_index.could | 253 |
| abstract_inverted_index.file, | 309 |
| abstract_inverted_index.given | 145 |
| abstract_inverted_index.incur | 254 |
| abstract_inverted_index.input | 154, 167 |
| abstract_inverted_index.loops | 250 |
| abstract_inverted_index.needs | 225 |
| abstract_inverted_index.novel | 240 |
| abstract_inverted_index.patch | 172 |
| abstract_inverted_index.range | 242 |
| abstract_inverted_index.short | 45 |
| abstract_inverted_index.shows | 259 |
| abstract_inverted_index.these | 139 |
| abstract_inverted_index.thus, | 179 |
| abstract_inverted_index.tools | 278, 297 |
| abstract_inverted_index.using | 56 |
| abstract_inverted_index.where | 210, 251 |
| abstract_inverted_index.which | 81 |
| abstract_inverted_index.would | 231 |
| abstract_inverted_index.Unlike | 97 |
| abstract_inverted_index.access | 241 |
| abstract_inverted_index.binary | 302 |
| abstract_inverted_index.cases, | 108 |
| abstract_inverted_index.derive | 90 |
| abstract_inverted_index.either | 63 |
| abstract_inverted_index.files, | 284 |
| abstract_inverted_index.inside | 249 |
| abstract_inverted_index.repair | 32 |
| abstract_inverted_index.result | 59 |
| abstract_inverted_index.safety | 87, 110, 123, 149, 161, 176, 203 |
| abstract_inverted_index.scopes | 209 |
| abstract_inverted_index.shell, | 310 |
| abstract_inverted_index.single | 153 |
| abstract_inverted_index.solves | 184 |
| abstract_inverted_index.source | 91, 126 |
| abstract_inverted_index.tools. | 314 |
| abstract_inverted_index.values | 223 |
| abstract_inverted_index.which, | 144 |
| abstract_inverted_index.address | 138 |
| abstract_inverted_index.because | 46 |
| abstract_inverted_index.calling | 227 |
| abstract_inverted_index.compute | 221 |
| abstract_inverted_index.current | 41 |
| abstract_inverted_index.defects | 8 |
| abstract_inverted_index.detects | 159 |
| abstract_inverted_index.engine, | 292 |
| abstract_inverted_index.mapping | 121 |
| abstract_inverted_index.methods | 34, 43 |
| abstract_inverted_index.patches | 17, 37, 61, 93, 128, 248, 262 |
| abstract_inverted_index.placing | 247 |
| abstract_inverted_index.precise | 113 |
| abstract_inverted_index.prevent | 19, 53 |
| abstract_inverted_index.primary | 117 |
| abstract_inverted_index.produce | 16 |
| abstract_inverted_index.program | 31, 193, 208, 229 |
| abstract_inverted_index.propose | 78, 142 |
| abstract_inverted_index.quickly | 23 |
| abstract_inverted_index.removes | 180 |
| abstract_inverted_index.several | 185 |
| abstract_inverted_index.various | 277 |
| abstract_inverted_index.Instead, | 76 |
| abstract_inverted_index.Security | 0 |
| abstract_inverted_index.analysis | 243 |
| abstract_inverted_index.creating | 299 |
| abstract_inverted_index.critical | 6 |
| abstract_inverted_index.database | 291 |
| abstract_inverted_index.effects, | 235 |
| abstract_inverted_index.enforces | 174 |
| abstract_inverted_index.existing | 135, 228 |
| abstract_inverted_index.generate | 36 |
| abstract_inverted_index.language | 287 |
| abstract_inverted_index.managing | 301 |
| abstract_inverted_index.program. | 136 |
| abstract_inverted_index.property | 162, 177 |
| abstract_inverted_index.security | 95 |
| abstract_inverted_index.software | 7 |
| abstract_inverted_index.triggers | 156 |
| abstract_inverted_index.unwanted | 233 |
| abstract_inverted_index.violated | 163 |
| abstract_inverted_index.automatic | 30 |
| abstract_inverted_index.challenge | 118 |
| abstract_inverted_index.complete. | 115 |
| abstract_inverted_index.evaluated | 200 |
| abstract_inverted_index.examples. | 57 |
| abstract_inverted_index.execution | 105 |
| abstract_inverted_index.generated | 263 |
| abstract_inverted_index.generates | 169, 216 |
| abstract_inverted_index.including | 276 |
| abstract_inverted_index.introduce | 73 |
| abstract_inverted_index.libraries | 280 |
| abstract_inverted_index.necessary | 51 |
| abstract_inverted_index.observing | 103 |
| abstract_inverted_index.overhead. | 256 |
| abstract_inverted_index.possible, | 25 |
| abstract_inverted_index.programs, | 303 |
| abstract_inverted_index.technique | 244 |
| abstract_inverted_index.variables | 196 |
| abstract_inverted_index.challenges | 186 |
| abstract_inverted_index.collection | 294, 306 |
| abstract_inverted_index.evaluated, | 214 |
| abstract_inverted_index.evaluation | 258 |
| abstract_inverted_index.existence. | 10 |
| abstract_inverted_index.identifies | 191, 206 |
| abstract_inverted_index.motivating | 26 |
| abstract_inverted_index.properties | 50, 88, 98, 111, 124, 150, 204 |
| abstract_inverted_index.real-world | 271 |
| abstract_inverted_index.relational | 290 |
| abstract_inverted_index.approximate | 48 |
| abstract_inverted_index.challenges, | 140 |
| abstract_inverted_index.expressions | 194 |
| abstract_inverted_index.identified, | 12 |
| abstract_inverted_index.performance | 255 |
| abstract_inverted_index.programmers | 13 |
| abstract_inverted_index.programming | 286, 296 |
| abstract_inverted_index.selectively | 220 |
| abstract_inverted_index.applications | 275 |
| abstract_inverted_index.approximated | 101 |
| abstract_inverted_index.instantiated | 132 |
| abstract_inverted_index.interpreter, | 288 |
| abstract_inverted_index.manipulating | 282 |
| abstract_inverted_index.manipulation | 313 |
| abstract_inverted_index.successfully | 266 |
| abstract_inverted_index.corresponding | 171 |
| abstract_inverted_index.vulnerability | 21, 55, 68, 166 |
| abstract_inverted_index.Approximations | 58 |
| abstract_inverted_index.Unfortunately, | 39 |
| abstract_inverted_index.automatically. | 38 |
| abstract_inverted_index.graphics/media | 283 |
| abstract_inverted_index.property-based | 79, 188 |
| abstract_inverted_index.vulnerability, | 158 |
| abstract_inverted_index.vulnerability. | 182 |
| abstract_inverted_index.vulnerabilities | 1, 272 |
| abstract_inverted_index.comprehensively, | 69 |
| abstract_inverted_index.human-specified, | 83 |
| abstract_inverted_index.vulnerabilities. | 96 |
| abstract_inverted_index.program-independent | 84 |
| abstract_inverted_index.vulnerability-specific | 86 |
| cited_by_percentile_year.max | 100 |
| cited_by_percentile_year.min | 90 |
| countries_distinct_count | 2 |
| institutions_distinct_count | 4 |
| sustainable_development_goals[0].id | https://metadata.un.org/sdg/16 |
| sustainable_development_goals[0].score | 0.7599999904632568 |
| sustainable_development_goals[0].display_name | Peace, Justice and strong institutions |
| citation_normalized_percentile.value | 0.95791302 |
| citation_normalized_percentile.is_in_top_1_percent | False |
| citation_normalized_percentile.is_in_top_10_percent | True |