{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,19]],"date-time":"2026-06-19T18:16:37Z","timestamp":1781892997700,"version":"3.54.5"},"reference-count":34,"publisher":"Springer Science and Business Media LLC","issue":"3","license":[{"start":{"date-parts":[[2010,12,5]],"date-time":"2010-12-05T00:00:00Z","timestamp":1291507200000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Int J Softw Tools Technol Transfer"],"published-print":{"date-parts":[[2012,6]]},"DOI":"10.1007\/s10009-010-0183-5","type":"journal-article","created":{"date-parts":[[2010,12,4]],"date-time":"2010-12-04T17:51:15Z","timestamp":1291485075000},"page":"307-326","source":"Crossref","is-referenced-by-count":19,"title":["The Clara framework for hybrid typestate analysis"],"prefix":"10.1007","volume":"14","author":[{"given":"Eric","family":"Bodden","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Laurie","family":"Hendren","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2010,12,5]]},"reference":[{"key":"183_CR1","doi-asserted-by":"crossref","unstructured":"Allan, C., Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhot\u00e1k, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Adding Trace Matching with Free Variables to AspectJ. In: OOPSLA, pp. 345\u2013364. ACM Press (October 2005)","DOI":"10.1145\/1103845.1094839"},{"key":"183_CR2","doi-asserted-by":"crossref","unstructured":"Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhot\u00e1k, J., Lhot\u00e1k, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: abc: an extensible AspectJ compiler. In: AOSD, pp. 87\u201398. ACM Press (March 2005)","DOI":"10.1145\/1052898.1052906"},{"key":"183_CR3","doi-asserted-by":"crossref","unstructured":"Avgustinov, P., Tibble, J., de Moor, O.: Making trace monitors feasible. In: OOPSLA, pp. 589\u2013608. ACM Press (October 2007)","DOI":"10.1145\/1297105.1297070"},{"key":"183_CR4","doi-asserted-by":"crossref","unstructured":"Barik, R.: Efficient computation of may-happen-in-parallel information for concurrent Java programs. In: International Workshop on Languages and Compilers for Parallel Computing (LCPC), volume 4339 of LNCS, pp. 152\u2013169. Springer (October 2005)","DOI":"10.1007\/978-3-540-69330-7_11"},{"key":"183_CR5","doi-asserted-by":"crossref","unstructured":"Bierhoff, K., Aldrich, J.: Modular typestate checking of aliased objects. In: OOPSLA, pp. 301\u2013320 (October 2007)","DOI":"10.21236\/ADA465507"},{"key":"183_CR6","doi-asserted-by":"crossref","unstructured":"Blackburn, S.M., Garner, R., Hoffman, C., Khan, A.M., McKinley, K.S., Bentzur, R., Diwan, A., Feinberg, D., Frampton, D., Guyer, S.Z., Hirzel, M., Hosking, A., Jump, M., Lee, H., Moss, J.E.B., Phansalkar, A., Stefanovic, D., VanDrunen, T., von Dincklage, D., Wiedermann, B.: The DaCapo benchmarks: Java benchmarking development and analysis. In: OOPSLA, pp. 169\u2013190. ACM Press (October 2006)","DOI":"10.1145\/1167515.1167488"},{"key":"183_CR7","unstructured":"Bodden, E.: J-LO\u2014a tool for runtime-checking temporal assertions. Master\u2019s thesis, RWTH Aachen University (November 2005)"},{"key":"183_CR8","unstructured":"Bodden, E.: Verifying finite-state properties of large-scale programs. PhD thesis, McGill University (June 2009). Available through ProQuest"},{"key":"183_CR9","doi-asserted-by":"crossref","unstructured":"Bodden, E.: Efficient hybrid typestate analysis by determining continuation-equivalent states. In: ICSE \u201910: Proceedings of the 32nd ACM\/IEEE International Conference on Software Engineering, pp. 5\u201314. ACM, New York, NY, USA (2010)","DOI":"10.1145\/1806799.1806805"},{"key":"183_CR10","doi-asserted-by":"crossref","unstructured":"Bodden, E., Chen, F., Ro\u015fu, G.: Dependent advice: a general approach to optimizing history-based aspects. In: AOSD, pp. 3\u201314. ACM Press (March 2009)","DOI":"10.1145\/1509239.1509243"},{"key":"183_CR11","doi-asserted-by":"crossref","unstructured":"Bodden, E., Hendren, L., Lam, P., Lhot\u00e1k, O., Naeem, N.A.: Collaborative runtime verification with tracematches. J. Log. Comput. (November 2008). doi: 10.1093\/logcom\/exn077","DOI":"10.1093\/logcom\/exn077"},{"key":"183_CR12","doi-asserted-by":"crossref","unstructured":"Bodden, E., Hendren, L.J., Lhot\u00e1k, O.:. A staged static program analysis to improve the performance of runtime monitoring. In: European Conference on Object-Oriented Programming (ECOOP), volume 4609 of LNCS, pp. 525\u2013549. Springer (2007)","DOI":"10.1007\/978-3-540-73589-2_25"},{"key":"183_CR13","doi-asserted-by":"crossref","unstructured":"Bodden, E., Lam, P., Hendren, L.: Finding programming errors earlier by evaluating runtime monitors ahead-of-time. In: Symposium on the Foundations of Software Engineering (FSE), pp. 36\u201347. ACM Press (November 2008)","DOI":"10.1145\/1453101.1453109"},{"key":"183_CR14","doi-asserted-by":"crossref","unstructured":"Bodden, E., Lam, P., Hendren, L.: Object representatives: a uniform abstraction for pointer information. In: Visions of Computer Science\u2014BCS International Academic Conference. British Computing Society (September 2008)","DOI":"10.14236\/ewic\/VOCS2008.32"},{"key":"183_CR15","doi-asserted-by":"crossref","unstructured":"Bodden, E., Lam, P., Hendren, L.: Clara: a framework for statically evaluating finite-state runtime monitors. In: 1st International Conference on Runtime Verification (RV), volume 6418 of LNCS, pp. 74\u201388. Springer (November 2010)","DOI":"10.1007\/978-3-642-16612-9_15"},{"key":"183_CR16","doi-asserted-by":"crossref","unstructured":"Chen, F., Ro\u015fu, G.: MOP: an efficient and generic runtime verification framework. In: OOPSLA, pp. 569\u2013588. ACM Press (October 2007)","DOI":"10.1145\/1297105.1297069"},{"key":"183_CR17","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-642-55481-0","volume-title":"Programming in Prolog","author":"W.F. Clocksin","year":"2003","unstructured":"Clocksin W.F., Mellish C.: Programming in Prolog, 5th edn. Springer, New York (2003)","edition":"5"},{"key":"183_CR18","doi-asserted-by":"crossref","unstructured":"DeLine, R., F\u00e4hndrich, M.: Typestates for objects. In: European Conference on Object-Oriented Programming (ECOOP), Volume 3086 of LNCS, pp. 465\u2013490. Springer (June 2004)","DOI":"10.1007\/978-3-540-24851-4_21"},{"key":"183_CR19","doi-asserted-by":"crossref","unstructured":"Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Patterns in property specifications for finite-state verification. In: International Conference on Software Engineering (ICSE), pp. 411\u2013420. ACM Press (May 1999)","DOI":"10.1145\/302405.302672"},{"key":"183_CR20","doi-asserted-by":"crossref","unstructured":"Dwyer, M.B., Purandare, R.: Residual dynamic typestate analysis: Exploiting static analysis results to reformulate and reduce the cost of dynamic analysis. In: International Conference on Automated Software Engineering (ASE), pp. 124\u2013133. ACM Press (May 2007)","DOI":"10.1145\/1321631.1321651"},{"key":"183_CR21","doi-asserted-by":"crossref","unstructured":"Fink, S., Yahav, E., Dor, N., Ramalingam, G., Geay, E.: Effective typestate verification in the presence of aliasing. In: International Symposium on Software Testing and Analysis (ISSTA), pp. 133\u2013144. ACM Press (July 2006)","DOI":"10.1145\/1146238.1146254"},{"key":"183_CR22","volume-title":"The Java(TM) Language Specification","author":"J. Gosling","year":"2005","unstructured":"Gosling J., Joy B., Steele G., Bracha G.: The Java(TM) Language Specification. 3rd edn. Addison-Wesley Professional, Reading (2005)","edition":"3"},{"key":"183_CR23","unstructured":"Grieskamp, W.: (Microsoft Research): Personal communication (January 2007)"},{"key":"183_CR24","doi-asserted-by":"crossref","unstructured":"Hilsdale, E., Hugunin, J.: Advice weaving in AspectJ. In: AOSD, pp. 26\u201335. ACM Press (March 2004)","DOI":"10.1145\/976270.976276"},{"key":"183_CR25","doi-asserted-by":"crossref","unstructured":"Kr\u00fcger, I.H., Lee, G., Meisinger, M.: Automating software architecture exploration with M2Aspects. In: Workshop on Scenarios and State Machines: Models, Algorithms, and Tools (SCESM), pp. 51\u201358. ACM Press (May 2006)","DOI":"10.1145\/1138953.1138964"},{"key":"183_CR26","doi-asserted-by":"crossref","unstructured":"Liblit, B., Aiken, A., Zheng, A.X., Jordan, M.I.: Bug isolation via remote program sampling. In: Conference on Programming Language Design and Implementation (PLDI), pp. 141\u2013154. ACM Press (June 2003)","DOI":"10.1145\/780822.781148"},{"key":"183_CR27","doi-asserted-by":"crossref","unstructured":"Maoz, S., Harel, D.: From multi-modal scenarios to code: compiling LSCs into AspectJ. In: Symposium on the Foundations of Software Engineering (FSE), pp. 219\u2013230. ACM Press (November 2006)","DOI":"10.1145\/1181775.1181802"},{"key":"183_CR28","doi-asserted-by":"crossref","unstructured":"Masuhara, H., Kiczales, G., Dutchyn, C.: A compilation and optimization model for aspect-oriented programs. In: International Conference on Compiler Construction (CC), Volume 2622 of LNCS, pp. 46\u201360. Springer (April 2003)","DOI":"10.1007\/3-540-36579-6_4"},{"key":"183_CR29","doi-asserted-by":"crossref","unstructured":"Naeem, N.A., Lhot\u00e1k, O.: Typestate-like analysis of multiple interacting objects. In: OOPSLA, pp. 347\u2013366. ACM Press (October 2008)","DOI":"10.1145\/1449955.1449792"},{"key":"183_CR30","doi-asserted-by":"crossref","unstructured":"Pnueli, A.: The temporal logic of programs. In: IEEE Symposium on the Foundations of Computer Science (FOCS), pp. 46\u201357. IEEE Computer Society, (October 1977)","DOI":"10.1109\/SFCS.1977.32"},{"key":"183_CR31","doi-asserted-by":"crossref","unstructured":"Sridharan, M., Bod\u00edk, R.: Refinement-based context-sensitive points-to analysis for Java. In: Conference on Programming Language Design and Implementation (PLDI), pp. 387\u2013400. ACM Press (June 2006)","DOI":"10.1145\/1133255.1134027"},{"key":"183_CR32","unstructured":"Standard Performance Evaluation Coorperation. SPECjvm98 Documentation (March 1999). Release 1.03 edition"},{"key":"183_CR33","unstructured":"Standard Performance Evaluation Coorperation. SPECjbb2000 (Java Business Benchmark) Documentation (2001). Release 1.01 edition"},{"issue":"1","key":"183_CR34","doi-asserted-by":"crossref","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 (TSE) 12(1), 157\u2013171 (1986)","journal-title":"IEEE Trans Softw Eng (TSE)"}],"container-title":["International Journal on Software Tools for Technology Transfer"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10009-010-0183-5.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10009-010-0183-5\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10009-010-0183-5","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,6,14]],"date-time":"2020-06-14T10:00:19Z","timestamp":1592128819000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10009-010-0183-5"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2010,12,5]]},"references-count":34,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2012,6]]}},"alternative-id":["183"],"URL":"https:\/\/doi.org\/10.1007\/s10009-010-0183-5","relation":{},"ISSN":["1433-2779","1433-2787"],"issn-type":[{"value":"1433-2779","type":"print"},{"value":"1433-2787","type":"electronic"}],"subject":[],"published":{"date-parts":[[2010,12,5]]}}}