{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,5,6]],"date-time":"2025-05-06T08:51:54Z","timestamp":1746521514794,"version":"3.40.3"},"publisher-location":"Cham","reference-count":33,"publisher":"Springer Nature Switzerland","isbn-type":[{"type":"print","value":"9783031442445"},{"type":"electronic","value":"9783031442452"}],"license":[{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2023]]},"DOI":"10.1007\/978-3-031-44245-2_20","type":"book-chapter","created":{"date-parts":[[2023,10,23]],"date-time":"2023-10-23T15:02:30Z","timestamp":1698073350000},"page":"460-484","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Lifting On-Demand Analysis to\u00a0Higher-Order Languages"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0009-0006-1187-9569","authenticated-orcid":false,"given":"Daniel","family":"Schoepe","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-4562-5074","authenticated-orcid":false,"given":"David","family":"Seekatz","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0009-0003-3683-6301","authenticated-orcid":false,"given":"Ilina","family":"Stoilkovska","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5608-8273","authenticated-orcid":false,"given":"Sandro","family":"Stucki","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Daniel","family":"Tattersall","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Pauline","family":"Bolignano","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9508-7713","authenticated-orcid":false,"given":"Franco","family":"Raimondi","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1954-0774","authenticated-orcid":false,"given":"Bor-Yuh Evan","family":"Chang","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2023,10,24]]},"reference":[{"key":"20_CR1","unstructured":"Babel: Babel. https:\/\/babeljs.io\/. Accessed 01 Apr 2023"},{"key":"20_CR2","unstructured":"Bacon, D.F., Sweeney, P.F.: Fast static analysis of C++ virtual function calls. In: Anderson, L., Coplien, J. (eds.) Proceedings of the 1996 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages & Applications (OOPSLA 1996), San Jose, California, USA, 6\u201310 October 1996, pp. 324\u2013341. ACM (1996)"},{"key":"20_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"135","DOI":"10.1007\/3-540-63141-0_10","volume-title":"CONCUR \u201997: Concurrency Theory","author":"A Bouajjani","year":"1997","unstructured":"Bouajjani, A., Esparza, J., Maler, O.: Reachability analysis of pushdown automata: application to model-checking. In: Mazurkiewicz, A., Winkowski, J. (eds.) CONCUR 1997. LNCS, vol. 1243, pp. 135\u2013150. Springer, Heidelberg (1997). https:\/\/doi.org\/10.1007\/3-540-63141-0_10"},{"key":"20_CR4","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"459","DOI":"10.1007\/978-3-642-20398-5_33","volume-title":"NASA Formal Methods","author":"C Calcagno","year":"2011","unstructured":"Calcagno, C., Distefano, D.: Infer: an automatic program verifier for memory safety of C programs. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 459\u2013465. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-20398-5_33"},{"key":"20_CR5","doi-asserted-by":"crossref","unstructured":"Claessen, K., Hughes, J.: Quickcheck: a lightweight tool for random testing of Haskell programs. In: Odersky, M., Wadler, P. (eds.) Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming (ICFP 2000), Montreal, Canada, 18\u201321 September 2000, pp. 268\u2013279. ACM (2000)","DOI":"10.1145\/357766.351266"},{"key":"20_CR6","unstructured":"CodeShield: de.fraunhofer.iem.SPDS. https:\/\/github.com\/codeshield-security\/spds. Accessed 30 Jan 2022"},{"key":"20_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"77","DOI":"10.1007\/3-540-49538-X_5","volume-title":"ECOOP\u201995 \u2014 Object-Oriented Programming, 9th European Conference, \u00c5arhus, Denmark, August 7\u201311, 1995","author":"J Dean","year":"1995","unstructured":"Dean, J., Grove, D., Chambers, C.: Optimization of object-oriented programs using static class hierarchy analysis. In: Tokoro, M., Pareschi, R. (eds.) ECOOP 1995. LNCS, vol. 952, pp. 77\u2013101. Springer, Heidelberg (1995). https:\/\/doi.org\/10.1007\/3-540-49538-X_5"},{"key":"20_CR8","doi-asserted-by":"crossref","unstructured":"Dillig, I., Dillig, T., Aiken, A.: Sound, complete and scalable path-sensitive analysis. In: Gupta, R., Amarasinghe, S.P. (eds.) Proceedings of the ACM SIGPLAN 2008 Conference on Programming Language Design and Implementation, Tucson, AZ, USA, 7\u201313 June 2008, pp. 270\u2013280. ACM (2008)","DOI":"10.1145\/1379022.1375615"},{"issue":"8","key":"20_CR9","doi-asserted-by":"publisher","first-page":"62","DOI":"10.1145\/3338112","volume":"62","author":"D Distefano","year":"2019","unstructured":"Distefano, D., F\u00e4hndrich, M., Logozzo, F., O\u2019Hearn, P.W.: Scaling static analyses at Facebook. Commun. ACM 62(8), 62\u201370 (2019). https:\/\/doi.org\/10.1145\/3338112","journal-title":"Commun. ACM"},{"key":"20_CR10","doi-asserted-by":"crossref","unstructured":"Diwan, A., McKinley, K.S., Moss, J.E.B.: Type-based alias analysis. In: Davidson, J.W., Cooper, K.D., Berman, A.M. (eds.) Proceedings of the ACM SIGPLAN 1998 Conference on Programming Language Design and Implementation (PLDI), Montreal, Canada, 17\u201319 June 1998, pp. 106\u2013117. ACM (1998)","DOI":"10.1145\/277650.277670"},{"key":"20_CR11","unstructured":"ECMA International: ECMAScript language specification, 5th edition (2011). https:\/\/www.ecma-international.org\/ecma-262\/5.1\/"},{"key":"20_CR12","doi-asserted-by":"crossref","unstructured":"Elliott, C., Hudak, P.: Functional reactive animation. In: Jones, S.L.P., Tofte, M., Berman, A.M. (eds.) Proceedings of the 1997 ACM SIGPLAN International Conference on Functional Programming (ICFP 1997), Amsterdam, The Netherlands, 9\u201311 June 1997, pp. 263\u2013273. ACM (1997)","DOI":"10.1145\/258949.258973"},{"key":"20_CR13","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"232","DOI":"10.1007\/10722167_20","volume-title":"Computer Aided Verification","author":"J Esparza","year":"2000","unstructured":"Esparza, J., Hansel, D., Rossmanith, P., Schwoon, S.: Efficient algorithms for model checking pushdown systems. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 232\u2013247. Springer, Heidelberg (2000). https:\/\/doi.org\/10.1007\/10722167_20"},{"key":"20_CR14","doi-asserted-by":"crossref","unstructured":"Feldthaus, A., Sch\u00e4fer, M., Sridharan, M., Dolby, J., Tip, F.: Efficient construction of approximate call graphs for JavaScript IDE services. In: Notkin, D., Cheng, B.H.C., Pohl, K. (eds.) 35th International Conference on Software Engineering, ICSE 2013, San Francisco, CA, USA, 18\u201326 May 2013, pp. 752\u2013761. IEEE Computer Society (2013)","DOI":"10.1109\/ICSE.2013.6606621"},{"key":"20_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"226","DOI":"10.1007\/978-3-030-11245-5_11","volume-title":"Verification, Model Checking, and Abstract Interpretation","author":"K Germane","year":"2019","unstructured":"Germane, K., McCarthy, J., Adams, M.D., Might, M.: Demand control-flow analysis. In: Enea, C., Piskac, R. (eds.) VMCAI 2019. LNCS, vol. 11388, pp. 226\u2013246. Springer, Cham (2019). https:\/\/doi.org\/10.1007\/978-3-030-11245-5_11"},{"key":"20_CR16","unstructured":"GitHub: CodeQL. https:\/\/codeql.github.com\/. Accessed 29 Jan 2022"},{"key":"20_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"238","DOI":"10.1007\/978-3-642-03237-0_17","volume-title":"Static Analysis","author":"SH Jensen","year":"2009","unstructured":"Jensen, S.H., M\u00f8ller, A., Thiemann, P.: Type analysis for Javascript. In: Palsberg, J., Su, Z. (eds.) SAS 2009. LNCS, vol. 5673, pp. 238\u2013255. Springer, Heidelberg (2009). https:\/\/doi.org\/10.1007\/978-3-642-03237-0_17"},{"key":"20_CR18","doi-asserted-by":"crossref","unstructured":"Landman, D., Serebrenik, A., Vinju, J.J.: Challenges for static analysis of Java reflection: literature review and empirical study. In: Uchitel, S., Orso, A., Robillard, M.P. (eds.) Proceedings of the 39th International Conference on Software Engineering, ICSE 2017, Buenos Aires, Argentina, 20\u201328 May 2017, pp. 507\u2013518. IEEE\/ACM (2017)","DOI":"10.1109\/ICSE.2017.53"},{"key":"20_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"47","DOI":"10.1007\/11688839_5","volume-title":"Compiler Construction","author":"O Lhot\u00e1k","year":"2006","unstructured":"Lhot\u00e1k, O., Hendren, L.: Context-sensitive points-to analysis: is it worth it? In: Mycroft, A., Zeller, A. (eds.) CC 2006. LNCS, vol. 3923, pp. 47\u201364. Springer, Heidelberg (2006). https:\/\/doi.org\/10.1007\/11688839_5"},{"issue":"2","key":"20_CR20","doi-asserted-by":"publisher","first-page":"7:1","DOI":"10.1145\/3295739","volume":"28","author":"Y Li","year":"2019","unstructured":"Li, Y., Tan, T., Xue, J.: Understanding and analyzing Java reflection. ACM Trans. Softw. Eng. Methodol. 28(2), 7:1-7:50 (2019)","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"20_CR21","unstructured":"Meta: React. https:\/\/reactjs.org\/. Accessed 06 Feb 2022"},{"key":"20_CR22","doi-asserted-by":"crossref","unstructured":"Nielsen, B.B., Torp, M.T., M\u00f8ller, A.: Modular call graph construction for security scanning of Node.js applications. In: Cadar, C., Zhang, X. (eds.) 30th ACM SIGSOFT International Symposium on Software Testing and Analysis, ISSTA 2021, Virtual Event, Denmark, 11\u201317 July 2021, pp. 29\u201341. ACM (2021)","DOI":"10.1145\/3460319.3464836"},{"key":"20_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"67","DOI":"10.1007\/3-540-45949-9_5","volume-title":"Isabelle\/HOL","author":"T Nipkow","year":"2002","unstructured":"Nipkow, T., Wenzel, M., Paulson, L.C.: 5. the rules of the game. In: Nipkow, T., Wenzel, M., Paulson, L.C. (eds.) Isabelle\/HOL. LNCS, vol. 2283, pp. 67\u2013104. Springer, Heidelberg (2002). https:\/\/doi.org\/10.1007\/3-540-45949-9_5"},{"key":"20_CR24","unstructured":"Oracle: Java streams. https:\/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/util\/stream\/package-summary.html. Accessed 02 Feb 2022"},{"key":"20_CR25","unstructured":"Oracle: Lambda expressions for the Java programming language (2014). https:\/\/jcp.org\/aboutJava\/communityprocess\/final\/jsr335\/index.html"},{"issue":"4","key":"20_CR26","doi-asserted-by":"publisher","first-page":"58","DOI":"10.1145\/3188720","volume":"61","author":"C Sadowski","year":"2018","unstructured":"Sadowski, C., Aftandilian, E., Eagle, A., Miller-Cushon, L., Jaspan, C.: Lessons from building static analysis tools at google. Commun. ACM 61(4), 58\u201366 (2018). https:\/\/doi.org\/10.1145\/3188720","journal-title":"Commun. ACM"},{"key":"20_CR27","doi-asserted-by":"publisher","DOI":"10.5281\/zenodo.8189312","author":"D Schoepe","year":"2023","unstructured":"Schoepe, D.: Lifting on-demand analysis to higher-order languages (artifact). Static Anal. Symp. (2023). https:\/\/doi.org\/10.5281\/zenodo.8189312","journal-title":"Static Anal. Symp."},{"key":"20_CR28","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"485","DOI":"10.1007\/978-3-319-26529-2_26","volume-title":"Programming Languages and Systems","author":"Y Smaragdakis","year":"2015","unstructured":"Smaragdakis, Y., Balatsouras, G., Kastrinis, G., Bravenboer, M.: More sound static handling of Java reflection. In: Feng, X., Park, S. (eds.) APLAS 2015. LNCS, vol. 9458, pp. 485\u2013503. Springer, Cham (2015). https:\/\/doi.org\/10.1007\/978-3-319-26529-2_26"},{"key":"20_CR29","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"245","DOI":"10.1007\/978-3-642-24206-9_14","volume-title":"Datalog Reloaded","author":"Y Smaragdakis","year":"2011","unstructured":"Smaragdakis, Y., Bravenboer, M.: Using datalog for fast and easy program analysis. In: de Moor, O., Gottlob, G., Furche, T., Sellers, A. (eds.) Datalog 2.0 2010. LNCS, vol. 6702, pp. 245\u2013251. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-24206-9_14"},{"key":"20_CR30","doi-asserted-by":"crossref","unstructured":"Sp\u00e4th, J., Ali, K., Bodden, E.: Context-, flow-, and field-sensitive data-flow analysis using synchronized pushdown systems. Proc. ACM Program. Lang. 3(POPL), 48:1\u201348:29 (2019)","DOI":"10.1145\/3290361"},{"key":"20_CR31","unstructured":"Sp\u00e4th, J., Do, L.N.Q., Ali, K., Bodden, E.: Boomerang: demand-driven flow- and context-sensitive pointer analysis for Java. In: Krishnamurthi, S., Lerner, B.S. (eds.) 30th European Conference on Object-Oriented Programming, ECOOP 2016, 18\u201322 July 2016, Rome, Italy. LIPIcs, vol. 56, pp. 22:1\u201322:26. Schloss Dagstuhl - Leibniz-Zentrum f\u00fcr Informatik (2016)"},{"key":"20_CR32","doi-asserted-by":"crossref","unstructured":"Stein, B., Chang, B.E., Sridharan, M.: Demanded abstract interpretation. In: Freund, S.N., Yahav, E. (eds.) 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, PLDI 2021, Virtual Event, Canada, 20\u201325 June 2021, pp. 282\u2013295. ACM (2021)","DOI":"10.1145\/3453483.3454044"},{"key":"20_CR33","doi-asserted-by":"crossref","unstructured":"Sundaresan, V., et al.: Practical virtual method call resolution for Java. In: Rosson, M.B., Lea, D. (eds.) Proceedings of the 2000 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages & Applications, OOPSLA 2000, Minneapolis, Minnesota, USA, 15\u201319 October 2000, pp. 264\u2013280. ACM (2000)","DOI":"10.1145\/353171.353189"}],"container-title":["Lecture Notes in Computer Science","Static Analysis"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-44245-2_20","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,2,8]],"date-time":"2024-02-08T08:15:58Z","timestamp":1707380158000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-44245-2_20"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023]]},"ISBN":["9783031442445","9783031442452"],"references-count":33,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-44245-2_20","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2023]]},"assertion":[{"value":"24 October 2023","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"SAS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Static Analysis Symposium","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Lisbon","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Portugal","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2023","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"22 October 2023","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"24 October 2023","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"30","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"sas2023","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/conf.researchr.org\/home\/sas-2023","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}