{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,27]],"date-time":"2025-03-27T03:01:31Z","timestamp":1743044491087,"version":"3.40.3"},"publisher-location":"Cham","reference-count":31,"publisher":"Springer Nature Switzerland","isbn-type":[{"type":"print","value":"9783031210365"},{"type":"electronic","value":"9783031210372"}],"license":[{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2022,1,1]],"date-time":"2022-01-01T00:00:00Z","timestamp":1640995200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2022]]},"DOI":"10.1007\/978-3-031-21037-2_3","type":"book-chapter","created":{"date-parts":[[2022,11,25]],"date-time":"2022-11-25T00:05:14Z","timestamp":1669334714000},"page":"45-64","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Inferring Region Types via\u00a0an\u00a0Abstract Notion of\u00a0Environment Transformation"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-5445-9461","authenticated-orcid":false,"given":"Ulrich","family":"Sch\u00f6pp","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6838-4221","authenticated-orcid":false,"given":"Chuangjie","family":"Xu","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2022,11,25]]},"reference":[{"key":"3_CR1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"78","DOI":"10.1007\/3-540-58485-4_34","volume-title":"Static Analysis","author":"O Agesen","year":"1994","unstructured":"Agesen, O.: Constraint-based type inference and parametric polymorphism. In: Le Charlier, B. (ed.) SAS 1994. LNCS, vol. 864, pp. 78\u2013100. Springer, Heidelberg (1994). https:\/\/doi.org\/10.1007\/3-540-58485-4_34"},{"key":"3_CR2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"94","DOI":"10.1007\/3-540-19027-9_7","volume-title":"ESOP \u201988","author":"Y-C Fuh","year":"1988","unstructured":"Fuh, Y.-C., Mishra, P.: Type inference with subtypes. In: Ganzinger, H. (ed.) ESOP 1988. LNCS, vol. 300, pp. 94\u2013114. Springer, Heidelberg (1988). https:\/\/doi.org\/10.1007\/3-540-19027-9_7"},{"key":"3_CR3","doi-asserted-by":"publisher","unstructured":"Aiken, A., Wimmers, E.L.: Type inclusion constraints and type inference. In: Proceedings of the Conference on Functional Programming Languages and Computer Architecture (FPCA 1993), p. 31\u201341. Association for Computing Machinery, New York (1993). https:\/\/doi.org\/10.1145\/165180.165188","DOI":"10.1145\/165180.165188"},{"key":"3_CR4","doi-asserted-by":"publisher","unstructured":"Baader, F., Snyder, W.: Unification theory. In: Robinson, J.A., Voronkov, A. (eds.) Handbook of Automated Reasoning (in 2 volumes), pp. 445\u2013532. Elsevier and MIT Press (2001). https:\/\/doi.org\/10.1016\/b978-044450813-3\/50010-2","DOI":"10.1016\/b978-044450813-3\/50010-2"},{"issue":"2","key":"3_CR5","doi-asserted-by":"publisher","first-page":"49","DOI":"10.1016\/j.cl.2013.01.001","volume":"39","author":"L Beringer","year":"2013","unstructured":"Beringer, L., Grabowski, R., Hofmann, M.: Verifying pointer and string analyses with region type systems. Comput. Lang. Syst. Struct. 39(2), 49\u201365 (2013). https:\/\/doi.org\/10.1016\/j.cl.2013.01.001","journal-title":"Comput. Lang. Syst. Struct."},{"key":"3_CR6","doi-asserted-by":"publisher","unstructured":"Bodden, E.: Inter-procedural data-flow analysis with IFDS\/IDE and Soot. In: Proceedings of the ACM SIGPLAN International Workshop on State of the Art in Java Program Analysis (SOAP 2012), pp. 3\u20138. Association for Computing Machinery (2012). https:\/\/doi.org\/10.1145\/2259051.2259052","DOI":"10.1145\/2259051.2259052"},{"key":"3_CR7","doi-asserted-by":"publisher","unstructured":"Boyapati, C., Salcianu, A., Beebee, W., Rinard, M.: Ownership types for safe region-based memory management in Real-Time Java. In: Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation (PLDI 2003), pp. 324\u2013337. Association for Computing Machinery, New York (2003). https:\/\/doi.org\/10.1145\/781131.781168","DOI":"10.1145\/781131.781168"},{"key":"3_CR8","doi-asserted-by":"publisher","unstructured":"Chin, W.N., Craciun, F., Qin, S., Rinard, M.: Region inference for an object-oriented language. In: Proceedings of the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation (PLDI 2004), pp. 243\u2013254. Association for Computing Machinery, New York (2004). https:\/\/doi.org\/10.1145\/996841.996871","DOI":"10.1145\/996841.996871"},{"key":"3_CR9","doi-asserted-by":"publisher","unstructured":"Deutsch, A.: Interprocedural may-alias analysis for pointers: Beyond k-limiting. In: Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation (PLDI 1994), vol. 29(6), pp. 230\u2013241. Association for Computing Machinery (1994). https:\/\/doi.org\/10.1145\/773473.178263","DOI":"10.1145\/773473.178263"},{"key":"3_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"85","DOI":"10.1007\/978-3-319-71237-6_5","volume-title":"Programming Languages and Systems","author":"S Erbatur","year":"2017","unstructured":"Erbatur, S., Hofmann, M., Z\u0103linescu, E.: Enforcing programming guidelines with region types and effects. In: Chang, B.-Y.E. (ed.) APLAS 2017. LNCS, vol. 10695, pp. 85\u2013104. Springer, Cham (2017). https:\/\/doi.org\/10.1007\/978-3-319-71237-6_5"},{"key":"3_CR11","doi-asserted-by":"publisher","unstructured":"Erbatur, S., Sch\u00f6pp, U., Xu, C.: Type-based enforcement of infinitary trace properties for Java. In: 23rd International Symposium on Principles and Practice of Declarative Programming (PPDP 2021), pp. 18:1\u201318:14. Association for Computing Machinery (2021). https:\/\/doi.org\/10.1145\/3479394.3479413","DOI":"10.1145\/3479394.3479413"},{"key":"3_CR12","unstructured":"Facebook: Flow - A static type checker for JavaScript. https:\/\/flow.org"},{"key":"3_CR13","unstructured":"Gosling, J., Joy, B., Steele, G., Bracha, G., Buckley, A.: The Java Language Specification. Oracle America Inc., Java SE 14 edn. (2020). http:\/\/docs.oracle.com\/javase\/specs\/jls\/se14\/jls14.pdf"},{"key":"3_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"182","DOI":"10.1007\/978-3-642-29420-4_12","volume-title":"Formal Aspects of Security and Trust","author":"R Grabowski","year":"2012","unstructured":"Grabowski, R., Hofmann, M., Li, K.: Type-based enforcement of secure programming guidelines - code injection prevention at SAP. In: Barthe, G., Datta, A., Etalle, S. (eds.) FAST 2011. LNCS, vol. 7140, pp. 182\u2013197. Springer, Heidelberg (2012). https:\/\/doi.org\/10.1007\/978-3-642-29420-4_12"},{"key":"3_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"140","DOI":"10.1007\/978-3-642-54804-8_10","volume-title":"Fundamental Approaches to Software Engineering","author":"W Huang","year":"2014","unstructured":"Huang, W., Dong, Y., Milanova, A.: Type-based taint analysis for Java web applications. In: Gnesi, S., Rensink, A. (eds.) FASE 2014. LNCS, vol. 8411, pp. 140\u2013154. Springer, Heidelberg (2014). https:\/\/doi.org\/10.1007\/978-3-642-54804-8_10"},{"issue":"3","key":"3_CR16","doi-asserted-by":"publisher","first-page":"396","DOI":"10.1145\/503502.503505","volume":"23","author":"A Igarashi","year":"2001","unstructured":"Igarashi, A., Pierce, B.C., Wadler, P.: Featherweight Java: a minimal core calculus for Java and GJ. ACM Trans. Program. Lang. Syst. 23(3), 396\u2013450 (2001). https:\/\/doi.org\/10.1145\/503502.503505","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"3_CR17","doi-asserted-by":"publisher","unstructured":"Jones, N.D., Muchnick, S.S.: Flow analysis and optimization of LISP-like structures. In: Proceedings of the 6th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL 1979), pp. 244\u2013256. Association for Computing Machinery (1979). https:\/\/doi.org\/10.1145\/567752.567776","DOI":"10.1145\/567752.567776"},{"issue":"1","key":"3_CR18","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/1290520.1290521","volume":"30","author":"UP Khedker","year":"2007","unstructured":"Khedker, U.P., Sanyal, A., Karkare, A.: Heap reference analysis using access graphs. ACM Trans. Program. Lang. Syst. 30(1), 1\u201341 (2007). https:\/\/doi.org\/10.1145\/1290520.1290521","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"3_CR19","doi-asserted-by":"publisher","unstructured":"Lerch, J., Sp\u00e4th, J., Bodden, E., Mezini, M.: Access-path abstraction: Scaling field-sensitive data-flow analysis with unbounded access paths. In: Proceedings of the 30th IEEE\/ACM International Conference on Automated Software Engineering (ASE 2015), pp. 619\u2013629. IEEE Press (2015). https:\/\/doi.org\/10.1109\/ASE.2015.9","DOI":"10.1109\/ASE.2015.9"},{"key":"3_CR20","unstructured":"Microsoft: TypeScript - Typed JavaScript at any scale. https:\/\/www.typescriptlang.org\/"},{"key":"3_CR21","doi-asserted-by":"publisher","unstructured":"Odersky, M., Sulzmann, M., Wehr, M.: Type inference with constrained types. Theory Practice Object Syst. 5(1), 35\u201355 (1999). https:\/\/doi.org\/10.1002\/(SICI)1096-9942(199901\/03)5:1<35::AID-TAPO4>3.0.CO;2-4","DOI":"10.1002\/(SICI)1096-9942(199901\/03)5:1<35::AID-TAPO4>3.0.CO;2-4"},{"issue":"11","key":"3_CR22","doi-asserted-by":"publisher","first-page":"146","DOI":"10.1145\/118014.117965","volume":"26","author":"J Palsberg","year":"1991","unstructured":"Palsberg, J., Schwartzbach, M.I.: Object-oriented type inference. SIGPLAN Notices 26(11), 146\u2013161 (1991). https:\/\/doi.org\/10.1145\/118014.117965","journal-title":"SIGPLAN Notices"},{"key":"3_CR23","unstructured":"Sable Group, M.U.: Heros IFDS\/IDE solver. https:\/\/github.com\/Sable\/heros"},{"key":"3_CR24","unstructured":"Sable Group M.U: Soot - A framework for analyzing and transforming Java and Android applications. https:\/\/soot-oss.github.io\/soot\/"},{"issue":"1\u20132","key":"3_CR25","doi-asserted-by":"publisher","first-page":"131","DOI":"10.1016\/0304-3975(96)00072-2","volume":"167","author":"S Sagiv","year":"1996","unstructured":"Sagiv, S., Reps, T.W., Horwitz, S.: Precise interprocedural dataflow analysis with applications to constant propagation. Theoret. Comput. Sci. 167(1\u20132), 131\u2013170 (1996). https:\/\/doi.org\/10.1016\/0304-3975(96)00072-2","journal-title":"Theoret. Comput. Sci."},{"key":"3_CR26","unstructured":"Sch\u00f6pp, U., Xu, C.: Inferring region types via an abstract notion of environment transformation (2022). arXiv:2209.02147 [cs.PL]"},{"key":"3_CR27","doi-asserted-by":"publisher","DOI":"10.5281\/zenodo.7009655","author":"U Sch\u00f6pp","year":"2022","unstructured":"Sch\u00f6pp, U., Xu, C.: Inferring Region Types via an Abstract Notion of Environment Transformation. Artifact (2022). https:\/\/doi.org\/10.5281\/zenodo.7009655","journal-title":"Artifact"},{"key":"3_CR28","doi-asserted-by":"publisher","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). Leibniz International Proceedings in Informatics (LIPIcs), vol. 56, pp. 22:1\u201322:26. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany (2016). https:\/\/doi.org\/10.4230\/LIPIcs.ECOOP.2016.22","DOI":"10.4230\/LIPIcs.ECOOP.2016.22"},{"key":"3_CR29","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"89","DOI":"10.1007\/978-3-642-25318-8_10","volume-title":"Programming Languages and Systems","author":"D Traytel","year":"2011","unstructured":"Traytel, D., Berghofer, S., Nipkow, T.: Extending Hindley-Milner type inference with coercive structural subtyping. In: Yang, H. (ed.) APLAS 2011. LNCS, vol. 7078, pp. 89\u2013104. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-25318-8_10"},{"key":"3_CR30","doi-asserted-by":"publisher","unstructured":"Wand, M., O\u2019Keefe, P.: On the complexity of type inference with coercion. In: Proceedings of the Fourth International Conference on Functional Programming Languages and Computer Architecture (FPCA 1989), pp. 293\u2013298. Association for Computing Machinery, New York (1989). https:\/\/doi.org\/10.1145\/99370.99394","DOI":"10.1145\/99370.99394"},{"key":"3_CR31","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"99","DOI":"10.1007\/3-540-45337-7_6","volume-title":"ECOOP 2001 \u2014 Object-Oriented Programming","author":"T Wang","year":"2001","unstructured":"Wang, T., Smith, S.F.: Precise constraint-based type inference for Java. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 99\u2013117. Springer, Heidelberg (2001). https:\/\/doi.org\/10.1007\/3-540-45337-7_6"}],"container-title":["Lecture Notes in Computer Science","Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-21037-2_3","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,11,25]],"date-time":"2022-11-25T00:05:46Z","timestamp":1669334746000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-21037-2_3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022]]},"ISBN":["9783031210365","9783031210372"],"references-count":31,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-21037-2_3","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2022]]},"assertion":[{"value":"25 November 2022","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"APLAS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Asian Symposium on Programming Languages and Systems","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Auckland","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"New Zealand","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2022","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"5 December 2022","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"5 December 2022","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"20","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"aplas2022","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/conf.researchr.org\/home\/aplas-2022","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Double-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"HotCRP","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"22","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"10","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"0","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"45% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"4","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"4","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}