{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,6]],"date-time":"2024-09-06T04:18:09Z","timestamp":1725596289689},"publisher-location":"Berlin, Heidelberg","reference-count":28,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642226540"},{"type":"electronic","value":"9783642226557"}],"license":[{"start":{"date-parts":[[2011,1,1]],"date-time":"2011-01-01T00:00:00Z","timestamp":1293840000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2011,1,1]],"date-time":"2011-01-01T00:00:00Z","timestamp":1293840000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2011]]},"DOI":"10.1007\/978-3-642-22655-7_22","type":"book-chapter","created":{"date-parts":[[2011,7,18]],"date-time":"2011-07-18T17:37:43Z","timestamp":1311010663000},"page":"459-483","source":"Crossref","is-referenced-by-count":21,"title":["Gradual Typestate"],"prefix":"10.1007","author":[{"given":"Roger","family":"Wolff","sequence":"first","affiliation":[]},{"given":"Ronald","family":"Garcia","sequence":"additional","affiliation":[]},{"given":"\u00c9ric","family":"Tanter","sequence":"additional","affiliation":[]},{"given":"Jonathan","family":"Aldrich","sequence":"additional","affiliation":[]}],"member":"297","reference":[{"issue":"4","key":"22_CR1","first-page":"397","volume":"77","author":"A. Ahmed","year":"2007","unstructured":"Ahmed, A., Fluet, M., Morrisett, G.: L3: A linear language with locations. Fundamenta Informaticae\u00a077(4), 397\u2013449 (2007)","journal-title":"Fundamenta Informaticae"},{"key":"22_CR2","first-page":"1015","volume-title":"Proc. Onward! 2009","author":"J. Aldrich","year":"2009","unstructured":"Aldrich, J., Sunshine, J., Saini, D., Sparks, Z.: Typestate-oriented programming. In: Proc. Onward! 2009, pp. 1015\u20131022. ACM, New York (2009)"},{"key":"22_CR3","doi-asserted-by":"publisher","first-page":"38","DOI":"10.1145\/185009.185016","volume":"29","author":"H.G. Baker","year":"1994","unstructured":"Baker, H.G.: Minimizing reference count updating with deferred and anchored pointers for functional data structures. SIGPLAN Not.\u00a029, 38\u201343 (1994)","journal-title":"SIGPLAN Not."},{"key":"22_CR4","first-page":"301","volume-title":"Proc. Conference on Object-oriented Programming Systems and Applications","author":"K. Bierhoff","year":"2007","unstructured":"Bierhoff, K., Aldrich, J.: Modular typestate checking of aliased objects. In: Proc. Conference on Object-oriented Programming Systems and Applications, pp. 301\u2013320. ACM, New York (2007)"},{"key":"22_CR5","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"195","DOI":"10.1007\/978-3-642-03013-0_10","volume-title":"ECOOP 2009 \u2013 Object-Oriented Programming","author":"K. Bierhoff","year":"2009","unstructured":"Bierhoff, K., Beckman, N.E., Aldrich, J.: Practical API protocol checking with access permissions. In: Drossopoulou, S. (ed.) ECOOP 2009. LNCS, vol.\u00a05653, pp. 195\u2013219. Springer, Heidelberg (2009)"},{"key":"22_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"76","DOI":"10.1007\/978-3-642-14107-2_5","volume-title":"ECOOP 2010 \u2013 Object-Oriented Programming","author":"G. Bierman","year":"2010","unstructured":"Bierman, G., Meijer, E., Torgersen, M.: Adding dynamic types to c\n \n \n \n $^\\sharp$\n . In: D\u2019Hondt, T. (ed.) ECOOP 2010. LNCS, vol.\u00a06183, pp. 76\u2013100. Springer, Heidelberg (2010)"},{"key":"22_CR7","first-page":"5","volume-title":"Proc. International Conference on Software Engineering","author":"E. Bodden","year":"2010","unstructured":"Bodden, E.: Efficient hybrid typestate analysis by determining continuation-equivalent states. In: Proc. International Conference on Software Engineering, pp. 5\u201314. ACM, New York (2010)"},{"key":"22_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"55","DOI":"10.1007\/3-540-44898-5_4","volume-title":"Static Analysis","author":"J. Boyland","year":"2003","unstructured":"Boyland, J.: Checking interference with fractional permissions. In: Cousot, R. (ed.) SAS 2003. LNCS, vol.\u00a02694, pp. 55\u201372. Springer, Heidelberg (2003)"},{"key":"22_CR9","first-page":"283","volume-title":"Symposium on Principles of Programming Languages","author":"J. Boyland","year":"2005","unstructured":"Boyland, J., Retert, W.: Connecting effects and uniqueness with adoption. In: Symposium on Principles of Programming Languages, pp. 283\u2013295. ACM, New York (2005)"},{"key":"22_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"465","DOI":"10.1007\/978-3-540-24851-4_21","volume-title":"ECOOP 2004 \u2013 Object-Oriented Programming","author":"R. DeLine","year":"2004","unstructured":"DeLine, R., F\u00e4hndrich, M.: Typestates for objects. In: Vetta, A. (ed.) ECOOP 2004. LNCS, vol.\u00a03086, pp. 465\u2013490. Springer, Heidelberg (2004)"},{"key":"22_CR11","series-title":"Lecture Notes in Computer Science","volume-title":"ECOOP 2001 - Object-Oriented Programming","author":"S. Drossopoulou","year":"2001","unstructured":"Drossopoulou, S., Damiani, F., Dezani-Ciancaglini, M., Giannini, P.: Fickle: Dynamic object re-classification. In: Lee, S.H. (ed.) ECOOP 2001. LNCS, vol.\u00a02072, Springer, Heidelberg (2001)"},{"issue":"2","key":"22_CR12","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/1348250.1348255","volume":"17","author":"S.J. Fink","year":"2008","unstructured":"Fink, S.J., Yahav, E., Dor, N., Ramalingam, G., Geay, E.: Effective typestate verification in the presence of aliasing. ACM Trans. Softw. Eng. Methodol.\u00a017(2), 1\u201334 (2008)","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"22_CR13","series-title":"Professional Computing Series","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"E. Gamma","year":"1994","unstructured":"Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Professional Computing Series. Addison-Wesley, Reading (1994)"},{"key":"22_CR14","unstructured":"Garcia, R., Wolff, R., Tanter, \u00c9., Aldrich, J.: Featherweight Typestate. Technical Report CMU-ISR-10-115, Carnegie Mellon University (July 2010)"},{"key":"22_CR15","first-page":"299","volume-title":"Symposium on Principles of programming languages","author":"S. Gay","year":"2010","unstructured":"Gay, S., Vasconcelos, V., Ravara, A., Gesbert, N., Caldeira, A.: Modular session types for distributed object-oriented programming. In: Symposium on Principles of programming languages, pp. 299\u2013312. ACM, New York (2010)"},{"issue":"1","key":"22_CR16","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1016\/0304-3975(87)90045-4","volume":"50","author":"J.-Y. Girard","year":"1987","unstructured":"Girard, J.-Y.: Linear logic. Theor. Comput. Sci.\u00a050(1), 1\u2013102 (1987)","journal-title":"Theor. Comput. Sci."},{"issue":"3","key":"22_CR17","doi-asserted-by":"publisher","first-page":"396","DOI":"10.1145\/503502.503505","volume":"23","author":"A. Igarashi","year":"2001","unstructured":"Igarashi, A., Pierce, B.C., Wadler, P.: Featherweight Java: a minimal core calculus for Java and GJ. ACM Trans. Program. Lang. Syst.\u00a023(3), 396\u2013450 (2001)","journal-title":"ACM Trans. Program. Lang. Syst."},{"issue":"2","key":"22_CR18","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/1667048.1667051","volume":"32","author":"K. Knowles","year":"2010","unstructured":"Knowles, K., Flanagan, C.: Hybrid type checking. ACM Trans. Program. Lang. Syst.\u00a032(2), 6:1\u20136:34 (2010)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"22_CR19","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/1111596.1111597","volume":"28","author":"Y. Levanoni","year":"2006","unstructured":"Levanoni, Y., Petrank, E.: An on-the-fly reference-counting garbage collector for Java. ACM Trans. Program. Lang. Syst.\u00a028, 1\u201369 (2006)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"22_CR20","first-page":"347","volume-title":"Proc. Conference on Object-oriented programming systems languages and applications","author":"N.A. Naeem","year":"2008","unstructured":"Naeem, N.A., Lhot\u00e1k, O.: Typestate-like analysis of multiple interacting objects. In: Proc. Conference on Object-oriented programming systems languages and applications, pp. 347\u2013366. ACM, New York (2008)"},{"issue":"1","key":"22_CR21","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/345099.345100","volume":"22","author":"B.C. Pierce","year":"2000","unstructured":"Pierce, B.C., Turner, D.N.: Local type inference. ACM Trans. Program. Lang. Syst.\u00a022(1), 1\u201344 (2000)","journal-title":"ACM Trans. Program. Lang. Syst."},{"issue":"3-4","key":"22_CR22","doi-asserted-by":"publisher","first-page":"289","DOI":"10.1007\/BF01019462","volume":"6","author":"A. Sabry","year":"1993","unstructured":"Sabry, A., Felleisen, M.: Reasoning about programs in continuation-passing style. Lisp Symb. Comput.\u00a06(3-4), 289\u2013360 (1993)","journal-title":"Lisp Symb. Comput."},{"key":"22_CR23","doi-asserted-by":"crossref","unstructured":"Saini, D., Sunshine, J., Aldrich, J.: A theory of typestate-oriented programming. In: Formal Techniques for Java-like Programs (2010)","DOI":"10.1145\/1924520.1924529"},{"key":"22_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"2","DOI":"10.1007\/978-3-540-73589-2_2","volume-title":"ECOOP 2007 \u2013 Object-Oriented Programming","author":"J.G. Siek","year":"2007","unstructured":"Siek, J.G., Taha, W.: Gradual typing for objects. In: Bateni, M. (ed.) ECOOP 2007. LNCS, vol.\u00a04609, pp. 2\u201327. Springer, Heidelberg (2007)"},{"key":"22_CR25","unstructured":"Siek, J., Taha, W.: Gradual typing for functional languages. In: Proc. Scheme and Functional Programming Workshop (September 2006)"},{"issue":"1","key":"22_CR26","doi-asserted-by":"publisher","first-page":"157","DOI":"10.1109\/TSE.1986.6312929","volume":"12","author":"R.E. Strom","year":"1986","unstructured":"Strom, R.E., Yemini, S.: Typestate: A programming language concept for enhancing software reliability. IEEE Trans. Softw. Eng.\u00a012(1), 157\u2013171 (1986)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"22_CR27","first-page":"3","volume-title":"Advanced Topics in Types and Programming Languages","author":"D. Walker","year":"2005","unstructured":"Walker, D.: Substructural type systems. In: Pierce, B. (ed.) Advanced Topics in Types and Programming Languages, \u00a0ch. 1, pp. 3\u201343. MIT Press, Cambridge (2005)"},{"key":"22_CR28","unstructured":"Wolff, R., Garcia, R., Tanter, \u00c9., Aldrich, J.: Gradual Featherweight Typestate. Technical Report CMU-ISR-10-116R, Carnegie Mellon University (July 2010)"}],"container-title":["Lecture Notes in Computer Science","ECOOP 2011 \u2013 Object-Oriented Programming"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-22655-7_22","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,3,30]],"date-time":"2019-03-30T07:39:26Z","timestamp":1553931566000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-22655-7_22"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2011]]},"ISBN":["9783642226540","9783642226557"],"references-count":28,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-22655-7_22","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2011]]}}}