{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,7]],"date-time":"2025-10-07T23:29:22Z","timestamp":1759879762364,"version":"3.40.3"},"publisher-location":"Cham","reference-count":34,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030853143"},{"type":"electronic","value":"9783030853150"}],"license":[{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"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":[[2021]]},"DOI":"10.1007\/978-3-030-85315-0_20","type":"book-chapter","created":{"date-parts":[[2021,8,19]],"date-time":"2021-08-19T12:05:42Z","timestamp":1629374742000},"page":"357-365","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["ComplexityParser: An Automatic Tool for Certifying Poly-Time Complexity of Java Programs"],"prefix":"10.1007","author":[{"given":"Emmanuel","family":"Hainry","sequence":"first","affiliation":[]},{"given":"Emmanuel","family":"Jeandel","sequence":"additional","affiliation":[]},{"given":"Romain","family":"P\u00e9choux","sequence":"additional","affiliation":[]},{"given":"Olivier","family":"Zeyen","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2021,8,20]]},"reference":[{"key":"20_CR1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"157","DOI":"10.1007\/978-3-540-71316-6_12","volume-title":"Programming Languages and Systems","author":"E Albert","year":"2007","unstructured":"Albert, E., Arenas, P., Genaim, S., Puebla, G., Zanardini, D.: Cost analysis of Java bytecode. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 157\u2013172. Springer, Heidelberg (2007). https:\/\/doi.org\/10.1007\/978-3-540-71316-6_12"},{"issue":"1","key":"20_CR2","doi-asserted-by":"publisher","first-page":"142","DOI":"10.1016\/j.tcs.2011.07.009","volume":"413","author":"E Albert","year":"2012","unstructured":"Albert, E., Arenas, P., Genaim, S., Puebla, G., Zanardini, D.: Cost analysis of object-oriented bytecode programs. Theoret. Comput. Sci. 413(1), 142\u2013159 (2012)","journal-title":"Theoret. Comput. Sci."},{"key":"20_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"407","DOI":"10.1007\/978-3-662-49674-9_24","volume-title":"Tools and Algorithms for the Construction and Analysis of Systems","author":"M Avanzini","year":"2016","unstructured":"Avanzini, M., Moser, G., Schaper, M.: TcT: tyrolean complexity tool. In: Chechik, M., Raskin, J.-F. (eds.) TACAS 2016. LNCS, vol. 9636, pp. 407\u2013423. Springer, Heidelberg (2016). https:\/\/doi.org\/10.1007\/978-3-662-49674-9_24"},{"key":"20_CR4","doi-asserted-by":"publisher","first-page":"97","DOI":"10.1007\/BF01201998","volume":"2","author":"S Bellantoni","year":"1992","unstructured":"Bellantoni, S., Cook, S.A.: A new recursion-theoretic characterization of the polytime functions. Comput. Complex. 2, 97\u2013110 (1992)","journal-title":"Comput. Complex."},{"key":"20_CR5","doi-asserted-by":"crossref","unstructured":"Ben-Amram, A.M., Genaim, S.: On the linear ranking problem for integer linear-constraint loops. In: 2013 Principles of Programming Languages (POPL), pp. 51\u201362 (2013)","DOI":"10.1145\/2480359.2429078"},{"key":"20_CR6","doi-asserted-by":"crossref","unstructured":"Ben-Amram, A.M., Hamilton, G.W.: Tight worst-case bounds for polynomial loop programs. In: 2019 Foundations of Software Science and Computation Structure (FoSSaCS), pp. 80\u201397 (2019)","DOI":"10.1007\/978-3-030-17127-8_5"},{"key":"20_CR7","series-title":"The Java Series ... from the Source","volume-title":"Effective Java","author":"JJ Bloch","year":"2008","unstructured":"Bloch, J.J.: Effective Java. The Java Series ... from the Source, 2nd edn. Addison-Wesley, Boston (2008)","edition":"2"},{"key":"20_CR8","doi-asserted-by":"publisher","first-page":"82","DOI":"10.1016\/j.ic.2015.12.009","volume":"248","author":"G Bonfante","year":"2016","unstructured":"Bonfante, G., Kahle, R., Marion, J.Y., Oitavem, I.: Two function algebras defining functions in NC$${}^{\\text{ k }}$$ boolean circuits. Inf. Comput. 248, 82\u2013103 (2016)","journal-title":"Inf. Comput."},{"key":"20_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"85","DOI":"10.1007\/978-3-319-66845-1_6","volume-title":"Integrated Formal Methods","author":"F Frohn","year":"2017","unstructured":"Frohn, F., Giesl, J.: Complexity analysis for Java with AProVE. In: Polikarpova, N., Schneider, S. (eds.) IFM 2017. LNCS, vol. 10510, pp. 85\u2013101. Springer, Cham (2017). https:\/\/doi.org\/10.1007\/978-3-319-66845-1_6"},{"key":"20_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"51","DOI":"10.1007\/978-3-642-02658-4_7","volume-title":"Computer Aided Verification","author":"S Gulwani","year":"2009","unstructured":"Gulwani, S.: SPEED: symbolic complexity bound analysis. In: Bouajjani, A., Maler, O. (eds.) CAV 2009. LNCS, vol. 5643, pp. 51\u201362. Springer, Heidelberg (2009). https:\/\/doi.org\/10.1007\/978-3-642-02658-4_7"},{"key":"20_CR11","doi-asserted-by":"crossref","unstructured":"Gulwani, S., Mehra, K.K., Chilimbi, T.M.: SPEED: precise and efficient static estimation of program computational complexity. In: 2009 Principles of Programming Languages (POPL), pp. 127\u2013139 (2009)","DOI":"10.1145\/1594834.1480898"},{"key":"20_CR12","doi-asserted-by":"crossref","unstructured":"Hainry, E., Kapron, B.M., Marion, J.Y., P\u00e9choux, R.: A tier-based typed programming language characterizing feasible functionals. In: 2020 Logic in Computer Science (LICS), pp. 535\u2013549 (2020)","DOI":"10.1145\/3373718.3394768"},{"key":"20_CR13","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"305","DOI":"10.1007\/978-3-642-37075-5_20","volume-title":"Foundations of Software Science and Computation Structures","author":"E Hainry","year":"2013","unstructured":"Hainry, E., Marion, J.-Y., P\u00e9choux, R.: Type-based complexity analysis for fork processes. In: Pfenning, F. (ed.) FoSSaCS 2013. LNCS, vol. 7794, pp. 305\u2013320. Springer, Heidelberg (2013). https:\/\/doi.org\/10.1007\/978-3-642-37075-5_20"},{"key":"20_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"387","DOI":"10.1007\/978-3-319-26529-2_21","volume-title":"Programming Languages and Systems","author":"E Hainry","year":"2015","unstructured":"Hainry, E., P\u00e9choux, R.: Objects in polynomial time. In: Feng, X., Park, S. (eds.) APLAS 2015. LNCS, vol. 9458, pp. 387\u2013404. Springer, Cham (2015). https:\/\/doi.org\/10.1007\/978-3-319-26529-2_21"},{"key":"20_CR15","doi-asserted-by":"publisher","first-page":"78","DOI":"10.1016\/j.ic.2018.05.006","volume":"261","author":"E Hainry","year":"2018","unstructured":"Hainry, E., P\u00e9choux, R.: A type-based complexity analysis of object oriented programs. Inf. Comput. 261, 78\u2013115 (2018)","journal-title":"Inf. Comput."},{"key":"20_CR16","doi-asserted-by":"publisher","first-page":"227","DOI":"10.1016\/0304-3975(79)90046-X","volume":"8","author":"P H\u00e1jek","year":"1979","unstructured":"H\u00e1jek, P.: Arithmetical hierarchy and complexity of computation. Theoret. Comput. Sci. 8, 227\u2013237 (1979)","journal-title":"Theoret. Comput. Sci."},{"key":"20_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"781","DOI":"10.1007\/978-3-642-31424-7_64","volume-title":"Computer Aided Verification","author":"J Hoffmann","year":"2012","unstructured":"Hoffmann, J., Aehlig, K., Hofmann, M.: Resource aware ML. In: Madhusudan, P., Seshia, S.A. (eds.) CAV 2012. LNCS, vol. 7358, pp. 781\u2013786. Springer, Heidelberg (2012). https:\/\/doi.org\/10.1007\/978-3-642-31424-7_64"},{"key":"20_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"317","DOI":"10.1007\/978-3-642-04027-6_24","volume-title":"Computer Science Logic","author":"M Hofmann","year":"2009","unstructured":"Hofmann, M., Rodriguez, D.: Efficient type-checking for amortised heap-space analysis. In: Gr\u00e4del, E., Kahle, R. (eds.) CSL 2009. LNCS, vol. 5771, pp. 317\u2013331. Springer, Heidelberg (2009). https:\/\/doi.org\/10.1007\/978-3-642-04027-6_24"},{"key":"20_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"593","DOI":"10.1007\/978-3-642-37036-6_32","volume-title":"Programming Languages and Systems","author":"M Hofmann","year":"2013","unstructured":"Hofmann, M., Rodriguez, D.: Automatic type inference for amortised heap-space analysis. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 593\u2013613. Springer, Heidelberg (2013). https:\/\/doi.org\/10.1007\/978-3-642-37036-6_32"},{"key":"20_CR20","doi-asserted-by":"crossref","unstructured":"Lee, C.S., Jones, N.D., Ben-Amram, A.M.: The size-change principle for program termination. In: 2001 Principles of Programming Languages (POPL), pp. 81\u201392 (2001)","DOI":"10.1145\/373243.360210"},{"key":"20_CR21","doi-asserted-by":"crossref","unstructured":"Leivant, D.: A characterization of NC by tree recurrence. In: Foundations of Computer Science 1998, pp. 716\u2013724. IEEE (1998)","DOI":"10.1109\/SFCS.1998.743522"},{"key":"20_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"274","DOI":"10.1007\/BFb0037112","volume-title":"Typed Lambda Calculi and Applications","author":"D Leivant","year":"1993","unstructured":"Leivant, D., Marion, J.-Y.: Lambda calculus characterizations of poly-time. In: Bezem, M., Groote, J.F. (eds.) TLCA 1993. LNCS, vol. 664, pp. 274\u2013288. Springer, Heidelberg (1993). https:\/\/doi.org\/10.1007\/BFb0037112"},{"key":"20_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"486","DOI":"10.1007\/BFb0022277","volume-title":"Computer Science Logic","author":"D Leivant","year":"1995","unstructured":"Leivant, D., Marion, J.-Y.: Ramified recurrence and computational complexity II: substitution and poly-space. In: Pacholski, L., Tiuryn, J. (eds.) CSL 1994. LNCS, vol. 933, pp. 486\u2013500. Springer, Heidelberg (1995). https:\/\/doi.org\/10.1007\/BFb0022277"},{"key":"20_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"349","DOI":"10.1007\/978-3-642-39212-2_32","volume-title":"Automata, Languages, and Programming","author":"D Leivant","year":"2013","unstructured":"Leivant, D., Marion, J.-Y.: Evolving graph-structures and their implicit computational complexity. In: Fomin, F.V., Freivalds, R., Kwiatkowska, M., Peleg, D. (eds.) ICALP 2013, Part II. LNCS, vol. 7966, pp. 349\u2013360. Springer, Heidelberg (2013). https:\/\/doi.org\/10.1007\/978-3-642-39212-2_32"},{"key":"20_CR25","doi-asserted-by":"crossref","unstructured":"Marion, J.Y.: A type system for complexity flow analysis. In: 2011 Logic in Computer Science (LICS), pp. 123\u2013132. IEEE (2011)","DOI":"10.1109\/LICS.2011.41"},{"key":"20_CR26","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"124","DOI":"10.1007\/978-3-319-06089-7_9","volume-title":"Theory and Applications of Models of Computation","author":"J-Y Marion","year":"2014","unstructured":"Marion, J.-Y., P\u00e9choux, R.: Complexity information flow in a multi-threaded imperative language. In: Gopal, T.V., Agrawal, M., Li, A., Cooper, S.B. (eds.) TAMC 2014. LNCS, vol. 8402, pp. 124\u2013140. Springer, Cham (2014). https:\/\/doi.org\/10.1007\/978-3-319-06089-7_9"},{"key":"20_CR27","doi-asserted-by":"publisher","first-page":"116","DOI":"10.1016\/j.ic.2018.05.007","volume":"261","author":"G Moser","year":"2018","unstructured":"Moser, G., Schaper, M.: From Jinja bytecode to term rewriting: a complexity reflecting transformation. Inf. Comput. 261, 116\u2013143 (2018)","journal-title":"Inf. Comput."},{"key":"20_CR28","unstructured":"de Naurois, P.J.: Pointers in recursion: exploring the tropics. In: 2019 Formal Structures for Computation and Deduction (FSCD), pp. 29:1\u201329:18 (2019)"},{"key":"20_CR29","unstructured":"Parr, T.: The definitive ANTLR 4 reference. Pragmatic Bookshelf (2013)"},{"key":"20_CR30","doi-asserted-by":"crossref","unstructured":"Parr, T., Harwell, S., Fisher, K.: Adaptive LL(*) parsing: the power of dynamic analysis. In: 2014 Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), pp. 579\u2013598 (2014)","DOI":"10.1145\/2660193.2660202"},{"issue":"3","key":"20_CR31","doi-asserted-by":"publisher","first-page":"15","DOI":"10.1145\/1232420.1232422","volume":"29","author":"A Podelski","year":"2007","unstructured":"Podelski, A., Rybalchenko, A.: Transition predicate abstraction and fair termination. ACM Trans. Program. Lang. Syst. 29(3), 15 (2007)","journal-title":"ACM Trans. Program. Lang. Syst."},{"issue":"1","key":"20_CR32","doi-asserted-by":"publisher","first-page":"67","DOI":"10.1016\/0898-1221(81)90008-0","volume":"7","author":"M Sharir","year":"1981","unstructured":"Sharir, M.: A strong-connectivity algorithm and its applications in data flow analysis. Comput. Math. Appl. 7(1), 67\u201372 (1981)","journal-title":"Comput. Math. Appl."},{"key":"20_CR33","doi-asserted-by":"crossref","unstructured":"Shkaravska, O., Kersten, R., van Eekelen, M.C.J.D.: Test-based inference of polynomial loop-bound functions. In: 2010 Principles and Practice of Programming in Java (PPPJ), pp. 99\u2013108 (2010)","DOI":"10.1145\/1852761.1852776"},{"issue":"3","key":"20_CR34","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/1709093.1709095","volume":"32","author":"F Spoto","year":"2010","unstructured":"Spoto, F., Mesnard, F., Payet, \u00c9.: A termination analyzer for java bytecode based on path-length. ACM Trans. Program. Lang. Syst. 32(3), 1\u201370 (2010)","journal-title":"ACM Trans. Program. Lang. Syst."}],"container-title":["Lecture Notes in Computer Science","Theoretical Aspects of Computing \u2013 ICTAC 2021"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-85315-0_20","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,9,6]],"date-time":"2024-09-06T21:48:45Z","timestamp":1725659325000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-85315-0_20"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021]]},"ISBN":["9783030853143","9783030853150"],"references-count":34,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-85315-0_20","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2021]]},"assertion":[{"value":"20 August 2021","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"ICTAC","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Colloquium on Theoretical Aspects of Computing","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2021","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"6 September 2021","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"10 September 2021","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"18","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"ictac2021","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/ictac2021.github.io\/","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":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"55","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":"20","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":"36% - 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":"3","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":"3","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)"}}]}}