{"id":"https://openalex.org/W4399850773","doi":"https://doi.org/10.1145/3656424","title":"Reducing Static Analysis Unsoundness with Approximate Interpretation","display_name":"Reducing Static Analysis Unsoundness with Approximate Interpretation","publication_year":2024,"publication_date":"2024-06-20","ids":{"openalex":"https://openalex.org/W4399850773","doi":"https://doi.org/10.1145/3656424"},"language":"en","primary_location":{"id":"doi:10.1145/3656424","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3656424","pdf_url":null,"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://doi.org/10.1145/3656424","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5039408788","display_name":"Mathias Rud Laursen","orcid":"https://orcid.org/0009-0009-4858-9137"},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Mathias Rud Laursen","raw_affiliation_strings":["Aarhus University, Aarhus, Denmark"],"raw_orcid":"https://orcid.org/0009-0009-4858-9137","affiliations":[{"raw_affiliation_string":"Aarhus University, Aarhus, Denmark","institution_ids":["https://openalex.org/I204337017"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5099292212","display_name":"Wenyuan Xu","orcid":"https://orcid.org/0009-0002-4251-8361"},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Wenyuan Xu","raw_affiliation_strings":["Aarhus University, Aarhus, Denmark"],"raw_orcid":"https://orcid.org/0009-0002-4251-8361","affiliations":[{"raw_affiliation_string":"Aarhus University, Aarhus, Denmark","institution_ids":["https://openalex.org/I204337017"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5103189175","display_name":"Anders M\u00f8ller","orcid":"https://orcid.org/0000-0003-1333-2314"},"institutions":[{"id":"https://openalex.org/I204337017","display_name":"Aarhus University","ror":"https://ror.org/01aj84f44","country_code":"DK","type":"education","lineage":["https://openalex.org/I204337017"]}],"countries":["DK"],"is_corresponding":false,"raw_author_name":"Anders M\u00f8ller","raw_affiliation_strings":["Aarhus University, Aarhus, Denmark"],"raw_orcid":"https://orcid.org/0000-0003-1333-2314","affiliations":[{"raw_affiliation_string":"Aarhus University, Aarhus, Denmark","institution_ids":["https://openalex.org/I204337017"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I204337017"],"apc_list":null,"apc_paid":null,"fwci":1.8562,"has_fulltext":true,"cited_by_count":4,"citation_normalized_percentile":{"value":0.87083617,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":95,"max":98},"biblio":{"volume":"8","issue":"PLDI","first_page":"1165","last_page":"1188"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","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"}},"topics":[{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","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"}},{"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"}},{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9983000159263611,"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/javascript","display_name":"JavaScript","score":0.8935434818267822},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8590776920318604},{"id":"https://openalex.org/keywords/abstract-interpretation","display_name":"Abstract interpretation","score":0.7650903463363647},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.7270628809928894},{"id":"https://openalex.org/keywords/unobtrusive-javascript","display_name":"Unobtrusive JavaScript","score":0.6736964583396912},{"id":"https://openalex.org/keywords/call-graph","display_name":"Call graph","score":0.6529393196105957},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6385632753372192},{"id":"https://openalex.org/keywords/initialization","display_name":"Initialization","score":0.6173763275146484},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.6136257648468018},{"id":"https://openalex.org/keywords/property","display_name":"Property (philosophy)","score":0.532518208026886},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.44912174344062805},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.43748974800109863},{"id":"https://openalex.org/keywords/reduction","display_name":"Reduction (mathematics)","score":0.4279751777648926},{"id":"https://openalex.org/keywords/interpretation","display_name":"Interpretation (philosophy)","score":0.41896572709083557},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.11820375919342041},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.08688229322433472}],"concepts":[{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.8935434818267822},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8590776920318604},{"id":"https://openalex.org/C2780654840","wikidata":"https://www.wikidata.org/wiki/Q333341","display_name":"Abstract interpretation","level":2,"score":0.7650903463363647},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.7270628809928894},{"id":"https://openalex.org/C198240166","wikidata":"https://www.wikidata.org/wiki/Q2298909","display_name":"Unobtrusive JavaScript","level":4,"score":0.6736964583396912},{"id":"https://openalex.org/C102379954","wikidata":"https://www.wikidata.org/wiki/Q2589940","display_name":"Call graph","level":2,"score":0.6529393196105957},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6385632753372192},{"id":"https://openalex.org/C114466953","wikidata":"https://www.wikidata.org/wiki/Q6034165","display_name":"Initialization","level":2,"score":0.6173763275146484},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.6136257648468018},{"id":"https://openalex.org/C189950617","wikidata":"https://www.wikidata.org/wiki/Q937228","display_name":"Property (philosophy)","level":2,"score":0.532518208026886},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.44912174344062805},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.43748974800109863},{"id":"https://openalex.org/C111335779","wikidata":"https://www.wikidata.org/wiki/Q3454686","display_name":"Reduction (mathematics)","level":2,"score":0.4279751777648926},{"id":"https://openalex.org/C527412718","wikidata":"https://www.wikidata.org/wiki/Q855395","display_name":"Interpretation (philosophy)","level":2,"score":0.41896572709083557},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.11820375919342041},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.08688229322433472},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C103048170","wikidata":"https://www.wikidata.org/wiki/Q725485","display_name":"Rich Internet application","level":3,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3656424","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3656424","pdf_url":null,"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:pure.atira.dk:publications/69a224f0-6d74-49fd-bd2e-8e8c9bdc663e","is_oa":true,"landing_page_url":"https://pure.au.dk/portal/en/publications/69a224f0-6d74-49fd-bd2e-8e8c9bdc663e","pdf_url":"https://pure.au.dk/ws/files/451742422/3656424.pdf","source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Laursen, M R, Xu, W & M\u00f8ller, A 2024, 'Reducing Static Analysis Unsoundness with Approximate Interpretation', Proceedings of the ACM on Programming Languages , vol. 8, pp. 1165-1188. https://doi.org/10.1145/3656424","raw_type":"info:eu-repo/semantics/article"}],"best_oa_location":{"id":"doi:10.1145/3656424","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3656424","pdf_url":null,"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":[{"id":"https://metadata.un.org/sdg/4","score":0.44999998807907104,"display_name":"Quality Education"}],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":30,"referenced_works":["https://openalex.org/W100599422","https://openalex.org/W146848279","https://openalex.org/W148369031","https://openalex.org/W202191487","https://openalex.org/W1577719850","https://openalex.org/W1966862293","https://openalex.org/W1969808647","https://openalex.org/W2051527230","https://openalex.org/W2055931054","https://openalex.org/W2061640969","https://openalex.org/W2140021378","https://openalex.org/W2142194171","https://openalex.org/W2167363133","https://openalex.org/W2187762443","https://openalex.org/W2584011092","https://openalex.org/W2604507227","https://openalex.org/W2621980927","https://openalex.org/W2761428514","https://openalex.org/W2788565238","https://openalex.org/W2884704156","https://openalex.org/W2900295456","https://openalex.org/W2967904600","https://openalex.org/W3165028596","https://openalex.org/W3180903877","https://openalex.org/W4247387602","https://openalex.org/W4250522981","https://openalex.org/W4280570174","https://openalex.org/W4323891822","https://openalex.org/W4385080345","https://openalex.org/W6948863870"],"related_works":["https://openalex.org/W2020973245","https://openalex.org/W1508927144","https://openalex.org/W4232090216","https://openalex.org/W2968467529","https://openalex.org/W2966015578","https://openalex.org/W111020846","https://openalex.org/W2621181330","https://openalex.org/W3099266052","https://openalex.org/W1566603754","https://openalex.org/W3120011499"],"abstract_inverted_index":{"Static":[0],"program":[1],"analysis":[2,66,107,190],"for":[3,9,45],"JavaScript":[4,46,130,181],"is":[5,19,72,116,192],"more":[6,157,162,167],"difficult":[7],"than":[8],"many":[10],"other":[11],"programming":[12],"languages.":[13],"One":[14],"of":[15,22,111,121,150],"the":[16,20,102,112,122,136,148],"main":[17],"reasons":[18],"presence":[21],"dynamic":[23,65,84,184],"property":[24,35,85],"accesses":[25],"that":[26,71,90,115,135],"read":[27],"and":[28,40,58,76,98,124,132,171],"write":[29],"object":[30],"properties":[31],"via":[32],"dynamically":[33],"computed":[34],"names.":[36],"To":[37],"ensure":[38],"scalability":[39],"precision,":[41],"existing":[42],"state-of-the-art":[43],"analyses":[44],"mostly":[47],"ignore":[48],"these":[49],"operations":[50],"although":[51],"it":[52],"results":[53],"in":[54,87,92,105,142,204],"missed":[55],"call":[56,143,158,169,177,185],"edges":[57],"aliasing":[59],"relations.":[60],"We":[61],"present":[62],"a":[63,201],"novel":[64],"technique":[67,123],"named":[68],"approximate":[69,151],"interpretation":[70,152],"designed":[73],"to":[74,100,108,139,154,197],"efficiently":[75],"fully":[77],"automatically":[78],"infer":[79],"likely":[80],"determinate":[81],"facts":[82],"about":[83],"accesses,":[86],"particular":[88],"those":[89],"occur":[91],"complex":[93],"library":[94],"API":[95],"initialization":[96],"code,":[97],"how":[99],"use":[101,149],"produced":[103],"information":[104,114],"static":[106],"recover":[109],"much":[110],"abstract":[113],"otherwise":[117],"missed.":[118],"Our":[119],"implementation":[120],"experiments":[125],"on":[126],"141":[127],"real-world":[128],"Node.js-based":[129],"applications":[131],"libraries":[133],"show":[134],"approach":[137],"leads":[138,153],"significant":[140],"improvements":[141],"graph":[144],"construction.":[145],"On":[146],"average":[147,189],"55.1":[155],"%":[156,161,166,174,196,199],"edges,":[159],"21.8":[160],"reachable":[163],"functions,":[164],"17.7":[165],"resolved":[168],"sites,":[170],"only":[172],"1.5":[173],"fewer":[175],"monomorphic":[176],"sites.":[178],"For":[179],"36":[180],"projects":[182],"where":[183],"graphs":[186],"are":[187],"available,":[188],"recall":[191],"improved":[193],"from":[194],"75.9":[195],"88.1":[198],"with":[200],"negligible":[202],"reduction":[203],"precision.":[205]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":2}],"updated_date":"2026-08-22T07:34:49.880490","created_date":"2025-10-10T00:00:00"}
