{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,16]],"date-time":"2026-07-16T11:07:12Z","timestamp":1784200032878,"version":"3.55.0"},"reference-count":46,"publisher":"Association for Computing Machinery (ACM)","issue":"OOPSLA2","funder":[{"DOI":"10.13039\/501100001809","name":"National Natural Science Foundation of China","doi-asserted-by":"publisher","award":["62372227,62402213"],"award-info":[{"award-number":["62372227,62402213"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2025,10,9]]},"abstract":"<jats:p>Context sensitivity is a foundational technique in pointer analysis, critical and essential for improving precision but often incurring significant efficiency costs. Recent advances focus on selective context-sensitive analysis, where only a subset of program elements, such as methods or heap objects, are analyzed under context sensitivity while the rest are analyzed under context insensitivity, aiming to balance precision with efficiency. However, despite the proliferation of such approaches, existing methods are typically driven by specific code patterns, therefore lacking a comprehensive theoretical foundation for systematically identifying code scenarios that benefit from context sensitivity.<\/jats:p>\n                  <jats:p>\n                    This paper presents a novel and foundational theory that establishes a sound over-approximation of the ground truth, i.e., objects that really improve precision under context sensitivity. The proposed theory reformulates the identification of this upper bound into graph reachability problems over a typical\n                    <jats:italic toggle=\"yes\">Pointer Flow Graph<\/jats:italic>\n                    (PFG), each of which can be efficiently solved under context insensitivity, respectively. Building on this theoretical foundation, we introduce our selective context-sensitive analysis approach,\n                    <jats:sc>Moon<\/jats:sc>\n                    .\n                    <jats:sc>Moon<\/jats:sc>\n                    performs both backward and forward traversal on a\n                    <jats:italic toggle=\"yes\">Variable Flow Graph<\/jats:italic>\n                    (VFG), an optimized variant of PFG designed to facilitate efficient traversal. This traversal systematically identifies all objects that improve precision under context sensitivity. Our theoretical foundation, along with carefully designed trade-offs within our approach, allows\n                    <jats:sc>Moon<\/jats:sc>\n                    to limit the scope of objects to be selected, leading to an effective balance between its analysis precision and efficiency. Extensive experiments with\n                    <jats:sc>Moon<\/jats:sc>\n                    across 30 Java programs demonstrate that\n                    <jats:sc>Moon<\/jats:sc>\n                    achieves 37.2 X and 382.0 X speedups for 2-object-sensitive and 3-object-sensitive analyses, respectively with negligible precision losses of only 0.1% and 0.2%. These results highlight that the balance between efficiency and precision achieved by\n                    <jats:sc>Moon<\/jats:sc>\n                    significantly outperforms all previous approaches.\n                  <\/jats:p>","DOI":"10.1145\/3763111","type":"journal-article","created":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T08:49:50Z","timestamp":1759999790000},"page":"1698-1725","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Towards a Theoretically-Backed and Practical Framework for Selective Object-Sensitive Pointer Analysis"],"prefix":"10.1145","volume":"9","author":[{"ORCID":"https:\/\/orcid.org\/0009-0002-8616-6353","authenticated-orcid":false,"given":"Chaoyue","family":"Zhang","sequence":"first","affiliation":[{"name":"Nanjing University, Nanjing, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1111-7859","authenticated-orcid":false,"given":"Longlong","family":"Lu","sequence":"additional","affiliation":[{"name":"Nanjing University, Nanjing, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4758-3285","authenticated-orcid":false,"given":"Yifei","family":"Lu","sequence":"additional","affiliation":[{"name":"Nanjing University, Nanjing, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-4011-5350","authenticated-orcid":false,"given":"Minxue","family":"Pan","sequence":"additional","affiliation":[{"name":"Nanjing University, Nanjing, China"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-3090-9568","authenticated-orcid":false,"given":"Xuandong","family":"Li","sequence":"additional","affiliation":[{"name":"Nanjing University, Nanjing, China"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2025,10,9]]},"reference":[{"key":"e_1_3_1_2_2","doi-asserted-by":"publisher","unstructured":"Stephen M Blackburn Zixian Cai Rui Chen Xi Yang John Zhang and John Zigman. 2025. Rethinking Java Performance Analysis. In Proceedings of the 30th ACM International Conference on Architectural Support for Programming Languages and Operating Systems Volume 1 ASPLOS 2025 Rotterdam Netherlands 30 March 2025-3 April 2025. ACM. doi:10.1145\/3669940.3707217","DOI":"10.1145\/3669940.3707217"},{"key":"e_1_3_1_3_2","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167488"},{"key":"e_1_3_1_4_2","doi-asserted-by":"publisher","DOI":"10.1145\/3540250.3549110"},{"key":"e_1_3_1_5_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-31057-7_29"},{"key":"e_1_3_1_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/1348250.1348255"},{"key":"e_1_3_1_7_2","doi-asserted-by":"publisher","DOI":"10.1145\/3088515.3088519"},{"key":"e_1_3_1_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/3622832"},{"key":"e_1_3_1_9_2","doi-asserted-by":"publisher","unstructured":"Dongjie He Jingbo Lu and Jingling Xue. 2021. Context Debloating for Object-Sensitive Pointer Analysis. In 2021 36th IEEE\/ACM International Conference on Automated Software Engineering (ASE). 79\u201391. doi:10.1109\/ASE51524.2021.9678880","DOI":"10.1109\/ASE51524.2021.9678880"},{"key":"e_1_3_1_10_2","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2022.30"},{"key":"e_1_3_1_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/2771783.2771803"},{"key":"e_1_3_1_12_2","doi-asserted-by":"publisher","unstructured":"Minseok Jeon Sehun Jeong Sungdeok Cha and Hakjoo Oh. 2019. A Machine-Learning Algorithm with Disjunctive Model for Data-Driven Program Analysis. 41 2 Article 13 (June 2019) 41 pages. doi:10.1145\/3293607","DOI":"10.1145\/3293607"},{"key":"e_1_3_1_13_2","doi-asserted-by":"publisher","unstructured":"Minseok Jeon Sehun Jeong and Hakjoo Oh. 2018. Precise and scalable points-to analysis via data-driven context tunneling. Proc. ACM Program. Lang. 2 OOPSLA Article 140 (Oct. 2018) 29 pages. doi:10.1145\/3276510","DOI":"10.1145\/3276510"},{"key":"e_1_3_1_14_2","doi-asserted-by":"publisher","unstructured":"Minseok Jeon Myungho Lee and Hakjoo Oh. 2020. Learning graph-based heuristics for pointer analysis without handcrafting application-specific features. Proc. ACM Program. Lang. 4 OOPSLA Article 179 (Nov. 2020) 30 pages. doi:10.1145\/3428247","DOI":"10.1145\/3428247"},{"key":"e_1_3_1_15_2","doi-asserted-by":"publisher","unstructured":"Minseok Jeon and Hakjoo Oh. 2022. Return of CFA: call-site sensitivity can be superior to object sensitivity even for object-oriented programs. Proc. ACM Program. Lang. 6 POPL Article 58 (Jan. 2022) 29 pages. doi:10.1145\/3498720","DOI":"10.1145\/3498720"},{"key":"e_1_3_1_16_2","doi-asserted-by":"publisher","unstructured":"Sehun Jeong Minseok Jeon Sungdeok Cha and Hakjoo Oh. 2017. Data-driven context-sensitivity for points-to analysis. Proc. ACM Program. Lang. 1 OOPSLA Article 100 (oct 2017) 28 pages. doi:10.1145\/3133924","DOI":"10.1145\/3133924"},{"key":"e_1_3_1_17_2","doi-asserted-by":"publisher","unstructured":"Vini Kanvar and Uday P. Khedker. 2016. Heap Abstractions for Static Analysis. ACM Comput. Surv. 49 2 Article 29 (June 2016) 47 pages. doi:10.1145\/2931098","DOI":"10.1145\/2931098"},{"key":"e_1_3_1_18_2","doi-asserted-by":"publisher","unstructured":"George Kastrinis and Yannis Smaragdakis. 2013. Hybrid context-sensitivity for points-to analysis. In Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation (Seattle Washington USA) (PLDI '13). Association for Computing Machinery New York NY USA 423\u2013434. doi:10.1145\/2491956.2462191","DOI":"10.1145\/2491956.2462191"},{"key":"e_1_3_1_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462191"},{"key":"e_1_3_1_20_2","doi-asserted-by":"publisher","unstructured":"Yue Li Tian Tan Anders M\u00f8ller and Yannis Smaragdakis. 2018. Precision-guided context sensitivity for pointer analysis. Proc. ACM Program. Lang. 2 OOPSLA Article 141 (Oct. 2018) 29 pages. doi:10.1145\/3276511","DOI":"10.1145\/3276511"},{"key":"e_1_3_1_21_2","doi-asserted-by":"publisher","unstructured":"Yue Li Tian Tan Anders M\u00f8ller and Yannis Smaragdakis. 2018. Scalability-first pointer analysis with self-tuning context-sensitivity (ESEC\/FSE 2018). Association for Computing Machinery New York NY USA 129\u2013140. doi:10.1145\/3236024.3236041","DOI":"10.1145\/3236024.3236041"},{"key":"e_1_3_1_22_2","doi-asserted-by":"publisher","DOI":"10.1145\/3381915"},{"key":"e_1_3_1_23_2","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2016.15"},{"key":"e_1_3_1_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/3492428"},{"key":"e_1_3_1_25_2","doi-asserted-by":"publisher","unstructured":"Jingbo Lu and Jingling Xue. 2019. Precision-preserving yet fast object-sensitive pointer analysis with partial context sensitivity. Proc. ACM Program. Lang. 3 OOPSLA Article 148 (Oct. 2019) 29 pages. doi:10.1145\/3360574","DOI":"10.1145\/3360574"},{"key":"e_1_3_1_26_2","doi-asserted-by":"publisher","unstructured":"Wenjie Ma Shengyuan Yang Tian Tan Xiaoxing Ma Chang Xu and Yue Li. 2023. Context Sensitivity without Contexts: A Cut-Shortcut Approach to Fast and Precise Pointer Analysis. Proc. ACM Program. Lang. 7 PLDI Article 128 (jun 2023) 26 pages. doi:10.1145\/3591242","DOI":"10.1145\/3591242"},{"key":"e_1_3_1_27_2","doi-asserted-by":"publisher","DOI":"10.1145\/566171.566174"},{"key":"e_1_3_1_28_2","doi-asserted-by":"publisher","DOI":"10.1145\/1044834.1044835"},{"key":"e_1_3_1_29_2","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134018"},{"key":"e_1_3_1_30_2","doi-asserted-by":"publisher","DOI":"10.1561\/2500000014"},{"key":"e_1_3_1_31_2","doi-asserted-by":"publisher","DOI":"10.1145\/1926385.1926390"},{"key":"e_1_3_1_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/2594291.2594320"},{"key":"e_1_3_1_33_2","doi-asserted-by":"publisher","DOI":"10.4230\/LIPIcs.ECOOP.2016.22"},{"key":"e_1_3_1_34_2","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134027"},{"key":"e_1_3_1_35_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-36946-9_8"},{"key":"e_1_3_1_36_2","doi-asserted-by":"publisher","DOI":"10.1145\/1273442.1250748"},{"key":"e_1_3_1_37_2","doi-asserted-by":"publisher","unstructured":"Tian Tan Yue Li Xiaoxing Ma Chang Xu and Yannis Smaragdakis. 2021. Making pointer analysis more precise by unleashing the power of selective context sensitivity. 5 OOPSLA Article 147 (Oct. 2021) 27 pages. doi:10.1145\/3485524","DOI":"10.1145\/3485524"},{"key":"e_1_3_1_38_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-53413-7_24"},{"key":"e_1_3_1_39_2","doi-asserted-by":"publisher","DOI":"10.1145\/3062341.3062360"},{"key":"e_1_3_1_40_2","doi-asserted-by":"publisher","DOI":"10.1145\/3302516.3307359"},{"key":"e_1_3_1_41_2","doi-asserted-by":"publisher","DOI":"10.1145\/3377555.3377902"},{"key":"e_1_3_1_42_2","doi-asserted-by":"publisher","DOI":"10.1145\/3062341.3062359"},{"key":"e_1_3_1_43_2","doi-asserted-by":"publisher","DOI":"10.1145\/1062455.1062637"},{"key":"e_1_3_1_44_2","doi-asserted-by":"publisher","unstructured":"Paolo Tonella and Alessandra Potrich. 2005. Reverse Engineering of Object Oriented Code. Springer. doi:10.1007\/b102522","DOI":"10.1007\/b102522"},{"key":"e_1_3_1_45_2","unstructured":"WALA. 2006. Watson Libraries for Analysis. http:\/\/wala.sf.net"},{"key":"e_1_3_1_46_2","doi-asserted-by":"publisher","unstructured":"Christian Wimmer Codrut Stancu David Kozak and Thomas W\u00fcrthinger. 2024. Scaling Type-Based Points-to Analysis with Saturation. Proc. ACM Program. Lang. 8 PLDI Article 187 (June 2024) 24 pages. doi:10.1145\/3656417","DOI":"10.1145\/3656417"},{"key":"e_1_3_1_47_2","doi-asserted-by":"publisher","unstructured":"Chaoyue Zhang Longlong Lu Yifei Lu Minxue Pan and Xuandong Li. 2025. Towards a Theoretically-Backed and Practical Framework for Selective Object-Sensitive Pointer Analysis (Artifact and Supplemental Materials). doi:10.5281\/zenodo.16890176","DOI":"10.5281\/zenodo.16890176"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3763111","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,7,16]],"date-time":"2026-07-16T10:06:39Z","timestamp":1784196399000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3763111"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,10,9]]},"references-count":46,"journal-issue":{"issue":"OOPSLA2","published-print":{"date-parts":[[2025,10,9]]}},"alternative-id":["10.1145\/3763111"],"URL":"https:\/\/doi.org\/10.1145\/3763111","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,10,9]]},"assertion":[{"value":"2025-03-26","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-08-12","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2025-10-09","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}