{"id":"https://openalex.org/W2914161001","doi":"https://doi.org/10.1145/3360585","title":"Getafix: learning to fix bugs automatically","display_name":"Getafix: learning to fix bugs automatically","publication_year":2019,"publication_date":"2019-10-10","ids":{"openalex":"https://openalex.org/W2914161001","doi":"https://doi.org/10.1145/3360585","mag":"2914161001"},"language":"en","primary_location":{"id":"doi:10.1145/3360585","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3360585","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3360585","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["arxiv","crossref","datacite"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3360585","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5055598034","display_name":"Johannes Bader","orcid":"https://orcid.org/0000-0003-3129-3814"},"institutions":[{"id":"https://openalex.org/I2252078561","display_name":"Meta (Israel)","ror":"https://ror.org/02388em19","country_code":"IL","type":"company","lineage":["https://openalex.org/I2252078561","https://openalex.org/I4210114444"]},{"id":"https://openalex.org/I4210114444","display_name":"Meta (United States)","ror":"https://ror.org/01zbnvs85","country_code":"US","type":"company","lineage":["https://openalex.org/I4210114444"]}],"countries":["IL","US"],"is_corresponding":false,"raw_author_name":"Johannes Bader","raw_affiliation_strings":["Facebook, USA","Facebook"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Facebook, USA","institution_ids":["https://openalex.org/I4210114444"]},{"raw_affiliation_string":"Facebook","institution_ids":["https://openalex.org/I2252078561"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5013415938","display_name":"Andrew Scott","orcid":"https://orcid.org/0000-0002-6784-5652"},"institutions":[{"id":"https://openalex.org/I2252078561","display_name":"Meta (Israel)","ror":"https://ror.org/02388em19","country_code":"IL","type":"company","lineage":["https://openalex.org/I2252078561","https://openalex.org/I4210114444"]},{"id":"https://openalex.org/I4210114444","display_name":"Meta (United States)","ror":"https://ror.org/01zbnvs85","country_code":"US","type":"company","lineage":["https://openalex.org/I4210114444"]}],"countries":["IL","US"],"is_corresponding":false,"raw_author_name":"Andrew Scott","raw_affiliation_strings":["Facebook, USA","Facebook"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Facebook, USA","institution_ids":["https://openalex.org/I4210114444"]},{"raw_affiliation_string":"Facebook","institution_ids":["https://openalex.org/I2252078561"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5013438083","display_name":"Michael Pradel","orcid":"https://orcid.org/0000-0003-1623-498X"},"institutions":[{"id":"https://openalex.org/I4210114444","display_name":"Meta (United States)","ror":"https://ror.org/01zbnvs85","country_code":"US","type":"company","lineage":["https://openalex.org/I4210114444"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Michael Pradel","raw_affiliation_strings":["Facebook, USA","Facebook, USA#TAB#"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Facebook, USA","institution_ids":["https://openalex.org/I4210114444"]},{"raw_affiliation_string":"Facebook, USA#TAB#","institution_ids":["https://openalex.org/I4210114444"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5101965118","display_name":"Satish Chandra","orcid":"https://orcid.org/0000-0003-2546-9000"},"institutions":[{"id":"https://openalex.org/I2252078561","display_name":"Meta (Israel)","ror":"https://ror.org/02388em19","country_code":"IL","type":"company","lineage":["https://openalex.org/I2252078561","https://openalex.org/I4210114444"]},{"id":"https://openalex.org/I4210114444","display_name":"Meta (United States)","ror":"https://ror.org/01zbnvs85","country_code":"US","type":"company","lineage":["https://openalex.org/I4210114444"]}],"countries":["IL","US"],"is_corresponding":false,"raw_author_name":"Satish Chandra","raw_affiliation_strings":["Facebook, USA","Facebook"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Facebook, USA","institution_ids":["https://openalex.org/I4210114444"]},{"raw_affiliation_string":"Facebook","institution_ids":["https://openalex.org/I2252078561"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.6877,"has_fulltext":true,"cited_by_count":7,"citation_normalized_percentile":{"value":0.9208775,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":"3","issue":"OOPSLA","first_page":"1","last_page":"27"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9994000196456909,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8322451710700989},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.6522777676582336},{"id":"https://openalex.org/keywords/software-bug","display_name":"Software bug","score":0.6094381213188171},{"id":"https://openalex.org/keywords/debugging","display_name":"Debugging","score":0.5202411413192749},{"id":"https://openalex.org/keywords/task","display_name":"Task (project management)","score":0.5200000405311584},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.506344199180603},{"id":"https://openalex.org/keywords/ranking","display_name":"Ranking (information retrieval)","score":0.489999920129776},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4732765853404999},{"id":"https://openalex.org/keywords/hierarchy","display_name":"Hierarchy","score":0.4524279534816742},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.43353360891342163},{"id":"https://openalex.org/keywords/cluster-analysis","display_name":"Cluster analysis","score":0.4267083704471588},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.42071813344955444},{"id":"https://openalex.org/keywords/machine-learning","display_name":"Machine learning","score":0.39909741282463074},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.3511296212673187},{"id":"https://openalex.org/keywords/data-mining","display_name":"Data mining","score":0.3307914137840271},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.11135417222976685}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8322451710700989},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.6522777676582336},{"id":"https://openalex.org/C1009929","wikidata":"https://www.wikidata.org/wiki/Q179550","display_name":"Software bug","level":3,"score":0.6094381213188171},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.5202411413192749},{"id":"https://openalex.org/C2780451532","wikidata":"https://www.wikidata.org/wiki/Q759676","display_name":"Task (project management)","level":2,"score":0.5200000405311584},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.506344199180603},{"id":"https://openalex.org/C189430467","wikidata":"https://www.wikidata.org/wiki/Q7293293","display_name":"Ranking (information retrieval)","level":2,"score":0.489999920129776},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4732765853404999},{"id":"https://openalex.org/C31170391","wikidata":"https://www.wikidata.org/wiki/Q188619","display_name":"Hierarchy","level":2,"score":0.4524279534816742},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.43353360891342163},{"id":"https://openalex.org/C73555534","wikidata":"https://www.wikidata.org/wiki/Q622825","display_name":"Cluster analysis","level":2,"score":0.4267083704471588},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.42071813344955444},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.39909741282463074},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.3511296212673187},{"id":"https://openalex.org/C124101348","wikidata":"https://www.wikidata.org/wiki/Q172491","display_name":"Data mining","level":1,"score":0.3307914137840271},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.11135417222976685},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0},{"id":"https://openalex.org/C187736073","wikidata":"https://www.wikidata.org/wiki/Q2920921","display_name":"Management","level":1,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C34447519","wikidata":"https://www.wikidata.org/wiki/Q179522","display_name":"Market economy","level":1,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/3360585","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3360585","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3360585","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:arXiv.org:1902.06111","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1902.06111","pdf_url":"https://arxiv.org/pdf/1902.06111","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"text"},{"id":"mag:2914161001","is_oa":true,"landing_page_url":"https://arxiv.org/pdf/1902.06111.pdf","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"arXiv (Cornell University)","raw_type":null},{"id":"doi:10.48550/arxiv.1902.06111","is_oa":true,"landing_page_url":"https://doi.org/10.48550/arxiv.1902.06111","pdf_url":null,"source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":null,"raw_source_name":null,"raw_type":"Preprint"}],"best_oa_location":{"id":"doi:10.1145/3360585","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3360585","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3360585","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2914161001.pdf","grobid_xml":"https://content.openalex.org/works/W2914161001.grobid-xml"},"referenced_works_count":33,"referenced_works":["https://openalex.org/W655073358","https://openalex.org/W777621473","https://openalex.org/W2060610732","https://openalex.org/W2065489029","https://openalex.org/W2076719273","https://openalex.org/W2086464170","https://openalex.org/W2141979816","https://openalex.org/W2145373440","https://openalex.org/W2168156367","https://openalex.org/W2256600697","https://openalex.org/W2267625106","https://openalex.org/W2274071363","https://openalex.org/W2400994325","https://openalex.org/W2404969801","https://openalex.org/W2514084604","https://openalex.org/W2605202003","https://openalex.org/W2739564891","https://openalex.org/W2740130372","https://openalex.org/W2766875678","https://openalex.org/W2790321077","https://openalex.org/W2794443436","https://openalex.org/W2795030435","https://openalex.org/W2795607463","https://openalex.org/W2798812031","https://openalex.org/W2895953765","https://openalex.org/W2898951026","https://openalex.org/W2952829418","https://openalex.org/W2953998535","https://openalex.org/W2962809971","https://openalex.org/W2963364536","https://openalex.org/W2963935794","https://openalex.org/W2998011150","https://openalex.org/W3123680370"],"related_works":["https://openalex.org/W2065314038","https://openalex.org/W2808562127","https://openalex.org/W2777942094","https://openalex.org/W2121898351","https://openalex.org/W3170962973","https://openalex.org/W3095947980","https://openalex.org/W1993833135","https://openalex.org/W2399578172","https://openalex.org/W2060394544","https://openalex.org/W2130858451","https://openalex.org/W2905288168","https://openalex.org/W2033904333","https://openalex.org/W2898498885","https://openalex.org/W2514538448","https://openalex.org/W2046574031","https://openalex.org/W2087527532","https://openalex.org/W1581994774","https://openalex.org/W3184650663","https://openalex.org/W2560041978","https://openalex.org/W3189860654"],"abstract_inverted_index":{"Static":[0],"analyzers":[1,164],"help":[2],"find":[3],"bugs":[4,15,47],"early":[5],"by":[6,48,161,231],"warning":[7],"about":[8],"recurring":[9],"bug":[10,31,154,158,200],"categories.":[11],"While":[12],"fixing":[13,43],"these":[14],"still":[16],"remains":[17],"a":[18,29,91,101,115,124,135,145],"mostly":[19],"manual":[20],"task":[21],"in":[22,69,83],"practice,":[23],"we":[24,214],"observe":[25],"that":[26,58,96,130,249],"fixes":[27,61,68,155,206,256],"for":[28,144,156,165,207],"specific":[30,107],"category":[32],"often":[33],"are":[34],"repetitive.":[35],"This":[36],"paper":[37],"addresses":[38],"the":[39,73,84,132,140,183,187,195,199,210,218,226,236,243],"problem":[40],"of":[41,45,75,110,114,119,134,175,194,209,228,233,238],"automatically":[42],"instances":[44],"common":[46],"learning":[49],"from":[50,104,253],"past":[51],"fixes.":[52,260],"We":[53],"present":[54],"Getafix,":[55],"an":[56,111],"approach":[57,180,219],"produces":[59],"human-like":[60,259],"while":[62],"being":[63],"fast":[64],"enough":[65],"to":[66,72,78,106,138,152,225,257],"suggest":[67],"time":[70,76],"proportional":[71],"amount":[74],"needed":[77],"obtain":[79],"static":[80,163],"analysis":[81],"results":[82],"first":[85,244],"place.":[86],"Getafix":[87,122,151,241],"is":[88,242],"based":[89],"on":[90,198,216],"novel":[92],"hierarchical":[93],"clustering":[94],"algorithm":[95],"summarizes":[97],"fix":[98,143,185,251],"patterns":[99,252],"into":[100],"hierarchy":[102],"ranging":[103],"general":[105],"patterns.":[108],"Instead":[109],"expensive":[112],"exploration":[113],"potentially":[116],"large":[117],"space":[118],"candidate":[120],"fixes,":[121],"uses":[123,131],"simple":[125],"yet":[126],"effective":[127],"ranking":[128],"technique":[129],"context":[133],"code":[136],"change":[137],"select":[139],"most":[141],"appropriate":[142],"given":[146],"bug.":[147],"Our":[148],"evaluation":[149],"applies":[150],"1,268":[153,211],"six":[157],"categories":[159],"reported":[160],"popular":[162],"Java,":[166],"including":[167],"null":[168],"dereferences,":[169],"incorrect":[170],"API":[171],"calls,":[172],"and":[173,192],"misuses":[174],"particular":[176],"language":[177],"constructs.":[178],"The":[179,202],"predicts":[181],"exactly":[182],"human-written":[184,255],"as":[186],"top-most":[188],"suggestion":[189],"between":[190],"12%":[191],"91%":[193],"time,":[196],"depending":[197],"category.":[201],"top-5":[203],"suggestions":[204],"contain":[205],"526":[208],"bugs.":[212],"Moreover,":[213],"report":[215],"deploying":[217],"within":[220],"Facebook,":[221],"where":[222],"it":[223],"contributes":[224],"reliability":[227],"software":[229],"used":[230],"billions":[232],"people.":[234],"To":[235],"best":[237],"our":[239],"knowledge,":[240],"industrially-deployed":[245],"automated":[246],"bug-fixing":[247],"tool":[248],"learns":[250],"past,":[254],"produce":[258]},"counts_by_year":[{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":3}],"updated_date":"2026-07-15T18:14:33.161393","created_date":"2025-10-10T00:00:00"}
