{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,11]],"date-time":"2026-04-11T02:13:16Z","timestamp":1775873596937,"version":"3.50.1"},"reference-count":30,"publisher":"Association for Computing Machinery (ACM)","issue":"OOPSLA","license":[{"start":{"date-parts":[[2019,10,10]],"date-time":"2019-10-10T00:00:00Z","timestamp":1570665600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by-nc-sa\/4.0\/"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2019,10,10]]},"abstract":"<jats:p>\n            Object-sensitivity is widely used as a context abstraction for computing the points-to information context-sensitively for object-oriented languages like Java. Due to the combinatorial explosion of contexts in large programs,\n            <jats:italic>k<\/jats:italic>\n            -object-sensitive pointer analysis (under\n            <jats:italic>k<\/jats:italic>\n            -limiting), denoted\n            <jats:italic>k<\/jats:italic>\n            -obj, is scalable only for small values of\n            <jats:italic>k<\/jats:italic>\n            , where\n            <jats:italic>k<\/jats:italic>\n            \u2a7d2 typically. A few recent solutions attempt to improve its efficiency by instructing\n            <jats:italic>k<\/jats:italic>\n            -obj to analyze only some methods in the program context-sensitively, determined heuristically by a pre-analysis. While already effective, these heuristics-based pre-analyses do not provide precision guarantees, and consequently, are limited in the efficiency gains achieved. We introduce a radically different approach, Eagle, that makes\n            <jats:italic>k<\/jats:italic>\n            -obj run significantly faster than the prior art while maintaining its precision. The novelty of Eagle is to enable\n            <jats:italic>k<\/jats:italic>\n            -obj to analyze a method with partial context-sensitivity, i.e., context-sensitively for only some of its selected variables\/allocation sites. Eagle makes these selections during a lightweight pre-analysis by reasoning about context-free-language (CFL) reachability at the level of variables\/objects in the program, based on a new CFL-reachability formulation of\n            <jats:italic>k<\/jats:italic>\n            -obj. We demonstrate the advances made by Eagle by comparing it with the prior art in terms of a set of popular Java benchmarks and applications.\n          <\/jats:p>","DOI":"10.1145\/3360574","type":"journal-article","created":{"date-parts":[[2019,10,11]],"date-time":"2019-10-11T14:53:33Z","timestamp":1570805613000},"page":"1-29","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":43,"title":["Precision-preserving yet fast object-sensitive pointer analysis with partial context sensitivity"],"prefix":"10.1145","volume":"3","author":[{"given":"Jingbo","family":"Lu","sequence":"first","affiliation":[{"name":"UNSW, Australia"}]},{"given":"Jingling","family":"Xue","sequence":"additional","affiliation":[{"name":"UNSW, Australia"}]}],"member":"320","published-online":{"date-parts":[[2019,10,10]]},"reference":[{"key":"e_1_2_2_1_1","volume-title":"Application-Only Call Graph Construction. In ECOOP 2012 \u2013 Object-Oriented Programming , James Noble (Ed.). Springer Berlin Heidelberg","author":"Ali Karim","year":"2012","unstructured":"Karim Ali and Ond\u0159ej Lhot\u00e1k . 2012 . Application-Only Call Graph Construction. In ECOOP 2012 \u2013 Object-Oriented Programming , James Noble (Ed.). Springer Berlin Heidelberg , Berlin, Heidelberg, 688\u2013712. Karim Ali and Ond\u0159ej Lhot\u00e1k. 2012. Application-Only Call Graph Construction. In ECOOP 2012 \u2013 Object-Oriented Programming , James Noble (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 688\u2013712."},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-39038-8_16"},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985827"},{"key":"e_1_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/3192366.3192378"},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1328438.1328460"},{"key":"e_1_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/3088515.3088519"},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/3276510"},{"key":"e_1_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/3133924"},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/996841.996867"},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-36579-6_12"},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1391984.1391987"},{"key":"e_1_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/3276511"},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/3293606"},{"key":"e_1_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1044834.1044835"},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/3192366.3192417"},{"key":"e_1_2_2_17_1","doi-asserted-by":"crossref","unstructured":"Siegfried Rasthofer Steven Arzt Marc Miltenberger and Eric Bodden. 2016. Harvesting Runtime Values in Android Applications That Feature Anti-Analysis Techniques.. In NDSS.  Siegfried Rasthofer Steven Arzt Marc Miltenberger and Eric Bodden. 2016. Harvesting Runtime Values in Android Applications That Feature Anti-Analysis Techniques.. In NDSS.","DOI":"10.14722\/ndss.2016.23066"},{"key":"e_1_2_2_18_1","volume-title":"Program analysis via graph reachability1. Information and software technology 40, 11-12","author":"Reps Thomas","year":"1998","unstructured":"Thomas Reps . 1998. Program analysis via graph reachability1. Information and software technology 40, 11-12 ( 1998 ), 701\u2013726. Thomas Reps. 1998. Program analysis via graph reachability1. Information and software technology 40, 11-12 (1998), 701\u2013726."},{"key":"e_1_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/345099.345137"},{"key":"e_1_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2259016.2259050"},{"key":"e_1_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1926385.1926390"},{"key":"e_1_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2594291.2594320"},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133981.1134027"},{"key":"e_1_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/1094811.1094817"},{"key":"e_1_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-53413-7_24"},{"key":"e_1_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/3062341.3062360"},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/3062341.3062359"},{"key":"e_1_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1925805.1925818"},{"key":"e_1_2_2_30_1","volume-title":"LIPIcs-Leibniz International Proceedings in Informatics","volume":"37","author":"Wei Shiyi","year":"2015","unstructured":"Shiyi Wei and Barbara G Ryder . 2015 . Adaptive context-sensitive analysis for JavaScript . In LIPIcs-Leibniz International Proceedings in Informatics , Vol. 37 . Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik. Shiyi Wei and Barbara G Ryder. 2015. Adaptive context-sensitive analysis for JavaScript. In LIPIcs-Leibniz International Proceedings in Informatics , Vol. 37. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik."},{"key":"e_1_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-03013-0_6"},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/2594291.2594327"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3360574","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3360574","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:22:59Z","timestamp":1750202579000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3360574"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,10,10]]},"references-count":30,"journal-issue":{"issue":"OOPSLA","published-print":{"date-parts":[[2019,10,10]]}},"alternative-id":["10.1145\/3360574"],"URL":"https:\/\/doi.org\/10.1145\/3360574","relation":{},"ISSN":["2475-1421"],"issn-type":[{"value":"2475-1421","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,10,10]]},"assertion":[{"value":"2019-10-10","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}