{"id":"https://openalex.org/W3090756599","doi":"https://doi.org/10.1145/3377811.3380343","title":"Tailoring programs for static analysis via program transformation","display_name":"Tailoring programs for static analysis via program transformation","publication_year":2020,"publication_date":"2020-06-27","ids":{"openalex":"https://openalex.org/W3090756599","doi":"https://doi.org/10.1145/3377811.3380343","mag":"3090756599"},"language":"en","primary_location":{"id":"doi:10.1145/3377811.3380343","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3377811.3380343","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3377811.3380343","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3377811.3380343","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5056334354","display_name":"Rijnard van Tonder","orcid":"https://orcid.org/0000-0002-2912-191X"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Rijnard van Tonder","raw_affiliation_strings":["Carnegie Mellon University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University","institution_ids":["https://openalex.org/I74973139"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5032356672","display_name":"Claire Le Goues","orcid":"https://orcid.org/0000-0002-3931-060X"},"institutions":[{"id":"https://openalex.org/I74973139","display_name":"Carnegie Mellon University","ror":"https://ror.org/05x2bcf33","country_code":"US","type":"education","lineage":["https://openalex.org/I74973139"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Claire Le Goues","raw_affiliation_strings":["Carnegie Mellon University"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Carnegie Mellon University","institution_ids":["https://openalex.org/I74973139"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.9619,"has_fulltext":true,"cited_by_count":6,"citation_normalized_percentile":{"value":0.77327747,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"824","last_page":"834"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":1.0,"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"}},"topics":[{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":1.0,"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/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/T12423","display_name":"Software Reliability and Analysis Research","score":0.9994000196456909,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8628672361373901},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.8083198070526123},{"id":"https://openalex.org/keywords/program-analysis","display_name":"Program analysis","score":0.6733511090278625},{"id":"https://openalex.org/keywords/spurious-relationship","display_name":"Spurious relationship","score":0.6576097011566162},{"id":"https://openalex.org/keywords/false-positive-paradox","display_name":"False positive paradox","score":0.6181235313415527},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6085847616195679},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.5938791036605835},{"id":"https://openalex.org/keywords/static-program-analysis","display_name":"Static program analysis","score":0.5161515474319458},{"id":"https://openalex.org/keywords/usability","display_name":"Usability","score":0.4781666398048401},{"id":"https://openalex.org/keywords/dynamic-program-analysis","display_name":"Dynamic program analysis","score":0.4662092626094818},{"id":"https://openalex.org/keywords/software-bug","display_name":"Software bug","score":0.43223750591278076},{"id":"https://openalex.org/keywords/spectrum-analyzer","display_name":"Spectrum analyzer","score":0.42451661825180054},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4244404137134552},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.2332962155342102},{"id":"https://openalex.org/keywords/human\u2013computer-interaction","display_name":"Human\u2013computer interaction","score":0.1698596477508545},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.1534181833267212},{"id":"https://openalex.org/keywords/machine-learning","display_name":"Machine learning","score":0.11374184489250183}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8628672361373901},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.8083198070526123},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.6733511090278625},{"id":"https://openalex.org/C97256817","wikidata":"https://www.wikidata.org/wiki/Q1462316","display_name":"Spurious relationship","level":2,"score":0.6576097011566162},{"id":"https://openalex.org/C64869954","wikidata":"https://www.wikidata.org/wiki/Q1859747","display_name":"False positive paradox","level":2,"score":0.6181235313415527},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6085847616195679},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.5938791036605835},{"id":"https://openalex.org/C137287247","wikidata":"https://www.wikidata.org/wiki/Q1329550","display_name":"Static program analysis","level":4,"score":0.5161515474319458},{"id":"https://openalex.org/C170130773","wikidata":"https://www.wikidata.org/wiki/Q216378","display_name":"Usability","level":2,"score":0.4781666398048401},{"id":"https://openalex.org/C140006998","wikidata":"https://www.wikidata.org/wiki/Q2499307","display_name":"Dynamic program analysis","level":3,"score":0.4662092626094818},{"id":"https://openalex.org/C1009929","wikidata":"https://www.wikidata.org/wiki/Q179550","display_name":"Software bug","level":3,"score":0.43223750591278076},{"id":"https://openalex.org/C158007255","wikidata":"https://www.wikidata.org/wiki/Q1055222","display_name":"Spectrum analyzer","level":2,"score":0.42451661825180054},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4244404137134552},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.2332962155342102},{"id":"https://openalex.org/C107457646","wikidata":"https://www.wikidata.org/wiki/Q207434","display_name":"Human\u2013computer interaction","level":1,"score":0.1698596477508545},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.1534181833267212},{"id":"https://openalex.org/C119857082","wikidata":"https://www.wikidata.org/wiki/Q2539","display_name":"Machine learning","level":1,"score":0.11374184489250183},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3377811.3380343","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3377811.3380343","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3377811.3380343","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3377811.3380343","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3377811.3380343","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3377811.3380343","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G479325200","display_name":"CAREER: Quality Matters: Dynamic, Static and Proactive Analyses for Automated Program Repair","funder_award_id":"1750116","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3090756599.pdf","grobid_xml":"https://content.openalex.org/works/W3090756599.grobid-xml"},"referenced_works_count":28,"referenced_works":["https://openalex.org/W190884830","https://openalex.org/W777621473","https://openalex.org/W1525451871","https://openalex.org/W1973468708","https://openalex.org/W1982227016","https://openalex.org/W2008609084","https://openalex.org/W2020841721","https://openalex.org/W2040739365","https://openalex.org/W2078393527","https://openalex.org/W2098456636","https://openalex.org/W2126594616","https://openalex.org/W2128469707","https://openalex.org/W2140021378","https://openalex.org/W2140341752","https://openalex.org/W2153185479","https://openalex.org/W2293616642","https://openalex.org/W2514084604","https://openalex.org/W2759550170","https://openalex.org/W2784876765","https://openalex.org/W2795192879","https://openalex.org/W2795338679","https://openalex.org/W2805913971","https://openalex.org/W2885899032","https://openalex.org/W2888230423","https://openalex.org/W2888997865","https://openalex.org/W2954990002","https://openalex.org/W2993781365","https://openalex.org/W3122058811"],"related_works":["https://openalex.org/W3111646971","https://openalex.org/W2104654077","https://openalex.org/W3120011499","https://openalex.org/W2514903476","https://openalex.org/W2354385412","https://openalex.org/W2895825088","https://openalex.org/W2891085887","https://openalex.org/W2125343911","https://openalex.org/W3364806","https://openalex.org/W2081659623"],"abstract_inverted_index":{"Static":[0],"analysis":[1,13,44,92,101,129,170,218],"is":[2,37,209],"a":[3,28,76,114,133,162,178],"proven":[4],"technique":[5,116,157],"for":[6,40,80,117,144,153,165],"catching":[7],"bugs":[8],"during":[9],"software":[10],"development.":[11],"However,":[12],"tooling":[14],"must":[15],"approximate,":[16],"both":[17],"theoretically":[18],"and":[19,35,42,74,107,120,194,214],"in":[20,211,217],"the":[21,88,154,167],"interest":[22],"of":[23,31,71,104,169],"practicality.":[24],"False":[25],"positives":[26],"are":[27,148],"pervading":[29],"manifestation":[30],"such":[32],"approximations---tool":[33],"configuration":[34],"customization":[36],"therefore":[38],"crucial":[39],"usability":[41],"directing":[43],"behavior.":[45],"To":[46],"suppress":[47,59,127],"false":[48],"positives,":[49],"developers":[50],"readily":[51],"disable":[52],"bug":[53,61],"checks":[54],"or":[55,82],"insert":[56],"comments":[57],"that":[58,66,90,124,147,206],"spurious":[60,128],"reports.":[62],"Existing":[63],"work":[64],"shows":[65],"these":[67],"mechanisms":[68],"fall":[69],"short":[70],"developer":[72],"needs":[73],"present":[75,113],"significant":[77],"pain":[78],"point":[79],"using":[81,183],"adopting":[83],"analyses.":[84],"We":[85,112,131,181,204],"draw":[86],"on":[87,196],"insight":[89],"an":[91],"user":[93],"always":[94],"has":[95],"one":[96],"notable":[97],"ability":[98],"to":[99,126,150,202],"influence":[100],"behavior":[102],"regardless":[103],"analyzer":[105,176],"options":[106],"implementation:":[108],"modifying":[109],"their":[110],"program.":[111],"new":[115],"automated,":[118],"generic,":[119],"temporary":[121],"code":[122,145],"changes":[123,143],"tailor":[125],"errors.":[130],"adopt":[132],"rule-based":[134],"approach":[135,208],"where":[136],"simple,":[137],"declarative":[138],"templates":[139],"describe":[140],"general":[141,163],"syntactic":[142],"patterns":[146],"known":[149],"be":[151],"problematic":[152],"analyzer.":[155],"Our":[156],"promotes":[158],"program":[159],"transformation":[160],"as":[161,177],"primitive":[164],"improving":[166],"fidelity":[168],"reports":[171],"(we":[172],"treat":[173],"any":[174],"given":[175],"black":[179],"box).":[180],"evaluate":[182],"five":[184],"different":[185,190],"static":[186],"analyzers":[187],"supporting":[188],"three":[189],"languages":[191],"(C,":[192],"Java,":[193],"PHP)":[195],"large,":[197],"real":[198],"world":[199],"programs":[200],"(up":[201],"800KLOC).":[203],"show":[205],"our":[207],"effective":[210],"sidestepping":[212],"long-standing":[213],"complex":[215],"issues":[216],"implementations.":[219]},"counts_by_year":[{"year":2025,"cited_by_count":3},{"year":2023,"cited_by_count":2},{"year":2021,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
