{"id":"https://openalex.org/W2900295456","doi":"https://doi.org/10.1145/3290356","title":"Concerto: a framework for combined concrete and abstract interpretation","display_name":"Concerto: a framework for combined concrete and abstract interpretation","publication_year":2019,"publication_date":"2019-01-02","ids":{"openalex":"https://openalex.org/W2900295456","doi":"https://doi.org/10.1145/3290356","mag":"2900295456"},"language":"en","primary_location":{"id":"doi:10.1145/3290356","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3290356","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3290356","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":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3290356","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5063351847","display_name":"John Toman","orcid":null},"institutions":[{"id":"https://openalex.org/I201448701","display_name":"University of Washington","ror":"https://ror.org/00cvxb145","country_code":"US","type":"education","lineage":["https://openalex.org/I201448701"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"John Toman","raw_affiliation_strings":["University of Washington, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Washington, USA","institution_ids":["https://openalex.org/I201448701"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5103045316","display_name":"Dan Grossman","orcid":null},"institutions":[{"id":"https://openalex.org/I201448701","display_name":"University of Washington","ror":"https://ror.org/00cvxb145","country_code":"US","type":"education","lineage":["https://openalex.org/I201448701"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Dan Grossman","raw_affiliation_strings":["University of Washington, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Washington, USA","institution_ids":["https://openalex.org/I201448701"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.0122,"has_fulltext":true,"cited_by_count":12,"citation_normalized_percentile":{"value":0.82078946,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":"3","issue":"POPL","first_page":"1","last_page":"29"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/T11424","display_name":"Security and Verification in Computing","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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.9994999766349792,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9990000128746033,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/metaprogramming","display_name":"Metaprogramming","score":0.8615442514419556},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8047624826431274},{"id":"https://openalex.org/keywords/interpretation","display_name":"Interpretation (philosophy)","score":0.6708624958992004},{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.6570333242416382},{"id":"https://openalex.org/keywords/abstract-interpretation","display_name":"Abstract interpretation","score":0.6539027690887451},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6232595443725586},{"id":"https://openalex.org/keywords/concerto","display_name":"Concerto","score":0.5280231833457947},{"id":"https://openalex.org/keywords/reflection","display_name":"Reflection (computer programming)","score":0.4947318732738495},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4863048493862152},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.4771120846271515},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.4626831114292145},{"id":"https://openalex.org/keywords/debugging","display_name":"Debugging","score":0.4142642021179199}],"concepts":[{"id":"https://openalex.org/C35390924","wikidata":"https://www.wikidata.org/wiki/Q661075","display_name":"Metaprogramming","level":2,"score":0.8615442514419556},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8047624826431274},{"id":"https://openalex.org/C527412718","wikidata":"https://www.wikidata.org/wiki/Q855395","display_name":"Interpretation (philosophy)","level":2,"score":0.6708624958992004},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.6570333242416382},{"id":"https://openalex.org/C2780654840","wikidata":"https://www.wikidata.org/wiki/Q333341","display_name":"Abstract interpretation","level":2,"score":0.6539027690887451},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6232595443725586},{"id":"https://openalex.org/C40462162","wikidata":"https://www.wikidata.org/wiki/Q9748","display_name":"Concerto","level":3,"score":0.5280231833457947},{"id":"https://openalex.org/C65682993","wikidata":"https://www.wikidata.org/wiki/Q1056451","display_name":"Reflection (computer programming)","level":2,"score":0.4947318732738495},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4863048493862152},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.4771120846271515},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.4626831114292145},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.4142642021179199},{"id":"https://openalex.org/C142362112","wikidata":"https://www.wikidata.org/wiki/Q735","display_name":"Art","level":0,"score":0.0},{"id":"https://openalex.org/C124086623","wikidata":"https://www.wikidata.org/wiki/Q5994","display_name":"Piano","level":2,"score":0.0},{"id":"https://openalex.org/C52119013","wikidata":"https://www.wikidata.org/wiki/Q50637","display_name":"Art history","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3290356","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3290356","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3290356","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"}],"best_oa_location":{"id":"doi:10.1145/3290356","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3290356","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3290356","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":[{"id":"https://openalex.org/G3785592558","display_name":null,"funder_award_id":"FA8750-16-2-0032","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G4713059963","display_name":null,"funder_award_id":"FA8750","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"},{"id":"https://openalex.org/G7949567501","display_name":null,"funder_award_id":"FA875016-2-0032.","funder_id":"https://openalex.org/F4320332180","funder_display_name":"Defense Advanced Research Projects Agency"}],"funders":[{"id":"https://openalex.org/F4320332180","display_name":"Defense Advanced Research Projects Agency","ror":"https://ror.org/02caytj08"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2900295456.pdf","grobid_xml":"https://content.openalex.org/works/W2900295456.grobid-xml"},"referenced_works_count":54,"referenced_works":["https://openalex.org/W2852225","https://openalex.org/W172408808","https://openalex.org/W1220998442","https://openalex.org/W1525502778","https://openalex.org/W1548806133","https://openalex.org/W1556604985","https://openalex.org/W1576072584","https://openalex.org/W1576449101","https://openalex.org/W1611084195","https://openalex.org/W1657354101","https://openalex.org/W1710734607","https://openalex.org/W1810163311","https://openalex.org/W1970005004","https://openalex.org/W1970572886","https://openalex.org/W1971327145","https://openalex.org/W1974608873","https://openalex.org/W2009489720","https://openalex.org/W2014764321","https://openalex.org/W2024442685","https://openalex.org/W2043100293","https://openalex.org/W2046213250","https://openalex.org/W2052307203","https://openalex.org/W2053152889","https://openalex.org/W2056740472","https://openalex.org/W2061640969","https://openalex.org/W2081810835","https://openalex.org/W2084875723","https://openalex.org/W2087403174","https://openalex.org/W2088126145","https://openalex.org/W2094873755","https://openalex.org/W2096449544","https://openalex.org/W2096908381","https://openalex.org/W2102440514","https://openalex.org/W2111487235","https://openalex.org/W2113159073","https://openalex.org/W2128835824","https://openalex.org/W2134732158","https://openalex.org/W2135389226","https://openalex.org/W2137530017","https://openalex.org/W2152225177","https://openalex.org/W2165304392","https://openalex.org/W2166743230","https://openalex.org/W2167363133","https://openalex.org/W2168895934","https://openalex.org/W2241404614","https://openalex.org/W2247217208","https://openalex.org/W2341286426","https://openalex.org/W2572804059","https://openalex.org/W2761428514","https://openalex.org/W2778933409","https://openalex.org/W3005412289","https://openalex.org/W4234542549","https://openalex.org/W4237492309","https://openalex.org/W4244700344"],"related_works":["https://openalex.org/W2563486383","https://openalex.org/W4389155306","https://openalex.org/W4388219271","https://openalex.org/W2618649199","https://openalex.org/W1492926046","https://openalex.org/W2080575293","https://openalex.org/W2977431667","https://openalex.org/W2799247498","https://openalex.org/W2229304983","https://openalex.org/W2299423576"],"abstract_inverted_index":{"Abstract":[0],"interpretation":[1,185,202,261],"promises":[2],"sound":[3],"but":[4,50],"computable":[5],"static":[6],"summarization":[7],"of":[8,26,39,42,53,69,82,137,178,208,246,249,254],"program":[9],"behavior.":[10],"However,":[11],"modern":[12],"software":[13],"engineering":[14],"practices":[15],"pose":[16],"significant":[17],"challenges":[18],"to":[19,158,183,186,219],"this":[20,155],"vision,":[21],"specifically":[22],"the":[23,67,80,86,91],"extensive":[24],"use":[25,33],"frameworks":[27,54],"and":[28,36,58,62,107,117,162,195,229,236,256,266],"complex":[29],"libraries.":[30],"Frameworks":[31],"heavily":[32],"reflection,":[34],"metaprogramming,":[35],"multiple":[37],"layers":[38],"abstraction,":[40],"all":[41],"which":[43,146],"confound":[44],"even":[45],"state-of-the-art":[46],"abstract":[47,108,121,184,201],"interpreters.":[48],"Sound":[49],"conservative":[51],"analysis":[52,151,193,264],"is":[55,64,125,147,191,216],"impractically":[56],"imprecise,":[57],"unsoundly":[59],"ignoring":[60],"reflection":[61,161],"metaprogramming":[63,164],"untenable":[65],"given":[66],"prevalence":[68],"these":[70],"features.":[71],"Manually":[72],"modeling":[73],"framework":[74,112,130,222],"behaviors":[75],"offers":[76],"excellent":[77],"precision,":[78],"at":[79,150],"cost":[81],"immense":[83],"effort":[84],"by":[85,103],"tool":[87],"designer.":[88],"To":[89],"overcome":[90],"above":[92],"difficulties,":[93],"we":[94,240],"present":[95],"Concerto,":[96],"a":[97,134,141,205,252],"system":[98],"for":[99,251],"analyzing":[100],"framework-based":[101],"applications":[102],"soundly":[104],"combining":[105],"concrete":[106,115,167],"interpretation.":[109,122],"Concerto":[110,153,181,190,215,250],"analyzes":[111],"implementations":[113,131],"using":[114,120],"interpretation,":[116],"application":[118,171,188],"code":[119,172],"This":[123],"technique":[124],"possible":[126],"in":[127],"practice":[128],"as":[129],"typically":[132],"follow":[133],"single":[135],"path":[136],"execution":[138],"when":[139],"provided":[140],"concrete,":[142],"application-specific":[143],"configuration":[144,156],"file":[145],"often":[148],"available":[149],"time.":[152],"exploits":[154],"information":[157],"precisely":[159],"resolve":[160],"other":[163],"idioms":[165],"during":[166],"execution.":[168],"In":[169,210,238],"contrast,":[170],"may":[173],"have":[174,225,241],"infinitely":[175],"many":[176],"paths":[177],"execution,":[179],"so":[180],"switches":[182],"analyze":[187],"code.":[189],"an":[192,243],"framework,":[194],"can":[196],"be":[197],"instantiated":[198],"with":[199],"any":[200,220],"that":[203,258],"satisfies":[204],"small":[206],"set":[207],"preconditions.":[209],"addition,":[211,239],"unlike":[212],"manual":[213],"modeling,":[214],"not":[217],"specialized":[218],"specific":[221],"implementation.":[223],"We":[224],"formalized":[226],"our":[227,259],"approach":[228],"proved":[230],"several":[231],"important":[232],"properties":[233],"including":[234],"soundness":[235],"termination.":[237],"implemented":[242],"initial":[244],"proof":[245],"concept":[247],"prototype":[248],"subset":[253],"Java,":[255],"found":[257],"combined":[260],"significantly":[262],"improves":[263],"precision":[265],"performance.":[267]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":1}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
