{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,24]],"date-time":"2025-11-24T07:11:10Z","timestamp":1763968270018,"version":"build-2065373602"},"reference-count":34,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2018,8,1]],"date-time":"2018-08-01T00:00:00Z","timestamp":1533081600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2018,8,1]],"date-time":"2018-08-01T00:00:00Z","timestamp":1533081600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/legal\/tdmrep-license"},{"start":{"date-parts":[[2022,8,1]],"date-time":"2022-08-01T00:00:00Z","timestamp":1659312000000},"content-version":"vor","delay-in-days":1461,"URL":"http:\/\/www.elsevier.com\/open-access\/userlicense\/1.0\/"}],"funder":[{"DOI":"10.13039\/501100001665","name":"ANR","doi-asserted-by":"publisher","award":["ANR-14-CE25-0005"],"award-info":[{"award-number":["ANR-14-CE25-0005"]}],"id":[{"id":"10.13039\/501100001665","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Information and Computation"],"published-print":{"date-parts":[[2018,8]]},"DOI":"10.1016\/j.ic.2018.05.006","type":"journal-article","created":{"date-parts":[[2018,6,14]],"date-time":"2018-06-14T06:13:46Z","timestamp":1528956826000},"page":"78-115","update-policy":"https:\/\/doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":5,"special_numbering":"P1","title":["A type-based complexity analysis of Object Oriented programs"],"prefix":"10.1016","volume":"261","author":[{"given":"Emmanuel","family":"Hainry","sequence":"first","affiliation":[]},{"given":"Romain","family":"P\u00e9choux","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/j.ic.2018.05.006_br0010","doi-asserted-by":"crossref","first-page":"97","DOI":"10.1007\/BF01201998","article-title":"A new recursion-theoretic characterization of the poly-time functions","volume":"2","author":"Bellantoni","year":"1992","journal-title":"Comput. Complex."},{"issue":"1\/2","key":"10.1016\/j.ic.2018.05.006_br0020","doi-asserted-by":"crossref","first-page":"167","DOI":"10.3233\/FI-1993-191-207","article-title":"Lambda calculus characterizations of poly-time","volume":"19","author":"Leivant","year":"1993","journal-title":"Fundam. Inform."},{"issue":"2\/3","key":"10.1016\/j.ic.2018.05.006_br0030","doi-asserted-by":"crossref","first-page":"167","DOI":"10.3233\/JCS-1996-42-304","article-title":"A sound type system for secure flow analysis","volume":"4","author":"Volpano","year":"1996","journal-title":"J. Comput. Secur."},{"key":"10.1016\/j.ic.2018.05.006_br0040","series-title":"Programming Languages and Systems","first-page":"387","article-title":"Objects in polynomial time","volume":"vol. 9458","author":"Hainry","year":"2015"},{"key":"10.1016\/j.ic.2018.05.006_br0050","series-title":"26th Annual IEEE Symposium on Logic in Computer Science","first-page":"123","article-title":"A type system for complexity flow analysis","author":"Marion","year":"2011"},{"issue":"3","key":"10.1016\/j.ic.2018.05.006_br0060","doi-asserted-by":"crossref","first-page":"396","DOI":"10.1145\/503502.503505","article-title":"Featherweight Java: a minimal core calculus for Java and GJ","volume":"23","author":"Igarashi","year":"2001","journal-title":"ACM Trans. Program. Lang. Syst."},{"issue":"2","key":"10.1016\/j.ic.2018.05.006_br0070","doi-asserted-by":"crossref","first-page":"175","DOI":"10.1006\/inco.1998.2700","article-title":"Light linear logic","volume":"143","author":"Girard","year":"1998","journal-title":"Inf. Comput."},{"issue":"3","key":"10.1016\/j.ic.2018.05.006_br0080","doi-asserted-by":"crossref","first-page":"636","DOI":"10.1137\/0209048","article-title":"Space lower bounds for maze threadability on restricted machines","volume":"9","author":"Cook","year":"1980","journal-title":"SIAM J. Comput."},{"author":"Danner","key":"10.1016\/j.ic.2018.05.006_br0090"},{"key":"10.1016\/j.ic.2018.05.006_br0100","series-title":"FOSSACS","first-page":"305","article-title":"Type-based complexity analysis for fork processes","volume":"vol. 7794","author":"Hainry","year":"2013"},{"key":"10.1016\/j.ic.2018.05.006_br0110","series-title":"Automata, Languages, and Programming","first-page":"349","article-title":"Evolving graph-structures and their implicit computational complexity","volume":"vol. 7966","author":"Leivant","year":"2013"},{"issue":"5","key":"10.1016\/j.ic.2018.05.006_br0120","doi-asserted-by":"crossref","first-page":"1122","DOI":"10.1137\/S0097539704445597","article-title":"Certifying polynomial time and linear\/polynomial space for imperative programs","volume":"35","author":"Niggl","year":"2006","journal-title":"SIAM J. Comput."},{"issue":"4","key":"10.1016\/j.ic.2018.05.006_br0130","doi-asserted-by":"crossref","first-page":"29:1","DOI":"10.1145\/1555746.1555753","article-title":"Resource control graphs","volume":"10","author":"Moyen","year":"2009","journal-title":"ACM Trans. Comput. Log."},{"issue":"4","key":"10.1016\/j.ic.2018.05.006_br0140","doi-asserted-by":"crossref","DOI":"10.1145\/1555746.1555752","article-title":"A flow calculus of wp-bounds for complexity analysis","volume":"10","author":"Jones","year":"2009","journal-title":"ACM Trans. Comput. Log."},{"key":"10.1016\/j.ic.2018.05.006_br0150","series-title":"ESOP","first-page":"22","article-title":"Type-based amortised heap-space analysis","volume":"vol. 3924","author":"Hofmann","year":"2006"},{"key":"10.1016\/j.ic.2018.05.006_br0160","series-title":"CSL","first-page":"317","article-title":"Efficient type-checking for amortised heap-space analysis","volume":"vol. 5771","author":"Hofmann","year":"2009"},{"key":"10.1016\/j.ic.2018.05.006_br0170","series-title":"Symposium on Principles of Programming Languages","first-page":"185","article-title":"Static prediction of heap space usage for first-order functional programs","author":"Hofmann","year":"2003"},{"key":"10.1016\/j.ic.2018.05.006_br0180","series-title":"Symposium on Principles of Programming Languages","first-page":"223","article-title":"Static determination of quantitative resource usage for higher-order programs","author":"Jost","year":"2010"},{"key":"10.1016\/j.ic.2018.05.006_br0190","series-title":"LPAR","first-page":"347","article-title":"Automatic certification of heap consumption","volume":"vol. 3452","author":"Beringer","year":"2004"},{"key":"10.1016\/j.ic.2018.05.006_br0200","series-title":"FMCO","first-page":"113","article-title":"Costa: design and implementation of a cost and termination analyzer for Java bytecode","volume":"vol. 5382","author":"Albert","year":"2008"},{"issue":"1","key":"10.1016\/j.ic.2018.05.006_br0210","doi-asserted-by":"crossref","first-page":"142","DOI":"10.1016\/j.tcs.2011.07.009","article-title":"Cost analysis of object-oriented bytecode programs","volume":"413","author":"Albert","year":"2012","journal-title":"Theor. Comput. Sci."},{"key":"10.1016\/j.ic.2018.05.006_br0220","series-title":"Java Technologies for Real-Time and Embedded Systems","first-page":"135","article-title":"Making resource analysis practical for real-time Java","author":"Kersten","year":"2012"},{"key":"10.1016\/j.ic.2018.05.006_br0230","series-title":"FM 2005: Formal Methods","first-page":"91","article-title":"Certified memory usage analysis","volume":"vol. 3582","author":"Cachera","year":"2005"},{"key":"10.1016\/j.ic.2018.05.006_br0240","series-title":"Proceedings of the 2009 International Symposium on Memory Management","first-page":"129","article-title":"Live heap space analysis for languages with garbage collection","author":"Albert","year":"2009"},{"key":"10.1016\/j.ic.2018.05.006_br0250","first-page":"121","article-title":"Parametric Inference of Memory Requirements for Garbage Collected Languages","volume":"vol. 45","author":"Albert","year":"2010"},{"key":"10.1016\/j.ic.2018.05.006_br0260","series-title":"Static Analysis","first-page":"70","article-title":"Memory usage verification for OO programs","author":"Chin","year":"2005"},{"key":"10.1016\/j.ic.2018.05.006_br0270","series-title":"24th Annual IEEE Symposium on Logic in Computer Science","first-page":"133","article-title":"Pointer programs and undirected reachability","author":"Hofmann","year":"2009"},{"issue":"4","key":"10.1016\/j.ic.2018.05.006_br0280","doi-asserted-by":"crossref","DOI":"10.1145\/1805950.1805956","article-title":"Pure pointer programs with iteration","volume":"11","author":"Hofmann","year":"2010","journal-title":"ACM Trans. Comput. Log."},{"issue":"3","key":"10.1016\/j.ic.2018.05.006_br0290","article-title":"Size-change termination, monotonicity constraints and ranking functions","volume":"6","author":"Ben-Amram","year":"2010","journal-title":"Log. Methods Comput. Sci."},{"key":"10.1016\/j.ic.2018.05.006_br0300","series-title":"Verification, Model Checking, and Abstract Interpretation","first-page":"72","article-title":"On the termination of integer loops","volume":"vol. 7148","author":"Ben-Amram","year":"2012"},{"key":"10.1016\/j.ic.2018.05.006_br0310","series-title":"Computer Aided Verification","first-page":"415","article-title":"Terminator: beyond safety","volume":"vol. 4144","author":"Cook","year":"2006"},{"key":"10.1016\/j.ic.2018.05.006_br0320","series-title":"Symposium on Principles of Programming Languages","first-page":"132","article-title":"Transition predicate abstraction and fair termination","author":"Podelski","year":"2005"},{"key":"10.1016\/j.ic.2018.05.006_br0330","series-title":"Computer Aided Verification","first-page":"51","article-title":"Speed: symbolic complexity bound analysis","volume":"vol. 5643","author":"Gulwani","year":"2009"},{"key":"10.1016\/j.ic.2018.05.006_br0340","series-title":"Symposium on Principles of Programming Languages","first-page":"127","article-title":"Speed: precise and efficient static estimation of program computational complexity","author":"Gulwani","year":"2009"}],"container-title":["Information and Computation"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0890540118300786?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0890540118300786?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2025,10,11]],"date-time":"2025-10-11T13:13:42Z","timestamp":1760188422000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0890540118300786"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,8]]},"references-count":34,"alternative-id":["S0890540118300786"],"URL":"https:\/\/doi.org\/10.1016\/j.ic.2018.05.006","relation":{},"ISSN":["0890-5401"],"issn-type":[{"type":"print","value":"0890-5401"}],"subject":[],"published":{"date-parts":[[2018,8]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"A type-based complexity analysis of Object Oriented programs","name":"articletitle","label":"Article Title"},{"value":"Information and Computation","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/j.ic.2018.05.006","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"article","name":"content_type","label":"Content Type"},{"value":"\u00a9 2018 Elsevier Inc.","name":"copyright","label":"Copyright"}]}}