{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,25]],"date-time":"2025-03-25T15:43:09Z","timestamp":1742917389457,"version":"3.40.3"},"publisher-location":"Cham","reference-count":27,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030588168"},{"type":"electronic","value":"9783030588175"}],"license":[{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2020]]},"DOI":"10.1007\/978-3-030-58817-5_40","type":"book-chapter","created":{"date-parts":[[2020,9,29]],"date-time":"2020-09-29T16:46:50Z","timestamp":1601398010000},"page":"544-559","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":0,"title":["Midair: An Intermediate Representation for Multi-purpose Program Analysis"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-7169-7402","authenticated-orcid":false,"given":"Maxim","family":"Menshikov","sequence":"first","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2020,9,30]]},"reference":[{"key":"40_CR1","unstructured":"Apache Commons BCEL. https:\/\/commons.apache.org\/proper\/commons-bcel\/"},{"key":"40_CR2","unstructured":"GNU Compiler Collection (GCC) internals: RTL. https:\/\/gcc.gnu.org\/onlinedocs\/gccint\/RTL.html"},{"key":"40_CR3","unstructured":"LLVM Language Reference. https:\/\/llvm.org\/docs\/LangRef.html"},{"key":"40_CR4","unstructured":"Standard ECMA-335 - Common Language Infrastructure (CLI). http:\/\/www.ecma-international.org\/publications\/standards\/Ecma-335.htm"},{"key":"40_CR5","volume-title":"Compilers: Principles, Techniques, and Tools. Always Learning","author":"A Aho","year":"2014","unstructured":"Aho, A.: Compilers: Principles, Techniques, and Tools. Always Learning. Pearson, London (2014)"},{"key":"40_CR6","doi-asserted-by":"publisher","first-page":"305","DOI":"10.1007\/978-3-319-10575-8_11","volume-title":"Handbook of Model Checking","author":"C Barrett","year":"2018","unstructured":"Barrett, C., Tinelli, C.: Satisfiability modulo theories. In: Clarke, E., Henzinger, T., Veith, H., Bloem, R. (eds.) Handbook of Model Checking, pp. 305\u2013343. Springer, Cham (2018). https:\/\/doi.org\/10.1007\/978-3-319-10575-8_11"},{"key":"40_CR7","unstructured":"Baudin, P., Filli\u00e2tre, J.C., March\u00e9, C., Monate, B., Moy, Y., Prevosto, V.: ACSL: ANSI C specification language (2008)"},{"key":"40_CR8","doi-asserted-by":"crossref","unstructured":"Bonetta, D.: GraalVM: metaprogramming inside a polyglot system (invited talk). In: Proceedings of the 3rd ACM SIGPLAN International Workshop on Meta-Programming Techniques and Reflection, pp. 3\u20134 (2018)","DOI":"10.1145\/3281074.3284935"},{"key":"40_CR9","volume-title":"Engineering a Compiler","author":"K Cooper","year":"2011","unstructured":"Cooper, K., Torczon, L.: Engineering a Compiler. Elsevier Science, Amsterdam (2011)"},{"key":"40_CR10","unstructured":"Dillig, I., Dillig, T., Aiken, A.: SAIL: static analysis intermediate language with a two-level representation. Technical report (2009)"},{"key":"40_CR11","unstructured":"Dullien, T., Porst, S.: REIL: a platform-independent intermediate representation of disassembled code for static code analysis (2009)"},{"key":"40_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"406","DOI":"10.1007\/3-540-57502-2_61","volume-title":"Languages and Compilers for Parallel Computing","author":"L Hendren","year":"1992","unstructured":"Hendren, L., Donawa, C., Emami, M., Gao, G., Sridharan, B.: Designing the McCAT compiler based on a family of structured intermediate representations. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds.) LCPC 1992. LNCS, vol. 757, pp. 406\u2013420. Springer, Heidelberg (1992). https:\/\/doi.org\/10.1007\/3-540-57502-2_61"},{"issue":"12","key":"40_CR13","doi-asserted-by":"publisher","first-page":"92","DOI":"10.1145\/1052883.1052895","volume":"39","author":"D Hovemeyer","year":"2004","unstructured":"Hovemeyer, D., Pugh, W.: Finding bugs is easy. ACM SIGPLAN Notices 39(12), 92\u2013106 (2004)","journal-title":"ACM SIGPLAN Notices"},{"key":"40_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"327","DOI":"10.1007\/3-540-45337-7_18","volume-title":"ECOOP 2001 \u2014 Object-Oriented Programming","author":"G Kiczales","year":"2001","unstructured":"Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327\u2013354. Springer, Heidelberg (2001). https:\/\/doi.org\/10.1007\/3-540-45337-7_18"},{"key":"40_CR15","unstructured":"Lattner, C., Pienaar, J.: MLIR Primer: A Compiler Infrastructure for the End of Moore\u2019s Law (2019)"},{"issue":"131","key":"40_CR16","first-page":"9","volume":"178","author":"KRM Leino","year":"2008","unstructured":"Leino, K.R.M.: This is Boogie 2. Manuscr. KRML 178(131), 9 (2008)","journal-title":"Manuscr. KRML"},{"key":"40_CR17","unstructured":"Menshchikov, M.: Scalable semantic virtual machine framework for language-agnostic static analysis. In: Distributed Computing and Grid-technologies in Science and Education, pp. 213\u2013217 (2018)"},{"key":"40_CR18","unstructured":"Menshikov, M.: An approach to storing program semantics in static program analysis. In: Proceedings of The L Annual International Conference on Control Processes and Stability (CPS 2019), pp. 313\u2013320 (2019)"},{"key":"40_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"677","DOI":"10.1007\/978-3-030-24289-3_50","volume-title":"Computational Science and Its Applications \u2013 ICCSA 2019","author":"M Menshikov","year":"2019","unstructured":"Menshikov, M.: Equid\u2014a static analysis framework for industrial applications. In: Misra, S., et al. (eds.) ICCSA 2019. LNCS, vol. 11619, pp. 677\u2013692. Springer, Cham (2019). https:\/\/doi.org\/10.1007\/978-3-030-24289-3_50"},{"key":"40_CR20","unstructured":"Merrill, J.: GENERIC and GIMPLE: a new tree representation for entire functions. In: Proceedings of the 2003 GCC Developers\u2019 Summit, pp. 171\u2013179. Citeseer (2003)"},{"key":"40_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"213","DOI":"10.1007\/3-540-45937-5_16","volume-title":"Compiler Construction","author":"GC Necula","year":"2002","unstructured":"Necula, G.C., McPeak, S., Rahul, S.P., Weimer, W.: CIL: intermediate language and tools for analysis and transformation of C programs. In: Horspool, R.N. (ed.) CC 2002. LNCS, vol. 2304, pp. 213\u2013228. Springer, Heidelberg (2002). https:\/\/doi.org\/10.1007\/3-540-45937-5_16"},{"key":"40_CR22","doi-asserted-by":"crossref","unstructured":"Rigger, M., Grimmer, M., Wimmer, C., W\u00fcrthinger, T., M\u00f6ssenb\u00f6ck, H.: Bringing low-level languages to the JVM: efficient execution of LLVM IR on Truffle. In: Proceedings of the 8th International Workshop on Virtual Machines and Intermediate Languages, pp. 6\u201315 (2016)","DOI":"10.1145\/2998415.2998416"},{"key":"40_CR23","doi-asserted-by":"crossref","unstructured":"Torlak, E., Bodik, R.: Growing solver-aided languages with Rosette. In: Proceedings of the 2013 ACM International Symposium on New ideas, New Paradigms, and Reflections on Programming & Software, pp. 135\u2013152 (2013)","DOI":"10.1145\/2509578.2509586"},{"key":"40_CR24","unstructured":"Vall\u00e9e-Rai, R. Co, P., Gagnon, E., Hendren, L., Lam, P., Sundaresan, V.: Soot - a java bytecode optimization framework. In: Proceedings of the 1999 Conference of the Centre for Advanced Studies on Collaborative Research, CASCON 1999, p. 13. IBM Press (1999)"},{"issue":"12","key":"40_CR25","doi-asserted-by":"publisher","first-page":"31","DOI":"10.1145\/193209.193217","volume":"29","author":"RP Wilson","year":"1994","unstructured":"Wilson, R.P., et al.: SUIF: an infrastructure for research on parallelizing and optimizing compilers. ACM SIGPLAN Notices 29(12), 31\u201337 (1994)","journal-title":"ACM SIGPLAN Notices"},{"key":"40_CR26","doi-asserted-by":"crossref","unstructured":"Wimmer, C., W\u00fcrthinger, T.: Truffle: a self-optimizing runtime system. In: Proceedings of the 3rd Annual Conference on Systems, Programming, and Applications: Software for Humanity, pp. 13\u201314 (2012)","DOI":"10.1145\/2384716.2384723"},{"key":"40_CR27","unstructured":"Yellin, F., Lindholm, T.: The Java virtual machine specification (1996)"}],"container-title":["Lecture Notes in Computer Science","Computational Science and Its Applications \u2013 ICCSA 2020"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-58817-5_40","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,4,23]],"date-time":"2021-04-23T14:35:30Z","timestamp":1619188530000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-58817-5_40"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020]]},"ISBN":["9783030588168","9783030588175"],"references-count":27,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-58817-5_40","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2020]]},"assertion":[{"value":"30 September 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"ICCSA","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Computational Science and Its Applications","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Cagliari","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Italy","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2020","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"1 July 2020","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"4 July 2020","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":"iccsa2020","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/www.iccsa.org\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Cyber chair 4","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"1450","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":"466","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":"32","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":"32% - 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":"2.5","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":"6","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":"No","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Conference was held virtually due to COVID-19 pandemic.","order":10,"name":"additional_info_on_review_process","label":"Additional Info on Review Process","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}