{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,12]],"date-time":"2026-02-12T11:36:29Z","timestamp":1770896189348,"version":"3.50.1"},"publisher-location":"Cham","reference-count":57,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031308253","type":"print"},{"value":"9783031308260","type":"electronic"}],"license":[{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2023,4,20]],"date-time":"2023-04-20T00:00:00Z","timestamp":1681948800000},"content-version":"vor","delay-in-days":109,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2023]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>We introduce a generic approach for monitoring multithreaded programs online leveraging existing runtime verification (RV) techniques. In our setting, monitors are deployed to monitor specific threads and only exchange information upon reaching synchronization regions defined by the program itself. They use the opportunity of a lock in the program, to evaluate information across threads. As such, we refer to this approach as opportunistic monitoring. By using the existing synchronization, our approach reduces additional overhead and interference to synchronize at the cost of adding a delay to determine the verdict. We utilize a textbook example of readers-writers to show how opportunistic monitoring is capable of expressing specifications on concurrent regions. We also present a preliminary assessment of the overhead of our approach and compare it to classical monitoring showing that it scales particularly well with the concurrency present in the program.<\/jats:p>","DOI":"10.1007\/978-3-031-30826-0_10","type":"book-chapter","created":{"date-parts":[[2023,4,19]],"date-time":"2023-04-19T18:02:59Z","timestamp":1681927379000},"page":"173-194","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":5,"title":["Opportunistic Monitoring of Multithreaded Programs"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-6112-9946","authenticated-orcid":false,"given":"Chukri","family":"Soueidi","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2925-0540","authenticated-orcid":false,"given":"Antoine","family":"El-Hokayem","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-0114-0641","authenticated-orcid":false,"given":"Yli\u00e8s","family":"Falcone","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2023,4,20]]},"reference":[{"key":"10_CR1","unstructured":"Patterns in property specifications for finite-state verification home page. https:\/\/matthewbdwyer.github.io\/psp\/patterns.html, https:\/\/matthewbdwyer.github.io\/psp\/patterns.html"},{"key":"10_CR2","doi-asserted-by":"crossref","unstructured":"Adve, S.V., Gharachorloo, K.: Shared memory consistency models: a tutorial. Computer 29(12), 66\u201376 (Dec 1996)","DOI":"10.1109\/2.546611"},{"key":"10_CR3","doi-asserted-by":"publisher","unstructured":"Agarwal, A., Garg, V.K.: Efficient dependency tracking for relevant events in shared-memory systems. In: Proceedings of the Twenty-Fourth Annual ACM Symposium on Principles of Distributed Computing. p. 19\u201328. PODC \u201905, Association for Computing Machinery, New York, NY, USA (2005), https:\/\/doi.org\/10.1145\/1073814.1073818","DOI":"10.1145\/1073814.1073818"},{"key":"10_CR4","doi-asserted-by":"crossref","unstructured":"Ahamad, M., Neiger, G., Burns, J.E., Kohli, P., Hutto, P.W.: Causal memory: definitions, implementation, and programming. Distributed Computing 9(1), 37\u201349 (Mar 1995)","DOI":"10.1007\/BF01784241"},{"key":"10_CR5","doi-asserted-by":"crossref","unstructured":"Allan, C., Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhot\u00e1k, O., de\u00a0Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Adding Trace Matching with Free Variables to AspectJ. In: Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications. pp. 345\u2013364. OOPSLA \u201905, ACM (2005)","DOI":"10.1145\/1094811.1094839"},{"key":"10_CR6","doi-asserted-by":"publisher","unstructured":"Barringer, H., Falcone, Y., Havelund, K., Reger, G., Rydeheard, D.E.: Quantified Event Automata: Towards Expressive and Efficient Runtime Monitors. In: Giannakopoulou, D., M\u00e9ry, D. (eds.) FM 2012: Formal Methods - 18th International Symposium, Paris, France, August 27-31, 2012. Proceedings. Lecture Notes in Computer Science, vol. 7436, pp. 68\u201384. Springer (2012), https:\/\/doi.org\/10.1007\/978-3-642-32759-9_9","DOI":"10.1007\/978-3-642-32759-9_9"},{"key":"10_CR7","doi-asserted-by":"crossref","unstructured":"Bartocci, E., Bonakdarpour, B., Falcone, Y.: First international competition on software for runtime verification. In: Bonakdarpour, B., Smolka, S.A. (eds.) Runtime Verification - 5th International Conference, RV 2014, Toronto, ON, Canada, September 22-25, 2014. Proceedings. Lecture Notes in Computer Science, vol. 8734, pp. 1\u20139. Springer (2014)","DOI":"10.1007\/978-3-319-11164-3_1"},{"key":"10_CR8","doi-asserted-by":"crossref","unstructured":"Bartocci, E., Falcone, Y., Bonakdarpour, B., Colombo, C., Decker, N., Havelund, K., Joshi, Y., Klaedtke, F., Milewicz, R., Reger, G., Rosu, G., Signoles, J., Thoma, D., Zalinescu, E., Zhang, Y.: First international competition on runtime verification: rules, benchmarks, tools, and final results of CRV 2014. International Journal on Software Tools for Technology Transfer (Apr 2017)","DOI":"10.1007\/s10009-017-0454-5"},{"key":"10_CR9","doi-asserted-by":"crossref","unstructured":"Bartocci, E., Falcone, Y., Francalanza, A., Reger, G.: Introduction to runtime verification. In: Bartocci, E., Falcone, Y. (eds.) Lectures on Runtime Verification - Introductory and Advanced Topics, Lecture Notes in Computer Science, vol. 10457, pp. 1\u201333. Springer (2018)","DOI":"10.1007\/978-3-319-75632-5_1"},{"key":"10_CR10","doi-asserted-by":"crossref","unstructured":"Bauer, A., Leucker, M., Schallhart, C.: Runtime verification for ltl and tltl. ACM Trans. Softw. Eng. Methodol. 20(4), 14:1\u201314:64 (Sep 2011)","DOI":"10.1145\/2000799.2000800"},{"key":"10_CR11","doi-asserted-by":"publisher","unstructured":"Bensalem, S., Havelund, K.: Dynamic deadlock analysis of multi-threaded programs. In: Proceedings of the First Haifa International Conference on Hardware and Software Verification and Testing. p. 208\u2013223. HVC\u201905, Springer-Verlag, Berlin, Heidelberg (2005), https:\/\/doi.org\/10.1007\/11678779_15","DOI":"10.1007\/11678779_15"},{"key":"10_CR12","doi-asserted-by":"crossref","unstructured":"Bianchi, F.A., Margara, A., Pezz\u00e8, M.: A survey of recent trends in testing concurrent software systems. IEEE Transactions on Software Engineering 44(8), 747\u2013783 (2018)","DOI":"10.1109\/TSE.2017.2707089"},{"key":"10_CR13","doi-asserted-by":"crossref","unstructured":"Bodden, E., Hendren, L., Lam, P., Lhot\u00e1k, O., Naeem, N.A.: Collaborative Runtime Verification with Tracematches. Journal of Logic and Computation 20(3), 707\u2013723 (Jun 2010)","DOI":"10.1093\/logcom\/exn077"},{"key":"10_CR14","doi-asserted-by":"publisher","unstructured":"Bonakdarpour, B., Sanchez, C., Schneider, G.: Monitoring hyperproperties by combining static analysis and runtime verification. In: Leveraging Applications of Formal Methods, Verification and Validation. Verification: 8th International Symposium, ISoLA 2018, Limassol, Cyprus, November 5-9, 2018, Proceedings, Part II. p. 8\u201327. Springer-Verlag, Berlin, Heidelberg (2018), https:\/\/doi.org\/10.1007\/978-3-030-03421-4_2","DOI":"10.1007\/978-3-030-03421-4_2"},{"key":"10_CR15","doi-asserted-by":"publisher","unstructured":"Brett, N., Siddique, U., Bonakdarpour, B.: Rewriting-based runtime verification for alternation-free hyperltl. In: Proceedings, Part II, of the 23rd International Conference on Tools and Algorithms for the Construction and Analysis of Systems - Volume 10206. p. 77\u201393. Springer-Verlag, Berlin, Heidelberg (2017), https:\/\/doi.org\/10.1007\/978-3-662-54580-5_5","DOI":"10.1007\/978-3-662-54580-5_5"},{"key":"10_CR16","doi-asserted-by":"publisher","unstructured":"Cain, H.W., Lipasti, M.H.: Verifying sequential consistency using vector clocks. In: Proceedings of the Fourteenth Annual ACM Symposium on Parallel Algorithms and Architectures. p. 153\u2013154. SPAA \u201902, Association for Computing Machinery, New York, NY, USA (2002), https:\/\/doi.org\/10.1145\/564870.564897","DOI":"10.1145\/564870.564897"},{"key":"10_CR17","doi-asserted-by":"crossref","unstructured":"Chen, F., Ro\u015fu, G.: Parametric and sliced causality. In: Proceedings of the 19th International Conference on Computer Aided Verification. p. 240\u2013253. CAV\u201907, Springer-Verlag, Berlin, Heidelberg (2007)","DOI":"10.1007\/978-3-540-73368-3_27"},{"key":"10_CR18","doi-asserted-by":"crossref","unstructured":"Chen, F., Ro\u015fu, G.: Java-MOP: A Monitoring Oriented Programming Environment for Java. In: Tools and Algorithms for the Construction and Analysis of Systems. pp. 546\u2013550. Lecture Notes in Computer Science, Springer (Apr 2005)","DOI":"10.1007\/978-3-540-31980-1_36"},{"key":"10_CR19","doi-asserted-by":"publisher","unstructured":"Chen, F., Serbanuta, T.F., Rosu, G.: Jpredictor: A predictive runtime analysis tool for java. In: Proceedings of the 30th International Conference on Software Engineering. p. 221\u2013230. ICSE \u201908, Association for Computing Machinery, New York, NY, USA (2008), https:\/\/doi.org\/10.1145\/1368088.1368119","DOI":"10.1145\/1368088.1368119"},{"key":"10_CR20","doi-asserted-by":"crossref","unstructured":"Clarkson, M.R., Schneider, F.B.: Hyperproperties. J. Comput. Secur. 18(6), 1157\u20131210 (sep 2010)","DOI":"10.3233\/JCS-2009-0393"},{"key":"10_CR21","doi-asserted-by":"publisher","unstructured":"Colombo, C., Pace, G.J., Schneider, G.: LARVA \u2014 Safer Monitoring of Real-Time Java Programs (Tool Paper). In: Hung, D.V., Krishnan, P. (eds.) Seventh IEEE International Conference on Software Engineering and Formal Methods, SEFM 2009, Hanoi, Vietnam, 23-27 November 2009. pp. 33\u201337. IEEE Computer Society (2009), https:\/\/doi.org\/10.1109\/SEFM.2009.13","DOI":"10.1109\/SEFM.2009.13"},{"key":"10_CR22","doi-asserted-by":"publisher","unstructured":"Dean, J., Ghemawat, S.: Mapreduce: Simplified data processing on large clusters. Commun. ACM 51(1), 107\u2013113 (jan 2008), https:\/\/doi.org\/10.1145\/1327452.1327492","DOI":"10.1145\/1327452.1327492"},{"key":"10_CR23","doi-asserted-by":"publisher","unstructured":"El-Hokayem, A., Falcone, Y.: Can we monitor all multithreaded programs? In: Colombo, C., Leucker, M. (eds.) Runtime Verification - 18th International Conference, RV 2018, Limassol, Cyprus, November 10-13, 2018, Proceedings. Lecture Notes in Computer Science, vol. 11237, pp. 64\u201389. Springer (2018), https:\/\/doi.org\/10.1007\/978-3-030-03769-7_6","DOI":"10.1007\/978-3-030-03769-7_6"},{"key":"10_CR24","unstructured":"Falcone, Y., Havelund, K., Reger, G.: A tutorial on runtime verification. In: Broy, M., Peled, D.A., Kalus, G. (eds.) Engineering Dependable Software Systems, NATO Science for Peace and Security Series, D: Information and Communication Security, vol.\u00a034, pp. 141\u2013175. IOS Press (2013)"},{"key":"10_CR25","doi-asserted-by":"crossref","unstructured":"Falcone, Y., Krstic, S., Reger, G., Traytel, D.: A taxonomy for classifying runtime verification tools. In: Colombo, C., Leucker, M. (eds.) Runtime Verification - 18th International Conference, RV 2018, Limassol, Cyprus, November 10-13, 2018, Proceedings. Lecture Notes in Computer Science, vol.\u00a023, pp. 241\u2013262. Springer (2018)","DOI":"10.1007\/978-3-030-03769-7_14"},{"key":"10_CR26","doi-asserted-by":"crossref","unstructured":"Falcone, Y., Nickovic, D., Reger, G., Thoma, D.: Second international competition on runtime verification CRV 2015. In: Bartocci, E., Majumdar, R. (eds.) Runtime Verification - 6th International Conference, RV 2015 Vienna, Austria, September 22-25, 2015. Proceedings. Lecture Notes in Computer Science, vol. 9333, pp. 405\u2013422. Springer (2015)","DOI":"10.1007\/978-3-319-23820-3_27"},{"key":"10_CR27","doi-asserted-by":"publisher","unstructured":"Farzan, A., Parthasarathy, M., Razavi, N., Sorrentino, F.: Predicting null-pointer dereferences in concurrent programs. In: Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering. FSE \u201912, Association for Computing Machinery, New York, NY, USA (11 2012), https:\/\/doi.org\/10.1145\/2393596.2393651","DOI":"10.1145\/2393596.2393651"},{"key":"10_CR28","doi-asserted-by":"publisher","unstructured":"Flanagan, C., Freund, S.N.: Atomizer: A dynamic atomicity checker for multithreaded programs. SIGPLAN Not. 39(1), 256\u2013267 (jan 2004), https:\/\/doi.org\/10.1145\/982962.964023","DOI":"10.1145\/982962.964023"},{"key":"10_CR29","doi-asserted-by":"publisher","unstructured":"Flanagan, C., Freund, S.N.: Fasttrack: Efficient and precise dynamic race detection. In: Proceedings of the 30th ACM SIGPLAN Conference on Programming Language Design and Implementation. p. 121\u2013133. PLDI \u201909, Association for Computing Machinery, New York, NY, USA (2009), https:\/\/doi.org\/10.1145\/1542476.1542490","DOI":"10.1145\/1542476.1542490"},{"key":"10_CR30","unstructured":"Formal Systems Laboratory: JavaMOP4 Syntax (2018), http:\/\/fsl.cs.illinois.edu\/index.php\/JavaMOP4_Syntax"},{"key":"10_CR31","doi-asserted-by":"publisher","unstructured":"Gao, Q., Zhang, W., Chen, Z., Zheng, M., Qin, F.: 2ndstrike: Toward manifesting hidden concurrency typestate bugs. In: Proceedings of the Sixteenth International Conference on Architectural Support for Programming Languages and Operating Systems. ASPLOS XVI, vol.\u00a039, p. 239\u2013250. Association for Computing Machinery, New York, NY, USA (mar 2011), https:\/\/doi.org\/10.1145\/1950365.1950394","DOI":"10.1145\/1950365.1950394"},{"key":"10_CR32","doi-asserted-by":"crossref","unstructured":"Gastin, P., Kuske, D.: Uniform satisfiability problem for local temporal logics over Mazurkiewicz traces. Inf. Comput. 208(7), 797\u2013816 (2010)","DOI":"10.1016\/j.ic.2009.12.003"},{"key":"10_CR33","unstructured":"Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1st edn. (1992)"},{"key":"10_CR34","unstructured":"Havelund, K., Goldberg, A.: Verify your runs. In: Meyer, B., Woodcock, J. (eds.) Verified Software: Theories, Tools, Experiments, First IFIP TC 2\/WG 2.3 Conference, VSTTE 2005, Zurich, Switzerland, October 10-13, 2005, Revised Selected Papers and Discussions. Lecture Notes in Computer Science, vol. 4171, pp. 374\u2013383. Springer (2005)"},{"key":"10_CR35","unstructured":"Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming, Revised Reprint. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1st edn. (2012)"},{"key":"10_CR36","doi-asserted-by":"crossref","unstructured":"Huang, J., Luo, Q., Rosu, G.: Gpredict: Generic predictive concurrency analysis. In: 37th IEEE\/ACM International Conference on Software Engineering, ICSE 2015, Volume 1. pp. 847\u2013857 (2015)","DOI":"10.1109\/ICSE.2015.96"},{"key":"10_CR37","doi-asserted-by":"publisher","unstructured":"Huang, J., Meredith, P.O., Rosu, G.: Maximal sound predictive race detection with control flow abstraction. SIGPLAN Not. 49(6), 337\u2013348 (Jun 2014), https:\/\/doi.org\/10.1145\/2594291.2594315","DOI":"10.1145\/2594291.2594315"},{"key":"10_CR38","doi-asserted-by":"publisher","unstructured":"Joshi, P., Sen, K.: Predictive typestate checking of multithreaded java programs. In: Proceedings of the 2008 23rd IEEE\/ACM International Conference on Automated Software Engineering. p. 288\u2013296. ASE \u201908, IEEE Computer Society, USA (2008), https:\/\/doi.org\/10.1109\/ASE.2008.39","DOI":"10.1109\/ASE.2008.39"},{"key":"10_CR39","doi-asserted-by":"publisher","unstructured":"Lamport, L.: A new solution of dijkstra\u2019s concurrent programming problem. Commun. ACM 17(8), 453\u2013455 (aug 1974), https:\/\/doi.org\/10.1145\/361082.361093","DOI":"10.1145\/361082.361093"},{"key":"10_CR40","doi-asserted-by":"publisher","unstructured":"Lamport, L.: Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM 21(7), 558\u2013565 (Jul 1978), https:\/\/doi.org\/10.1145\/359545.359563","DOI":"10.1145\/359545.359563"},{"key":"10_CR41","doi-asserted-by":"publisher","unstructured":"Lea, D.: A java fork\/join framework. In: Proceedings of the ACM 2000 Java Grande Conference, San Francisco, CA, USA, June 3-5, 2000. pp. 36\u201343 (2000), https:\/\/doi.org\/10.1145\/337449.337465","DOI":"10.1145\/337449.337465"},{"key":"10_CR42","doi-asserted-by":"crossref","unstructured":"Leucker, M., Schallhart, C.: A brief account of runtime verification. The Journal of Logic and Algebraic Programming 78(5), 293\u2013303 (May 2009)","DOI":"10.1016\/j.jlap.2008.08.004"},{"key":"10_CR43","doi-asserted-by":"crossref","unstructured":"Lodaya, K., Weil, P.: Rationality in algebras with a series operation. Inf. Comput. 171(2), 269\u2013293 (2001)","DOI":"10.1006\/inco.2001.3077"},{"key":"10_CR44","doi-asserted-by":"crossref","unstructured":"Luo, Q., Rosu, G.: Enforcemop: A runtime property enforcement system for multithreaded programs. In: Proceedings of International Symposium in Software Testing and Analysis (ISSTA\u201913). pp. 156\u2013166. ACM (July 2013)","DOI":"10.1145\/2483760.2483766"},{"key":"10_CR45","doi-asserted-by":"publisher","unstructured":"Manna, Z., Pnueli, A.: A hierarchy of temporal properties (invited paper, 1989). In: Proceedings of the Ninth Annual ACM Symposium on Principles of Distributed Computing. p. 377\u2013410. PODC \u201990, Association for Computing Machinery, New York, NY, USA (1990), https:\/\/doi.org\/10.1145\/93385.93442","DOI":"10.1145\/93385.93442"},{"key":"10_CR46","doi-asserted-by":"crossref","unstructured":"Manson, J., Pugh, W., Adve, S.V.: The Java Memory Model. In: Proceedings of the 32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. pp. 378\u2013391. POPL \u201905, ACM (2005)","DOI":"10.1145\/1040305.1040336"},{"key":"10_CR47","doi-asserted-by":"publisher","unstructured":"Mathur, U., Viswanathan, M.: Atomicity Checking in Linear Time Using Vector Clocks, p. 183\u2013199. Association for Computing Machinery, New York, NY, USA (2020), https:\/\/doi.org\/10.1145\/3373376.3378475","DOI":"10.1145\/3373376.3378475"},{"key":"10_CR48","unstructured":"Mazurkiewicz, A.W.: Trace theory. In: Brauer, W., Reisig, W., Rozenberg, G. (eds.) Petri Nets: Central Models and Their Properties, Advances in Petri Nets 1986, Part II, Proceedings of an Advanced Course, Bad Honnef, Germany, 8-19 September 1986. Lecture Notes in Computer Science, vol. 255, pp. 279\u2013324. Springer (1986)"},{"key":"10_CR49","doi-asserted-by":"crossref","unstructured":"Meenakshi, B., Ramanujam, R.: Reasoning about layered message passing systems. Computer Languages, Systems & Structures 30(3-4), 171\u2013206 (2004)","DOI":"10.1016\/j.cl.2004.02.003"},{"key":"10_CR50","doi-asserted-by":"crossref","unstructured":"Nielsen, M., Plotkin, G.D., Winskel, G.: Petri nets, event structures and domains, part I. Theor. Comput. Sci. 13, 85\u2013108 (1981)","DOI":"10.1016\/0304-3975(81)90112-2"},{"key":"10_CR51","doi-asserted-by":"crossref","unstructured":"Reger, G., Cruz, H.C., Rydeheard, D.E.: MarQ: Monitoring at Runtime with QEA. In: Baier, C., Tinelli, C. (eds.) Tools and Algorithms for the Construction and Analysis of Systems - 21st International Conference, TACAS 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015. Proceedings. Lecture Notes in Computer Science, vol. 9035, pp. 596\u2013610. Springer (2015)","DOI":"10.1007\/978-3-662-46681-0_55"},{"key":"10_CR52","doi-asserted-by":"crossref","unstructured":"Reger, G., Hall\u00e9, S., Falcone, Y.: Third international competition on runtime verification - CRV 2016. In: Falcone, Y., S\u00e1nchez, C. (eds.) Runtime Verification - 16th International Conference, RV 2016, Madrid, Spain, September 23-30, 2016, Proceedings. Lecture Notes in Computer Science, vol. 10012, pp. 21\u201337. Springer (2016)","DOI":"10.1007\/978-3-319-46982-9_3"},{"key":"10_CR53","unstructured":"Rosu, G., Sen, K.: An instrumentation technique for online analysis of multithreaded programs. In: 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings. pp. 268\u2013 (2004)"},{"key":"10_CR54","doi-asserted-by":"publisher","unstructured":"Sen, K., Rosu, G., Agha, G.: Runtime safety analysis of multithreaded programs. SIGSOFT Softw. Eng. Notes 28(5), 337\u2013346 (Sep 2003), https:\/\/doi.org\/10.1145\/949952.940116","DOI":"10.1145\/949952.940116"},{"key":"10_CR55","doi-asserted-by":"publisher","unstructured":"Serbanuta, T., Chen, F., Rosu, G.: Maximal causal models for sequentially consistent systems. In: Runtime Verification, Third International Conference, RV 2012, Istanbul, Turkey, September 25-28, 2012, Revised Selected Papers. pp. 136\u2013150 (2012), https:\/\/doi.org\/10.1007\/978-3-642-35632-2_16","DOI":"10.1007\/978-3-642-35632-2_16"},{"key":"10_CR56","doi-asserted-by":"publisher","unstructured":"Soueidi, C., Falcone, Y.: Artifact Repostiory - Opportunistic Monitoring of Multithreaded Programs (1 2023), https:\/\/doi.org\/10.6084\/m9.figshare.21828570","DOI":"10.6084\/m9.figshare.21828570"},{"key":"10_CR57","doi-asserted-by":"crossref","unstructured":"Wang, L., Stoller, S.: Runtime analysis of atomicity for multithreaded programs. IEEE Transactions on Software Engineering 32(2), 93\u2013110 (2006)","DOI":"10.1109\/TSE.2006.1599419"}],"container-title":["Lecture Notes in Computer Science","Fundamental Approaches to Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-30826-0_10","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,5,22]],"date-time":"2023-05-22T22:03:22Z","timestamp":1684793002000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-30826-0_10"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023]]},"ISBN":["9783031308253","9783031308260"],"references-count":57,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-30826-0_10","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023]]},"assertion":[{"value":"20 April 2023","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"FASE","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Fundamental Approaches to Software Engineering","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Paris","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"France","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2023","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"22 April 2023","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"27 April 2023","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"26","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"fase2023","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/etaps.org\/2023\/fase","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Double-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"EasyChair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"50","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"12","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"0","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"24% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"3","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"6-7","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"The proceedings also include 2 tool papers, 2 NIER papers, and 2 competition papers","order":10,"name":"additional_info_on_review_process","label":"Additional Info on Review Process","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}