{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,5]],"date-time":"2024-09-05T20:56:06Z","timestamp":1725569766750},"publisher-location":"Berlin, Heidelberg","reference-count":42,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642166112"},{"type":"electronic","value":"9783642166129"}],"license":[{"start":{"date-parts":[[2010,1,1]],"date-time":"2010-01-01T00:00:00Z","timestamp":1262304000000},"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":[[2010]]},"DOI":"10.1007\/978-3-642-16612-9_8","type":"book-chapter","created":{"date-parts":[[2010,11,17]],"date-time":"2010-11-17T11:45:14Z","timestamp":1289994314000},"page":"74-88","source":"Crossref","is-referenced-by-count":6,"title":["Clara: Partially Evaluating Runtime Monitors at Compile Time"],"prefix":"10.1007","author":[{"given":"Eric","family":"Bodden","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Patrick","family":"Lam","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"8_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 (October 2005)","DOI":"10.1145\/1103845.1094839"},{"key":"8_CR2","doi-asserted-by":"crossref","unstructured":"Ammons, G., Bod\u00edk, R., Larus, J.R.: Mining specifications. In: Symposium on Principles of Programming Languages (POPL), pp. 4\u201316 (January 2002)","DOI":"10.1145\/565816.503275"},{"key":"8_CR3","doi-asserted-by":"crossref","first-page":"143","DOI":"10.1145\/1449764.1449776","volume-title":"OOPSLA","author":"M. Arnold","year":"2008","unstructured":"Arnold, M., Vechev, M., Yahav, E.: QVM: an efficient runtime for detecting defects in deployed systems. In: OOPSLA, pp. 143\u2013162. ACM Press, New York (2008)"},{"key":"8_CR4","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 (March 2005)","DOI":"10.1145\/1052898.1052906"},{"key":"8_CR5","doi-asserted-by":"crossref","unstructured":"Avgustinov, P., Tibble, J., Bodden, E., Lhot\u00e1k, O., Hendren, L., de\u00a0Moor, O., Ongkingco, N., Sittampalam, G.: Efficient trace monitoring. Tech. Rep. abc-2006-1 (March 2006), http:\/\/www.aspectbench.org\/","DOI":"10.1145\/1176617.1176673"},{"key":"8_CR6","doi-asserted-by":"crossref","unstructured":"Avgustinov, P., Tibble, J., de Moor, O.: Making trace monitors feasible. In: OOPSLA, pp. 589\u2013608 (October 2007)","DOI":"10.1145\/1297027.1297070"},{"key":"8_CR7","doi-asserted-by":"crossref","unstructured":"Bierhoff, K., Aldrich, J.: Modular typestate checking of aliased objects. In: OOPSLA, pp. 301\u2013320 (October 2007)","DOI":"10.1145\/1297027.1297050"},{"key":"8_CR8","unstructured":"Bodden, E.: J-LO - A tool for runtime-checking temporal assertions. Master\u2019s thesis, RWTH Aachen University (November 2005), http:\/\/www.bodden.de\/pubs\/"},{"key":"8_CR9","unstructured":"Bodden, E.: Verifying finite-state properties of large-scale programs. Ph.D. thesis, McGill University (June 2009), available through ProQuest, http:\/\/www.bodden.de\/pubs\/"},{"key":"8_CR10","doi-asserted-by":"publisher","first-page":"5","DOI":"10.1145\/1806799.1806805","volume-title":"ICSE 2010: Proceedings of the 32nd ACM\/IEEE International Conference on Software Engineering","author":"E. Bodden","year":"2010","unstructured":"Bodden, E.: Efficient hybrid typestate analysis by determining continuation-equivalent states. In: ICSE 2010: Proceedings of the 32nd ACM\/IEEE International Conference on Software Engineering, pp. 5\u201314. ACM, New York (2010)"},{"key":"8_CR11","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 (March 2009)","DOI":"10.1145\/1509239.1509243"},{"key":"8_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"22","DOI":"10.1007\/978-3-540-77395-5_3","volume-title":"Runtime Verification","author":"E. Bodden","year":"2007","unstructured":"Bodden, E., Hendren, L.J., Lam, P., Lhot\u00e1k, O., Naeem, N.A.: Collaborative runtime verification with tracematches. In: Sokolsky, O., Ta\u015f\u0131ran, S. (eds.) RV 2007. LNCS, vol.\u00a04839, pp. 22\u201337. Springer, Heidelberg (2007)"},{"key":"8_CR13","doi-asserted-by":"crossref","unstructured":"Bodden, E., Hendren, L.J., Lam, P., Lhot\u00e1k, O., Naeem, N.A.: Collaborative runtime verification with tracematches. Journal of Logics and Computation (November 2008), doi:10.1093\/logcom\/exn077","DOI":"10.1093\/logcom\/exn077"},{"key":"8_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"525","DOI":"10.1007\/978-3-540-73589-2_25","volume-title":"ECOOP 2007 \u2013 Object-Oriented Programming","author":"E. Bodden","year":"2007","unstructured":"Bodden, E., Hendren, L.J., Lhot\u00e1k, O.: A staged static program analysis to improve the performance of runtime monitoring. In: Ernst, E. (ed.) ECOOP 2007. LNCS, vol.\u00a04609, pp. 525\u2013549. Springer, Heidelberg (2007)"},{"key":"8_CR15","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 (November 2008)","DOI":"10.1145\/1453101.1453109"},{"key":"8_CR16","doi-asserted-by":"crossref","unstructured":"Bodden, E., Lam, P., Hendren, L.: Object representatives: a uniform abstraction for pointer information. In: Visions of Computer Science - BCS International Academic Conference. British Computing Society (September 2008), http:\/\/www.bcs.org\/server.php?show=ConWebDoc.22982","DOI":"10.14236\/ewic\/VOCS2008.32"},{"key":"8_CR17","series-title":"LNCS","first-page":"74","volume-title":"RV 2010","author":"E. Bodden","year":"2010","unstructured":"Bodden, E., Lam, P., Hendren, L.: Clara: a Framework for Statically Evaluating Finite-state Runtime Monitors. In: Rosu, G., Sokolsky, O. (eds.) RV 2010. LNCS, vol.\u00a06418, pp. 74\u201388. Springer, Heidelberg (2010)"},{"key":"8_CR18","doi-asserted-by":"crossref","unstructured":"Chen, F., Ro\u015fu, G.: MOP: an efficient and generic runtime verification framework. In: OOPSLA, pp. 569\u2013588 (October 2007)","DOI":"10.1145\/1297105.1297069"},{"key":"8_CR19","doi-asserted-by":"crossref","unstructured":"Clavel, M., Eker, S., Lincoln, P., Meseguer, J.: Principles of maude. Electronic Notes in Theoretical Computer Science (ENTCS) 4 (1996)","DOI":"10.1016\/S1571-0661(04)00034-9"},{"key":"8_CR20","unstructured":"Dahm, M.: BCEL, http:\/\/jakarta.apache.org\/bcel"},{"key":"8_CR21","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: Odersky, M. (ed.) ECOOP 2004. LNCS, vol.\u00a03086, pp. 465\u2013490. Springer, Heidelberg (2004)"},{"issue":"4","key":"8_CR22","doi-asserted-by":"publisher","first-page":"359","DOI":"10.1145\/1040291.1040292","volume":"13","author":"M.B. Dwyer","year":"2004","unstructured":"Dwyer, M.B., Clarke, L.A., Cobleigh, J.M., Naumovich, G.: Flow analysis for verifying properties of concurrent software systems. ACM Transactions of Software Engineering and Methodolology (TOSEM)\u00a013(4), 359\u2013430 (2004)","journal-title":"ACM Transactions of Software Engineering and Methodolology (TOSEM)"},{"key":"8_CR23","doi-asserted-by":"crossref","unstructured":"Dwyer, M.B., Diep, M., Elbaum, S.: Reducing the cost of path property monitoring through sampling. In: ASE, Washington, DC, USA, pp. 228\u2013237 (2008)","DOI":"10.1109\/ASE.2008.33"},{"key":"8_CR24","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: ASE, pp. 124\u2013133 (May 2007)","DOI":"10.1145\/1321631.1321651"},{"issue":"2","key":"8_CR25","doi-asserted-by":"publisher","first-page":"99","DOI":"10.1109\/32.908957","volume":"27","author":"M.D. Ernst","year":"2001","unstructured":"Ernst, M.D., Cockrell, J., Griswold, W.G., Notkin, D.: Dynamically discovering likely program invariants to support program evolution. IEEE Transactions on Software Engineering (TSE)\u00a027(2), 99\u2013123 (2001)","journal-title":"IEEE Transactions on Software Engineering (TSE)"},{"key":"8_CR26","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 (July 2006)","DOI":"10.1145\/1146238.1146254"},{"key":"8_CR27","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"500","DOI":"10.1007\/3-540-45251-6_29","volume-title":"FME 2001: Formal Methods for Increasing Software Productivity","author":"C. Flanagan","year":"2001","unstructured":"Flanagan, C., Leino, K.R.M.: Houdini, an annotation assistant for ESC\/Java. In: Oliveira, J.N., Zave, P. (eds.) FME 2001. LNCS, vol.\u00a02021, pp. 500\u2013517. Springer, Heidelberg (2001)"},{"key":"8_CR28","doi-asserted-by":"crossref","unstructured":"Gabel, M., Su, Z.: Javert: fully automatic mining of general temporal properties from dynamic traces. In: Symposium on the Foundations of Software Engineering (FSE), pp. 339\u2013349 (November 2008)","DOI":"10.1145\/1453101.1453150"},{"key":"8_CR29","doi-asserted-by":"publisher","first-page":"15","DOI":"10.1145\/1806799.1806806","volume-title":"ICSE 2010: Proceedings of the 32nd ACM\/IEEE International Conference on Software Engineering","author":"M. Gabel","year":"2010","unstructured":"Gabel, M., Su, Z.: Online inference and enforcement of temporal properties. In: ICSE 2010: Proceedings of the 32nd ACM\/IEEE International Conference on Software Engineering, pp. 15\u201324. ACM, New York (2010)"},{"key":"8_CR30","doi-asserted-by":"crossref","unstructured":"Goldsmith, S., O\u2019Callahan, R., Aiken, A.: Relational queries over program traces. In: OOPSLA, pp. 385\u2013402 (October 2005)","DOI":"10.1145\/1103845.1094841"},{"key":"8_CR31","doi-asserted-by":"crossref","unstructured":"Hangal, S., Lam, M.S.: Tracking down software bugs using automatic anomaly detection. In: ICSE, pp. 291\u2013301 (May 2002)","DOI":"10.1145\/581376.581377"},{"issue":"3","key":"8_CR32","doi-asserted-by":"publisher","first-page":"231","DOI":"10.1016\/0167-6423(87)90035-9","volume":"8","author":"D. Harel","year":"1987","unstructured":"Harel, D.: Statecharts: A visual formalism for complex systems. Science of Computer Programming\u00a08(3), 231\u2013274 (1987)","journal-title":"Science of Computer Programming"},{"key":"8_CR33","doi-asserted-by":"crossref","unstructured":"Li, Z., Zhou, Y.: PR-Miner: automatically extracting implicit programming rules and detecting violations in large software code. In: Symposium on the Foundations of Software Engineering (FSE), pp. 306\u2013315 (September 2005)","DOI":"10.1145\/1081706.1081755"},{"key":"8_CR34","doi-asserted-by":"crossref","unstructured":"Lo, D., Maoz, S.: Specification mining of symbolic scenario-based models. In: Workshop on Program analysis for software tools and engineering (PASTE), pp. 29\u201335 (November 2008)","DOI":"10.1145\/1512475.1512482"},{"key":"8_CR35","doi-asserted-by":"crossref","unstructured":"Martin, M., Livshits, B., Lam, M.S.: Finding application errors using PQL: a program query language. In: OOPSLA, pp. 365\u2013383 (October 2005)","DOI":"10.1145\/1103845.1094840"},{"key":"8_CR36","doi-asserted-by":"crossref","unstructured":"Naeem, N.A., Lhot\u00e1k, O.: Typestate-like analysis of multiple interacting objects. In: OOPSLA, pp. 347\u2013366 (October 2008)","DOI":"10.1145\/1449955.1449792"},{"key":"8_CR37","first-page":"371","volume-title":"ASE","author":"M. Pradel","year":"2009","unstructured":"Pradel, M., Gross, T.R.: Automatic generation of object usage specifications from large method traces. In: ASE, pp. 371\u2013382. IEEE Computer Society, Washington (2009)"},{"key":"8_CR38","doi-asserted-by":"publisher","first-page":"201","DOI":"10.1016\/j.entcs.2004.01.026","volume":"113","author":"V. Stolz","year":"2005","unstructured":"Stolz, V., Huch, F.: Runtime verification of concurrent haskell programs. Electronic Notes in Theoretical Computer Science (ENTCS)\u00a0113, 201\u2013216 (2005)","journal-title":"Electronic Notes in Theoretical Computer Science (ENTCS)"},{"issue":"1","key":"8_CR39","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 Transactions on Software Engineering (TSE)\u00a012(1), 157\u2013171 (1986)","journal-title":"IEEE Transactions on Software Engineering (TSE)"},{"key":"8_CR40","unstructured":"Vall\u00e9e-Rai, R., Co, P., Gagnon, E., Hendren, L., Lam, P., Sundaresan, V.: Soot - a Java bytecode optimization framework. In: CASCON, p. 13. IBM Press (1999)"},{"key":"8_CR41","doi-asserted-by":"crossref","unstructured":"Walker, R., Viggers, K.: Implementing protocols via declarative event patterns. In: Symposium on the Foundations of Software Engineering (FSE), pp. 159\u2013169 (October 2004)","DOI":"10.1145\/1029894.1029918"},{"key":"8_CR42","doi-asserted-by":"crossref","unstructured":"Wasylkowski, A., Zeller, A., Lindig, C.: Detecting object usage anomalies. In: Symposium on the Foundations of Software Engineering (FSE), pp. 35\u201344 (September 2007)","DOI":"10.1145\/1287624.1287632"}],"container-title":["Lecture Notes in Computer Science","Runtime Verification"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-16612-9_8","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,6,4]],"date-time":"2023-06-04T06:48:06Z","timestamp":1685861286000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-16612-9_8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2010]]},"ISBN":["9783642166112","9783642166129"],"references-count":42,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-16612-9_8","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2010]]}}}