{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,16]],"date-time":"2024-09-16T18:41:46Z","timestamp":1726512106111},"reference-count":36,"publisher":"Elsevier BV","license":[{"start":{"date-parts":[[2012,11,1]],"date-time":"2012-11-01T00:00:00Z","timestamp":1351728000000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2016,11,2]],"date-time":"2016-11-02T00:00:00Z","timestamp":1478044800000},"content-version":"vor","delay-in-days":1462,"URL":"https:\/\/www.elsevier.com\/open-access\/userlicense\/1.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Theoretical Computer Science"],"published-print":{"date-parts":[[2012,11]]},"DOI":"10.1016\/j.tcs.2012.07.032","type":"journal-article","created":{"date-parts":[[2012,8,13]],"date-time":"2012-08-13T10:32:37Z","timestamp":1344853957000},"page":"29-48","source":"Crossref","is-referenced-by-count":2,"special_numbering":"C","title":["A type system for counting instances of software components"],"prefix":"10.1016","volume":"458","author":[{"given":"Marc","family":"Bezem","sequence":"first","affiliation":[]},{"given":"Dag","family":"Hovland","sequence":"additional","affiliation":[]},{"given":"Hoang","family":"Truong","sequence":"additional","affiliation":[]}],"member":"78","reference":[{"key":"10.1016\/j.tcs.2012.07.032_br000005","unstructured":"The open group base specifications\u00a0Issue 6. In: IEEE Std 1003.1, 2004 edition."},{"key":"10.1016\/j.tcs.2012.07.032_br000010","series-title":"ISMM\u201907: Proceedings of the 6th International Symposium on Memory Management","first-page":"105","article-title":"Heap space analysis for Java bytecode","author":"Albert","year":"2007"},{"key":"10.1016\/j.tcs.2012.07.032_br000015","first-page":"117","article-title":"Lambda calculi with types","volume":"vol. 2","author":"Barendregt","year":"1992"},{"key":"10.1016\/j.tcs.2012.07.032_br000020","series-title":"SEFM\u201905: Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods","first-page":"86","article-title":"Precise analysis of memory consumption using program logics","author":"Barthe","year":"2005"},{"issue":"1\u20133","key":"10.1016\/j.tcs.2012.07.032_br000025","doi-asserted-by":"crossref","first-page":"109","DOI":"10.1016\/S0019-9958(84)80025-X","article-title":"Process algebra for synchronous communication","volume":"60","author":"Bergstra","year":"1984","journal-title":"Information and Control"},{"key":"10.1016\/j.tcs.2012.07.032_br000030","series-title":"PLDI\u201903: Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation","first-page":"324","article-title":"Ownership types for safe region-based memory management in real-time Java","author":"Boyapati","year":"2003"},{"issue":"5","key":"10.1016\/j.tcs.2012.07.032_br000035","doi-asserted-by":"crossref","first-page":"31","DOI":"10.5381\/jot.2006.5.5.a2","article-title":"A static analysis for synthesizing parametric specifications of dynamic memory consumption","volume":"5","author":"Braberman","year":"2006","journal-title":"Journal of Object Technology"},{"key":"10.1016\/j.tcs.2012.07.032_br000040","series-title":"PLDI\u201907: Proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation","first-page":"480","article-title":"Practical memory leak detection using guarded value-flow analysis","author":"Cherem","year":"2007"},{"key":"10.1016\/j.tcs.2012.07.032_br000045","series-title":"SAS","first-page":"70","article-title":"Memory usage verification for OO programs","volume":"vol. 3672","author":"Chin","year":"2005"},{"issue":"10","key":"10.1016\/j.tcs.2012.07.032_br000050","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/320385.320386","article-title":"Escape analysis for Java","volume":"34","author":"Choi","year":"1999","journal-title":"SIGPLAN Notices"},{"key":"10.1016\/j.tcs.2012.07.032_br000055","series-title":"POPL\u201999: Proceedings of the 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","first-page":"262","article-title":"Typed memory management in a calculus of capabilities","author":"Crary","year":"1999"},{"key":"10.1016\/j.tcs.2012.07.032_br000060","series-title":"POPL\u201900: Proceedings of the 27th ACM SIGPLAN\u2013SIGACT Symposium on Principles of Programming Languages","first-page":"184","article-title":"Resource bound certification","author":"Crary","year":"2000"},{"key":"10.1016\/j.tcs.2012.07.032_br000065","series-title":"LINEARITY","first-page":"26","article-title":"Uniqueness typing for resource management in message-passing concurrency","volume":"vol. 22","author":"de~Vries","year":"2009"},{"year":"1995","series-title":"Design Patterns: Elements of Reusable Object\u2013Oriented Software","author":"Gamma","key":"10.1016\/j.tcs.2012.07.032_br000070"},{"issue":"3","key":"10.1016\/j.tcs.2012.07.032_br000075","doi-asserted-by":"crossref","first-page":"117","DOI":"10.1016\/j.entcs.2009.06.042","article-title":"Counting the cost in the picalculus (extended abstract)","volume":"229","author":"Hennessy","year":"2009","journal-title":"Electronic Notes in Theoretical Computer Science"},{"key":"10.1016\/j.tcs.2012.07.032_br000080","series-title":"POPL\u201903: Proceedings of the 30th ACM SIGPLAN-SIGACT 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.tcs.2012.07.032_br000085","series-title":"Proceedings of the 15th European Symposium on Programming (ESOP), Programming Languages and Systems","first-page":"22","article-title":"Type-based amortised heap-space analysis (for an object-oriented language)","volume":"vol. 3924","author":"Hofmann","year":"2006"},{"key":"10.1016\/j.tcs.2012.07.032_br000090","series-title":"TYPES","first-page":"186","article-title":"A type system for usage of software components","volume":"vol. 5497","author":"Hovland","year":"2009"},{"issue":"9","key":"10.1016\/j.tcs.2012.07.032_br000095","doi-asserted-by":"crossref","first-page":"70","DOI":"10.1145\/317765.317785","article-title":"Recursion and dynamic data-structures in bounded space: towards embedded ML programming","volume":"34","author":"Hughes","year":"1999","journal-title":"SIGPLAN Notices"},{"key":"10.1016\/j.tcs.2012.07.032_br000100","series-title":"POPL\u201996: Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","first-page":"410","article-title":"Proving the correctness of reactive systems using sized types","author":"Hughes","year":"1996"},{"year":"1997","series-title":"The Art of Computer Programming, Volume I: Fundamental Algorithms","author":"Knuth","key":"10.1016\/j.tcs.2012.07.032_br000105"},{"issue":"3","key":"10.1016\/j.tcs.2012.07.032_br000110","doi-asserted-by":"crossref","DOI":"10.2168\/LMCS-2(3:4)2006","article-title":"Resource usage analysis for the \u03c0-calculus","volume":"2","author":"Kobayashi","year":"2006","journal-title":"Logical Methods in Computer Science"},{"key":"10.1016\/j.tcs.2012.07.032_br000115","series-title":"A Calculus of Communicating Systems","volume":"vol. 92","author":"Milner","year":"1980"},{"year":"2002","series-title":"Types and Programming Languages","author":"Pierce","key":"10.1016\/j.tcs.2012.07.032_br000120"},{"key":"10.1016\/j.tcs.2012.07.032_br000125","unstructured":"Gordon D. Plotkin, A structural approach to operational semantics. Technical Report DAIMI FN\u201319, Computer Science Department, Aarhus University, Aarhus, Denmark, September 1981."},{"year":"2005","series-title":"The Unified Modeling Language Reference Manual","author":"Rumbaugh","key":"10.1016\/j.tcs.2012.07.032_br000130"},{"key":"10.1016\/j.tcs.2012.07.032_br000135","series-title":"A Theory of Mobile Processes","article-title":"The \u03c0-calculus","author":"Sangiorgi","year":"2001"},{"year":"2000","series-title":"The C++ Programming Language","author":"Stroustrup","key":"10.1016\/j.tcs.2012.07.032_br000140"},{"key":"10.1016\/j.tcs.2012.07.032_br000145","series-title":"IFIP TCS","first-page":"605","article-title":"Recovering resources in the pi-calculus","author":"Teller","year":"2004"},{"issue":"2","key":"10.1016\/j.tcs.2012.07.032_br000150","doi-asserted-by":"crossref","first-page":"109","DOI":"10.1006\/inco.1996.2613","article-title":"Region-based memory management","volume":"132","author":"Tofte","year":"1997","journal-title":"Information and Computation"},{"key":"10.1016\/j.tcs.2012.07.032_br000155","series-title":"FMOODS","first-page":"179","article-title":"Guaranteeing resource bounds for component software","volume":"vol. 3535","author":"Truong","year":"2005"},{"key":"10.1016\/j.tcs.2012.07.032_br000160","series-title":"Proceedings ICTAC","first-page":"227","article-title":"Finding resource bounds in the presence of explicit deallocation","volume":"vol. 3722","author":"Truong","year":"2005"},{"key":"10.1016\/j.tcs.2012.07.032_br000165","series-title":"VMCAI 2003: Proceedings of the 4th International Conference on Verification, Model Checking, and Abstract Interpretation","first-page":"70","article-title":"Optimized live heap bound analysis","author":"Unnikrishnan","year":"2003"},{"issue":"1","key":"10.1016\/j.tcs.2012.07.032_br000170","doi-asserted-by":"crossref","first-page":"38","DOI":"10.1006\/inco.1994.1093","article-title":"A syntactic approach to type soundness","volume":"115","author":"Wright","year":"1994","journal-title":"Information and Computation"},{"key":"10.1016\/j.tcs.2012.07.032_br000175","series-title":"ESEC\/SIGSOFT FSE","first-page":"115","article-title":"Context- and path-sensitive memory leak detection","author":"Xie","year":"2005"},{"key":"10.1016\/j.tcs.2012.07.032_br000180","series-title":"ESEC\/SIGSOFT FSE","first-page":"307","article-title":"Protecting C programs from attacks via invalid pointer dereferences","author":"Yong","year":"2003"}],"container-title":["Theoretical Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0304397512007414?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S0304397512007414?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2018,11,21]],"date-time":"2018-11-21T09:02:34Z","timestamp":1542790954000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S0304397512007414"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,11]]},"references-count":36,"alternative-id":["S0304397512007414"],"URL":"https:\/\/doi.org\/10.1016\/j.tcs.2012.07.032","relation":{},"ISSN":["0304-3975"],"issn-type":[{"type":"print","value":"0304-3975"}],"subject":[],"published":{"date-parts":[[2012,11]]}}}