{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,7]],"date-time":"2026-06-07T10:19:31Z","timestamp":1780827571121,"version":"3.54.1"},"reference-count":62,"publisher":"Springer Science and Business Media LLC","issue":"3","license":[{"start":{"date-parts":[[2011,4,23]],"date-time":"2011-04-23T00:00:00Z","timestamp":1303516800000},"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-011-0198-6","type":"journal-article","created":{"date-parts":[[2011,4,22]],"date-time":"2011-04-22T05:22:45Z","timestamp":1303449765000},"page":"249-289","source":"Crossref","is-referenced-by-count":171,"title":["An overview of the MOP runtime verification framework"],"prefix":"10.1007","volume":"14","author":[{"given":"Patrick O\u2019Neil","family":"Meredith","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Dongyun","family":"Jin","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Dennis","family":"Griffith","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Feng","family":"Chen","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Grigore","family":"Ro\u015fu","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2011,4,23]]},"reference":[{"key":"198_CR1","unstructured":"Abercrombie, P., Karaorman, M.: jContractor: Bytecode instrumentation techniques for implementing DBC in Java. In Runtime Verification (RV\u201902), ENTCS, vol. 70, Elsevier, Amsterdam (2002)"},{"key":"198_CR2","first-page":"215","volume-title":"Compilers, Principles, Techniques, and Tools","author":"A.V. Aho","year":"1986","unstructured":"Aho A.V., Sethi R., Ullman J.D.: Compilers, Principles, Techniques, and Tools, pp. 215\u2013246. Addison-Wesley, New York (1986)"},{"key":"198_CR3","doi-asserted-by":"crossref","unstructured":"Allan, C., Avgustinov, P., Christensen, A.S., Hendren, L.J., Kuzins, S., Lhot\u00e1k, O., de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Adding trace matching with free variables to AspectJ. In: Object-Oriented Programming, Systems, Languages and Applications (OOPSLA\u201905), pp. 345\u2013364. ACM, New York (2005)","DOI":"10.1145\/1094811.1094839"},{"key":"198_CR4","doi-asserted-by":"crossref","unstructured":"Alur, R., Etessami, K., Madhusudan, P.: A temporal logic of nested calls and returns. In: Tools and Algorithms for the Construction and Analysis of Systems (TACAS\u201904), LNCS, vol. 2988, pp. 467\u2013481. Springer, Berlin (2004)","DOI":"10.1007\/978-3-540-24730-2_35"},{"key":"198_CR5","unstructured":"AspectC++. http:\/\/www.aspectc.org\/"},{"key":"198_CR6","unstructured":"AspectJ. http:\/\/eclipse.org\/aspectj\/"},{"key":"198_CR7","doi-asserted-by":"crossref","unstructured":"Avgustinov, P., Tibble, J., de Moor, O.: Making trace monitors feasible. In: Object-Oriented Programming, Systems, Languages and Applications (OOPSLA\u201907), pp. 589\u2013608. ACM, New York (2007)","DOI":"10.1145\/1297027.1297070"},{"key":"198_CR8","doi-asserted-by":"crossref","unstructured":"Barnett, M., Leino, K.R.M., Schulte, W.: The Spec# programming system: An overview. In: Construction and Analysis of Safe, Secure and Interoperable Smart devices (CASSIS\u201904), LNCS, vol. 3362, pp. 49\u201369. Springer, Berlin (2004)","DOI":"10.1007\/978-3-540-30569-9_3"},{"key":"198_CR9","volume-title":"Runtime Verification (RV\u201905), ENTCS, vol. 144","year":"2005","unstructured":"Barringer, H., Finkbeiner, B., Gurevich, Y., Sipma, H. (eds): Runtime Verification (RV\u201905), ENTCS, vol. 144. Elsevier, Amsterdam (2005)"},{"key":"198_CR10","doi-asserted-by":"crossref","unstructured":"Barringer, H., Goldberg, A., Havelund, K., Sen, K.: Rule-Based Runtime Verification. In: Verification, Model Checking, and Abstract Interpretation (VMCAI\u201904), LNCS, vol. 2937, pp. 44\u201357. Springer, Berlin (2004)","DOI":"10.1007\/978-3-540-24622-0_5"},{"key":"198_CR11","doi-asserted-by":"crossref","unstructured":"Barringer, H., Rydeheard, D., Havelund, K.: Rule systems for run-time monitoring: from EAGLE to RULER. J. Logic Comput. (2008)","DOI":"10.1093\/logcom\/exn076"},{"key":"198_CR12","doi-asserted-by":"crossref","unstructured":"Bartetzko, D., Fischer, C., Moller, M., Wehrheim, H.: Jass-Java with Assertions. In: Runtime Verification (RV\u201901), ENTCS, vol. 55, pp. 103\u2013117. Elsevier, Amsterdam (2001)","DOI":"10.1016\/S1571-0661(04)00247-6"},{"key":"198_CR13","unstructured":"Bison. http:\/\/www.gnu.org\/software\/bison\/"},{"key":"198_CR14","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., Stefanovi\u0107, D., VanDrunen, T., von Dincklage, D., Wiedermann, B.: The DaCapo benchmarks: Java benchmarking development and analysis. In: Object-Oriented Programming, Systems, Languages and Applications (OOPSLA\u201906), pp. 169\u2013190. ACM, New York (2006)","DOI":"10.1145\/1167473.1167488"},{"key":"198_CR15","unstructured":"Bodden, E.: J-LO, a tool for runtime-checking temporal assertions. Master\u2019s thesis, RWTH Aachen University, Aachen (2005)"},{"key":"198_CR16","doi-asserted-by":"crossref","unstructured":"Bodden, E., Chen, F., Ro\u015fu, G.: Dependent advice: A general approach to optimizing history-based aspects. In: Aspect-Oriented Software Development (AOSD\u201909), pp. 3\u201314. ACM, New York (2009)","DOI":"10.1145\/1509239.1509243"},{"key":"198_CR17","doi-asserted-by":"crossref","unstructured":"Bodden, E., Hendren, L., Lhot\u00e1k, O.: A staged static program analysis to improve the performance of runtime monitoring. In: European Conference on Object-Oriented Programming (ECOOP\u201907), LNCS, vol. 4609, pp. 525\u2013549. Springer, Berlin (2007)","DOI":"10.1007\/978-3-540-73589-2_25"},{"key":"198_CR18","doi-asserted-by":"crossref","unstructured":"Chaudhuri, S., Alur, R.: Instumenting C programs with nested word monitors. In: Model Checking Software (SPIN\u201907), LNCS, vol. 4595, pp. 279\u2013283. Springer, Berlin (2007)","DOI":"10.1007\/978-3-540-73370-6_20"},{"key":"198_CR19","doi-asserted-by":"crossref","unstructured":"Chen, F., D\u2019Amorim, M., Ro\u015fu, G.: A formal monitoring-based framework for software development and analysis. In: International Conference on Formal Engineering Methods (ICFEM\u201904), LNCS, vol. 3308, pp. 357\u2013372. Springer, Berlin (2004)","DOI":"10.1007\/978-3-540-30482-1_31"},{"key":"198_CR20","doi-asserted-by":"crossref","unstructured":"Chen, F., Meredith, P., Jin, D., Ro\u015fu, G.: Efficient formalism-independent monitoring of parametric properties. In: Automated Software Engineering (ASE\u201909), pp. 383\u2013394. IEEE, New York (2009)","DOI":"10.1109\/ASE.2009.50"},{"key":"198_CR21","doi-asserted-by":"crossref","unstructured":"Chen, F., Ro\u015fu, G.: Towards monitoring-oriented programming: A paradigm combining specification and implementation. In: Runtime Verification (RV\u201903), ENTCS, vol. 89, pp. 108\u2013127. Elsevier, Amsterdam (2003)","DOI":"10.1016\/S1571-0661(04)81045-4"},{"key":"198_CR22","doi-asserted-by":"crossref","unstructured":"Chen, F., Ro\u015fu, G.: MOP: An efficient and generic runtime verification framework. In: Object-Oriented Programming, Systems, Languages and Applications (OOPSLA\u201907), pp. 569\u2013588. ACM, New York (2007)","DOI":"10.1145\/1297027.1297069"},{"key":"198_CR23","doi-asserted-by":"crossref","unstructured":"Chen, F., Ro\u015fu, G.: Parametric trace slicing and monitoring. In: Tools and Algorithms for the Construction and Analysis of Systems (TACAS\u201909), LNCS, vol. 5505, pp. 246\u2013261. Springer, Berlin (2009)","DOI":"10.1007\/978-3-642-00768-2_23"},{"issue":"4","key":"198_CR24","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/1082983.1083249","volume":"30","author":"M. d\u2019Amorim","year":"2005","unstructured":"d\u2019Amorim M., Havelund K.: Event-based runtime verification of Java programs. ACM SIGSOFT Softw. Eng. Notes 30(4), 1\u20137 (2005)","journal-title":"ACM SIGSOFT Softw. Eng. Notes"},{"key":"198_CR25","doi-asserted-by":"crossref","unstructured":"Drusinsky, D.: The Temporal Rover and the ATG Rover. In: Model Checking and Software Verification (SPIN\u201900), LNCS, vol. 1885, pp. 323\u2013330. Springer, Berlin (2000)","DOI":"10.1007\/10722468_19"},{"key":"198_CR26","unstructured":"Eagle Technology. PCI 703 Series User\u2019s Manual. http:\/\/www.eagledaq.com\/display_product_36.htm"},{"key":"198_CR27","unstructured":"Eiffel Language. http:\/\/www.eiffel.com\/"},{"key":"198_CR28","doi-asserted-by":"crossref","unstructured":"Goldsmith, S., O\u2019Callahan, R., Aiken, A.: Relational queries over program traces. In: Object-Oriented Programming, Systems, Languages and Applications (OOPSLA\u201905), pp. 385\u2013402. ACM, New York (2005)","DOI":"10.1145\/1094811.1094841"},{"key":"198_CR29","volume-title":"Formal Approaches to Testing and Runtime Verification (FATES\/RV\u201906), LNCS, vol. 4264","year":"2006","unstructured":"Havelund, K., Nunez, M., Ro\u015fu, G., Wolff, B. (eds): Formal Approaches to Testing and Runtime Verification (FATES\/RV\u201906), LNCS, vol. 4264. Springer, Berlin (2006)"},{"key":"198_CR30","doi-asserted-by":"crossref","unstructured":"Havelund, K., Ro\u015fu, G.: Monitoring Java programs with Java PathExplorer. In: Runtime Verification (RV\u201901), ENTCS, vol. 55, pp. 97\u2013114. Elsevier, Amsterdam (2001)","DOI":"10.1016\/S1571-0661(04)00253-1"},{"key":"198_CR31","doi-asserted-by":"crossref","unstructured":"Havelund, K., Ro\u015fu, G.: Monitoring Java programs with Java PathExplorer. In: Runtime Verification (RV\u201901), ENTCS, vol. 55, Elsevier, Amsterdam (2001)","DOI":"10.1016\/S1571-0661(04)00253-1"},{"key":"198_CR32","doi-asserted-by":"crossref","unstructured":"Havelund, K., Ro\u015fu, G.: Monitoring programs using rewriting. In: Automated Software Engineering (ASE\u201901), pp. 135\u2013143. IEEE, New York (2001)","DOI":"10.1109\/ASE.2001.989799"},{"key":"198_CR33","volume-title":"Runtime Verification (RV\u201902), ENTCS, vol. 70","year":"2002","unstructured":"Havelund, K., Ro\u015fu, G. (eds): Runtime Verification (RV\u201902), ENTCS, vol. 70. Elsevier, Amsterdam (2002)"},{"key":"198_CR34","volume-title":"Runtime Verification (RV\u201904), ENTCS, vol. 113","year":"2004","unstructured":"Havelund, K., Ro\u015fu, G. (eds): Runtime Verification (RV\u201904), ENTCS, vol. 113. Elsevier, Amsterdam (2004)"},{"key":"198_CR35","doi-asserted-by":"crossref","unstructured":"Havelund, K., Ro\u015fu, G.: Synthesizing Monitors for Safety Properties. In: Tools and Algorithms for the Construction and Analysis of Systems (TACAS\u201902), LNCS, vol. 2280, pp. 342\u2013356. Springer, Berlin (2002)","DOI":"10.1007\/3-540-46002-0_24"},{"issue":"2","key":"198_CR36","doi-asserted-by":"crossref","first-page":"158","DOI":"10.1007\/s10009-003-0117-6","volume":"6","author":"K. Havelund","year":"2004","unstructured":"Havelund K., Rosu G.: Efficient monitoring of safety properties. J. Softw. Tools Technol. Transf. 6(2), 158\u2013173 (2004)","journal-title":"J. Softw. Tools Technol. Transf."},{"key":"198_CR37","volume-title":"Communicating Sequential Processes","author":"C. Hoare","year":"1985","unstructured":"Hoare C.: Communicating Sequential Processes. Prentice-Hall Intl., New York (1985)"},{"key":"198_CR38","doi-asserted-by":"crossref","unstructured":"Hopcroft, J.E.: An n log n algorithm for minimizing states in a finite automaton. Technical report (1971)","DOI":"10.1016\/B978-0-12-417750-5.50022-1"},{"key":"198_CR39","unstructured":"ISO\/IEC 14977:1996, Information technology\u2014syntactic metalanguage\u2014Extended BNF. ISO, Geneva, Switzerland"},{"key":"198_CR40","unstructured":"JBoss. http:\/\/www.jboss.org"},{"key":"198_CR41","doi-asserted-by":"crossref","unstructured":"Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: European Conference on Object-Oriented Programming (ECOOP\u201901), LNCS, vol. 2072, pp. 327\u2013353. Springer, Berlin (2001)","DOI":"10.1007\/3-540-45337-7_18"},{"key":"198_CR42","doi-asserted-by":"crossref","unstructured":"Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: European Conference on Object-Oriented Programming (ECOOP\u201997), LNCS, vol. 1241, pp. 220\u2013242. Springer, Berlin (1997)","DOI":"10.1007\/BFb0053381"},{"key":"198_CR43","unstructured":"Kim, M., Viswanathan, M., Ben-Abdallah, H., Kannan, S., Lee, I., Sokolsky, O.: Formally specified monitoring of temporal properties. In: Europoean Conference on Real-Time Systems (ECRTS\u201999) (1999)"},{"key":"198_CR44","doi-asserted-by":"crossref","unstructured":"Leavens, G.T., Leino, K.R.M., Poll, E., Ruby, C., Jacobs, B.: JML: notations and tools supporting detailed design in Java. In: Object-Oriented Programming, Systems, Languages and Applications (OOPSLA\u201900), pp. 105\u2013106. ACM, New York (2000)","DOI":"10.1145\/367845.367996"},{"key":"198_CR45","unstructured":"Lu, H., Forin, A.: The design and implementation of P2V, an architecture for zero-overhead online verification of software programs. Technical Report MSR-TR-2007\u201399, Microsoft Research (2007)"},{"key":"198_CR46","doi-asserted-by":"crossref","unstructured":"Martin, M., Livshits, V.B., Lam, M.S.: Finding application errors and security flaws using PQL: a program query language. In: Object-Oriented Programming, Systems, Languages and Applications (OOPSLA\u201907), pp. 365\u2013383. ACM, New York (2005)","DOI":"10.1145\/1103845.1094840"},{"key":"198_CR47","doi-asserted-by":"crossref","unstructured":"Meredith, P., Jin, D., Chen, F., Ro\u015fu, G.: Efficient monitoring of parametric context-free patterns. In: Automated Software Engineering (ASE \u201908), pp. 148\u2013157. IEEE, New York (2008)","DOI":"10.1109\/ASE.2008.25"},{"issue":"2","key":"198_CR48","doi-asserted-by":"crossref","first-page":"149","DOI":"10.1007\/s10515-010-0063-y","volume":"17","author":"P. Meredith","year":"2010","unstructured":"Meredith P., Jin D., Chen F., Ro\u015fu G.: Efficient monitoring of parametric context-free patterns. J. Autom. Softw. Eng. 17(2), 149\u2013180 (2010)","journal-title":"J. Autom. Softw. Eng."},{"key":"198_CR49","volume-title":"Object-Oriented Software Construction","author":"B. Meyer","year":"2000","unstructured":"Meyer B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall, New Jersey (2000)","edition":"2"},{"key":"198_CR50","unstructured":"PCI SIG. Conventional PCI 3.0, PCI-X 2.0 and PCI-E 2.0 Specifications. http:\/\/www.pcisig.com"},{"key":"198_CR51","unstructured":"Pellizzoni, R., Buy, B.D., Caccamo, M., Sha, L.: Coscheduling of real-time tasks and PCI bus transactions. Technical report, University of Illinois at Urbana-Champaign. http:\/\/netfiles.uiuc.edu\/rpelliz2\/www\/techreps\/ (2008)"},{"key":"198_CR52","doi-asserted-by":"crossref","unstructured":"Pellizzoni, R., Meredith, P., Caccamo, M., Ro\u015fu, G.: Hardware runtime monitoring for dependable cots-based real-time embedded systems. In: Real-Time System Symposium (RTSS\u201908), pp. 481\u2013491. IEEE, New York (2008)","DOI":"10.1109\/RTSS.2008.43"},{"key":"198_CR53","doi-asserted-by":"crossref","unstructured":"Pellizzoni, R., Meredith, P., Nam, M.-Y., Sun, M., Caccamo, M., Sha, L.: Handling mixed-criticality in soc-based real-time embedded systems. In: Embedded Software (Emsoft\u201909), pp. 235\u2013244 (2009)","DOI":"10.1145\/1629335.1629367"},{"key":"198_CR54","doi-asserted-by":"crossref","unstructured":"Pnueli, A.: The temporal logic of programs. In Foundations of Computer Science (FOCS\u201977), pages 46\u201357. IEEE, New York (1977)","DOI":"10.1109\/SFCS.1977.32"},{"issue":"2","key":"198_CR55","doi-asserted-by":"crossref","first-page":"151","DOI":"10.1007\/s10515-005-6205-y","volume":"12","author":"G. Ro\u015fu","year":"2004","unstructured":"Ro\u015fu G., Havelund K.: Rewriting-based techniques for runtime verification. J. Autom. Softw Eng. 12(2), 151\u2013197 (2004)","journal-title":"J. Autom. Softw Eng."},{"key":"198_CR56","doi-asserted-by":"crossref","unstructured":"Ro\u015fu, G., Chen, F., Ball, T.: Synthesizing monitors for safety properties\u2014this time with calls and returns. In: Runtime Verification (RV\u201908), LNCS, vol. 5289, pp. 51\u201368. Springer, Berlin (2008)","DOI":"10.1007\/978-3-540-89247-2_4"},{"key":"198_CR57","doi-asserted-by":"crossref","unstructured":"Sen, K., Ro\u015fu, G.: Generating optimal monitors for extended regular expressions. In: Runtime Verification (RV\u201903), ENTCS, vol. 89, pp. 162\u2013181. Elsevier, Amsterdam (2003)","DOI":"10.1016\/S1571-0661(04)81051-X"},{"key":"198_CR58","volume-title":"Runtime Verification (RV\u201903), ENTCS, vol. 89","year":"2003","unstructured":"Sokolsky, O., Viswanathan, M. (eds): Runtime Verification (RV\u201903), ENTCS, vol. 89. Elsevier, Amsterdam (2003)"},{"key":"198_CR59","unstructured":"Soot website. http:\/\/www.sable.mcgill.ca\/soot\/"},{"issue":"6","key":"198_CR60","doi-asserted-by":"crossref","first-page":"419","DOI":"10.1145\/363347.363387","volume":"11","author":"K. Thompson","year":"1968","unstructured":"Thompson K.: Regular expression search algorithm. Commun. ACM 11(6), 419\u2013422 (1968)","journal-title":"Commun. ACM"},{"key":"198_CR61","unstructured":"Vall\u00e9e-Rai, R., Hendren, L., Sundaresan, V., Lam, P., Gagnon, E., Co, P.: Soot - a Java optimization framework. In: IBM Centre for Advanced Studies Conference (CASCON\u201999), pp. 125\u2013135. ACM, New York (1999)"},{"key":"198_CR62","unstructured":"Xilinx, Inc. Virtex-4 ML455 PCI\/PCI-X Development Kit User Guide. http:\/\/www.xilinx.com\/support\/documentation\/boards_and_kits\/ug084.pdf"}],"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-011-0198-6.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10009-011-0198-6\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10009-011-0198-6","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,3,5]],"date-time":"2025-03-05T06:06:40Z","timestamp":1741154800000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10009-011-0198-6"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2011,4,23]]},"references-count":62,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2012,6]]}},"alternative-id":["198"],"URL":"https:\/\/doi.org\/10.1007\/s10009-011-0198-6","relation":{},"ISSN":["1433-2779","1433-2787"],"issn-type":[{"value":"1433-2779","type":"print"},{"value":"1433-2787","type":"electronic"}],"subject":[],"published":{"date-parts":[[2011,4,23]]}}}