{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T09:58:40Z","timestamp":1740131920557,"version":"3.37.3"},"reference-count":61,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","issue":"12","license":[{"start":{"date-parts":[[2021,12,1]],"date-time":"2021-12-01T00:00:00Z","timestamp":1638316800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/legalcode"},{"start":{"date-parts":[[2021,12,1]],"date-time":"2021-12-01T00:00:00Z","timestamp":1638316800000},"content-version":"am","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/legalcode"}],"funder":[{"DOI":"10.13039\/501100000038","name":"Natural Sciences and Engineering Research Council of Canada","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100000038","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100015668","name":"Ontario Ministry of Research and Innovation","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100015668","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["CCF-1715153"],"award-info":[{"award-number":["CCF-1715153"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000006","name":"Office of Naval Research","doi-asserted-by":"publisher","award":["N00014-17-1-2945"],"award-info":[{"award-number":["N00014-17-1-2945"]}],"id":[{"id":"10.13039\/100000006","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["IIEEE Trans. Software Eng."],"published-print":{"date-parts":[[2021,12,1]]},"DOI":"10.1109\/tse.2019.2956925","type":"journal-article","created":{"date-parts":[[2019,12,27]],"date-time":"2019-12-27T21:00:58Z","timestamp":1577480458000},"page":"2644-2666","source":"Crossref","is-referenced-by-count":9,"title":["A Study of Call Graph Construction for JVM-Hosted Languages"],"prefix":"10.1109","volume":"47","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-5516-1376","authenticated-orcid":false,"given":"Karim","family":"Ali","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8881-1278","authenticated-orcid":false,"given":"Xiaoni","family":"Lai","sequence":"additional","affiliation":[]},{"given":"Zhaoyi","family":"Luo","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9066-1889","authenticated-orcid":false,"given":"Ondrej","family":"Lhotak","sequence":"additional","affiliation":[]},{"given":"Julian","family":"Dolby","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1862-3498","authenticated-orcid":false,"given":"Frank","family":"Tip","sequence":"additional","affiliation":[]}],"member":"263","reference":[{"key":"ref39","first-page":"15:1","article-title":"Deep static modeling of invokedynamic","author":"fourtounis","year":"2019","journal-title":"Proc Europ Conf Object-Oriented Programming"},{"key":"ref38","doi-asserted-by":"publisher","DOI":"10.1145\/3213846.3213864"},{"year":"0","key":"ref33"},{"key":"ref32","article-title":"Polyglot programmer: Jython 101&#x2013;A refreshing look at a mature alternative","author":"juneau","year":"2013","journal-title":"Oracle Java Magazine"},{"year":"0","key":"ref31"},{"key":"ref30","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-49538-X_2"},{"key":"ref37","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-030-02768-1_4"},{"key":"ref36","doi-asserted-by":"publisher","DOI":"10.1145\/3236454.3236503"},{"key":"ref35","doi-asserted-by":"publisher","DOI":"10.1145\/506315.506316"},{"year":"0","key":"ref34"},{"key":"ref60","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2007.72"},{"key":"ref61","doi-asserted-by":"publisher","DOI":"10.1145\/1353482.1353488"},{"key":"ref28","doi-asserted-by":"publisher","DOI":"10.1145\/2500828.2500833"},{"key":"ref27","doi-asserted-by":"publisher","DOI":"10.1145\/2048066.2048118"},{"key":"ref29","doi-asserted-by":"publisher","DOI":"10.1007\/11688839_5"},{"journal-title":"Groovy Programming An Introduction for Java Developers (1 Ed )","year":"2006","author":"barclay","key":"ref2"},{"journal-title":"Programming Clojure (2 Ed )","year":"2012","author":"halloway","key":"ref1"},{"key":"ref20","doi-asserted-by":"publisher","DOI":"10.1145\/1251535.1251542"},{"key":"ref22","doi-asserted-by":"publisher","DOI":"10.1145\/2644805"},{"key":"ref21","doi-asserted-by":"publisher","DOI":"10.1145\/1985793.1985827"},{"year":"0","key":"ref24"},{"year":"0","key":"ref23"},{"key":"ref26","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-44202-9_3"},{"year":"0","key":"ref25"},{"key":"ref50","doi-asserted-by":"publisher","DOI":"10.1145\/2500828.2500837"},{"key":"ref51","doi-asserted-by":"publisher","DOI":"10.1145\/263699.263715"},{"key":"ref59","doi-asserted-by":"crossref","DOI":"10.1145\/2532642","article-title":"Efficient hosted interpreters on the JVM","volume":"11","author":"savrun-yeni\u00e7eri","year":"2014","journal-title":"ACM Trans Archit Code Optim"},{"year":"0","key":"ref58"},{"key":"ref57","doi-asserted-by":"publisher","DOI":"10.1145\/2509578.2509581"},{"key":"ref56","first-page":"195","article-title":"On the benefits and pitfalls of extending a statically typed language JIT compiler for dynamic scripting languages","author":"casta\u00f1os","year":"2012","journal-title":"Proc ACM Int Conf Object Oriented Program Syst Lang Appl"},{"key":"ref55","doi-asserted-by":"publisher","DOI":"10.1145\/1869459.1869517"},{"key":"ref54","doi-asserted-by":"publisher","DOI":"10.1145\/360204.360228"},{"key":"ref53","doi-asserted-by":"publisher","DOI":"10.1145\/1411732.1411742"},{"key":"ref52","first-page":"114","article-title":"Two ways to bake your Pizza - Translating parameterised types into Java","author":"odersky","year":"1998","journal-title":"Proc Generic Program"},{"key":"ref10","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-46423-9_2"},{"year":"0","key":"ref11"},{"key":"ref40","doi-asserted-by":"publisher","DOI":"10.1145\/2500828.2500838"},{"key":"ref12","doi-asserted-by":"publisher","DOI":"10.1145\/2614628.2614630"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1145\/1287624.1287653"},{"key":"ref14","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542486"},{"key":"ref15","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2013.6606621"},{"key":"ref16","doi-asserted-by":"publisher","DOI":"10.1145\/355045.355059"},{"key":"ref17","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349344"},{"year":"0","key":"ref18"},{"key":"ref19","doi-asserted-by":"publisher","DOI":"10.1145\/53990.54007"},{"journal-title":"Learning Python (5 ed )","year":"2013","author":"lutz","key":"ref4"},{"journal-title":"Real-World OCaml Functional Programming for the Masses (1 ed )","year":"2013","author":"minsky","key":"ref3"},{"journal-title":"Programming in Scala (2 ed )","year":"2011","author":"odersky","key":"ref6"},{"journal-title":"Programming Ruby 1 9 & 2 0 The Pragmatic Programmer&#x2019;s Guide (4 ed )","year":"2013","author":"thomas","key":"ref5"},{"year":"0","key":"ref8"},{"journal-title":"The Scheme Programming Language (4 ed )","year":"2009","author":"dybvig","key":"ref7"},{"key":"ref49","doi-asserted-by":"publisher","DOI":"10.1145\/1565824.1565830"},{"key":"ref9","doi-asserted-by":"publisher","DOI":"10.1145\/1640089.1640108"},{"article-title":"Compiling Scala for the Java virtual machine","year":"2005","author":"schinz","key":"ref46"},{"key":"ref45","doi-asserted-by":"publisher","DOI":"10.1145\/2483760.2483786"},{"key":"ref48","doi-asserted-by":"publisher","DOI":"10.1145\/1565824.1565829"},{"article-title":"Compiling Scala for performance","year":"2010","author":"dragos","key":"ref47"},{"key":"ref42","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167488"},{"key":"ref41","doi-asserted-by":"publisher","DOI":"10.1145\/2542142.2542144"},{"key":"ref44","first-page":"52","article-title":"The eval that men do - A large-scale study of the use of eval in JavaScript applications","author":"richards","year":"2011","journal-title":"Proc Eur Conf Object-Oriented Program"},{"key":"ref43","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806598"}],"container-title":["IEEE Transactions on Software Engineering"],"original-title":[],"link":[{"URL":"https:\/\/ieeexplore.ieee.org\/ielam\/32\/9646454\/8944149-aam.pdf","content-type":"application\/pdf","content-version":"am","intended-application":"syndication"},{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/32\/9646454\/08944149.pdf?arnumber=8944149","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,4,8]],"date-time":"2022-04-08T18:48:20Z","timestamp":1649443700000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/8944149\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,12,1]]},"references-count":61,"journal-issue":{"issue":"12"},"URL":"https:\/\/doi.org\/10.1109\/tse.2019.2956925","relation":{},"ISSN":["0098-5589","1939-3520","2326-3881"],"issn-type":[{"type":"print","value":"0098-5589"},{"type":"electronic","value":"1939-3520"},{"type":"electronic","value":"2326-3881"}],"subject":[],"published":{"date-parts":[[2021,12,1]]}}}