{"id":"https://openalex.org/W7166671554","doi":"https://doi.org/10.1145/3797133","title":"JavaScript Pointer Analysis with Adaptive Heap Abstraction","display_name":"JavaScript Pointer Analysis with Adaptive Heap Abstraction","publication_year":2026,"publication_date":"2026-06-30","ids":{"openalex":"https://openalex.org/W7166671554","doi":"https://doi.org/10.1145/3797133"},"language":"en","primary_location":{"id":"doi:10.1145/3797133","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3797133","pdf_url":null,"source":{"id":"https://openalex.org/S4404663975","display_name":"Proceedings of the ACM on software engineering.","issn_l":"2994-970X","issn":["2994-970X"],"is_oa":false,"is_in_doaj":false,"is_core":false,"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 Software Engineering","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://doi.org/10.1145/3797133","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","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":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.68860883,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"3","issue":"FSE","first_page":"832","last_page":"852"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.857200026512146,"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/T10126","display_name":"Logic, programming, and type systems","score":0.857200026512146,"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/T11424","display_name":"Security and Verification in Computing","score":0.05389999970793724,"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/T12479","display_name":"Web Application Security Vulnerabilities","score":0.0215000007301569,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/pointer-analysis","display_name":"Pointer analysis","score":0.7508000135421753},{"id":"https://openalex.org/keywords/heap","display_name":"Heap (data structure)","score":0.6662999987602234},{"id":"https://openalex.org/keywords/pointer","display_name":"Pointer (user interface)","score":0.5321999788284302},{"id":"https://openalex.org/keywords/merge","display_name":"Merge (version control)","score":0.5131999850273132},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.48030000925064087},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.46070000529289246},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.4302999973297119},{"id":"https://openalex.org/keywords/abstract-interpretation","display_name":"Abstract interpretation","score":0.37380000948905945}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8194000124931335},{"id":"https://openalex.org/C7263679","wikidata":"https://www.wikidata.org/wiki/Q5978076","display_name":"Pointer analysis","level":3,"score":0.7508000135421753},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.6662999987602234},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5770999789237976},{"id":"https://openalex.org/C150202949","wikidata":"https://www.wikidata.org/wiki/Q107602","display_name":"Pointer (user interface)","level":2,"score":0.5321999788284302},{"id":"https://openalex.org/C197129107","wikidata":"https://www.wikidata.org/wiki/Q1921621","display_name":"Merge (version control)","level":2,"score":0.5131999850273132},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.48030000925064087},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.46070000529289246},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.4302999973297119},{"id":"https://openalex.org/C2780654840","wikidata":"https://www.wikidata.org/wiki/Q333341","display_name":"Abstract interpretation","level":2,"score":0.37380000948905945},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3702000081539154},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.36970001459121704},{"id":"https://openalex.org/C158007255","wikidata":"https://www.wikidata.org/wiki/Q1055222","display_name":"Spectrum analyzer","level":2,"score":0.35040000081062317},{"id":"https://openalex.org/C98183937","wikidata":"https://www.wikidata.org/wiki/Q2112188","display_name":"Program analysis","level":2,"score":0.34950000047683716},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3467000126838684},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.34470000863075256},{"id":"https://openalex.org/C137287247","wikidata":"https://www.wikidata.org/wiki/Q1329550","display_name":"Static program analysis","level":4,"score":0.3255999982357025},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.31850001215934753},{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.3077999949455261},{"id":"https://openalex.org/C140086265","wikidata":"https://www.wikidata.org/wiki/Q11341754","display_name":"Merge algorithm","level":4,"score":0.29829999804496765},{"id":"https://openalex.org/C4924752","wikidata":"https://www.wikidata.org/wiki/Q184148","display_name":"Plug-in","level":2,"score":0.2896000146865845},{"id":"https://openalex.org/C88468194","wikidata":"https://www.wikidata.org/wiki/Q1172416","display_name":"Data-flow analysis","level":3,"score":0.2639999985694885}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3797133","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3797133","pdf_url":null,"source":{"id":"https://openalex.org/S4404663975","display_name":"Proceedings of the ACM on software engineering.","issn_l":"2994-970X","issn":["2994-970X"],"is_oa":false,"is_in_doaj":false,"is_core":false,"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 Software Engineering","raw_type":"journal-article"},{"id":"pmh:oai:pure.atira.dk:openaire/ab43b0cb-09f7-46a0-a659-eb1561800cab","is_oa":true,"landing_page_url":"https://pure.au.dk/portal/en/publications/ab43b0cb-09f7-46a0-a659-eb1561800cab","pdf_url":null,"source":null,"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Xu, W & M\u00f8ller, A 2026, 'JavaScript Pointer Analysis with Adaptive Heap Abstraction', Proceedings of the ACM on Software Engineering, vol. 3, no. FSE, FSE038, pp. 832 - 852. https://doi.org/10.1145/3797133","raw_type":"info:eu-repo/semantics/conferenceObject"}],"best_oa_location":{"id":"doi:10.1145/3797133","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3797133","pdf_url":null,"source":{"id":"https://openalex.org/S4404663975","display_name":"Proceedings of the ACM on software engineering.","issn_l":"2994-970X","issn":["2994-970X"],"is_oa":false,"is_in_doaj":false,"is_core":false,"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 Software Engineering","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":27,"referenced_works":["https://openalex.org/W148369031","https://openalex.org/W2013570118","https://openalex.org/W2043100293","https://openalex.org/W2051527230","https://openalex.org/W2065088439","https://openalex.org/W2096587139","https://openalex.org/W2111513472","https://openalex.org/W2117948828","https://openalex.org/W2131135493","https://openalex.org/W2145911832","https://openalex.org/W2511015845","https://openalex.org/W2626029330","https://openalex.org/W2748788934","https://openalex.org/W3180903877","https://openalex.org/W4206770190","https://openalex.org/W4235421007","https://openalex.org/W4242560758","https://openalex.org/W4243678660","https://openalex.org/W4247387602","https://openalex.org/W4248889516","https://openalex.org/W4250522981","https://openalex.org/W4251478049","https://openalex.org/W4361230065","https://openalex.org/W4385080345","https://openalex.org/W4399850773","https://openalex.org/W4399851459","https://openalex.org/W4399872366"],"related_works":[],"abstract_inverted_index":{"The":[0,70,105],"conventional":[1],"approach":[2],"to":[3,11,20,33,97],"represent":[4],"objects":[5,26,36],"in":[6,75],"static":[7],"program":[8,78],"analysis":[9,52,62,114],"is":[10],"use":[12],"allocation-site":[13],"abstraction.":[14],"This":[15],"design":[16],"choice":[17],"may":[18],"lead":[19],"redundant":[21],"computations":[22],"when":[23],"many":[24],"abstract":[25,57],"are":[27,37],"similar.":[28],"Existing":[29],"mechanisms":[30],"that":[31,50],"aim":[32],"merge":[34],"such":[35],"not":[38],"effective":[39],"for":[40,80],"JavaScript.":[41,81],"We":[42],"propose":[43],"a":[44,76,83,91,100],"novel":[45],"adaptive":[46],"heap":[47],"abstraction":[48],"technique":[49,71],"during":[51],"discovers":[53],"and":[54],"merges":[55],"similar":[56],"objects,":[58],"thereby":[59],"reducing":[60],"the":[61,68,110],"complexity":[63],"while":[64],"preserving":[65],"most":[66],"of":[67,85,103,112],"precision.":[69,104],"has":[72],"been":[73],"implemented":[74],"state-of-the-art":[77],"analyzer":[79],"On":[82],"collection":[84],"96":[86],"challenging":[87],"programs,":[88],"it":[89],"yields":[90],"2X":[92],"speedup":[93],"on":[94],"average":[95],"(up":[96],"17X)":[98],"with":[99],"negligible":[101],"loss":[102],"experimental":[106],"results":[107],"also":[108],"show":[109],"effects":[111],"various":[113],"configurations.":[115]},"counts_by_year":[],"updated_date":"2026-08-21T09:56:20.448147","created_date":"2026-07-01T00:00:00"}
