{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,4,1]],"date-time":"2025-04-01T08:44:46Z","timestamp":1743497086043},"publisher-location":"Cham","reference-count":48,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319952451"},{"type":"electronic","value":"9783319952468"}],"license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018]]},"DOI":"10.1007\/978-3-319-95246-8_2","type":"book-chapter","created":{"date-parts":[[2018,7,19]],"date-time":"2018-07-19T02:50:32Z","timestamp":1531968632000},"page":"16-37","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["Transforming Threads into Actors: Learning Concurrency Structure from Execution Traces"],"prefix":"10.1007","author":[{"given":"Gul","family":"Agha","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Karl","family":"Palmskog","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2018,7,20]]},"reference":[{"issue":"9","key":"2_CR1","doi-asserted-by":"publisher","first-page":"125","DOI":"10.1145\/83880.84528","volume":"33","author":"G Agha","year":"1990","unstructured":"Agha, G.: Concurrent object-oriented programming. Commun. ACM 33(9), 125\u2013141 (1990)","journal-title":"Commun. ACM"},{"issue":"1","key":"2_CR2","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1017\/S095679689700261X","volume":"7","author":"G Agha","year":"1997","unstructured":"Agha, G., Mason, I.A., Smith, S.F., Talcott, C.L.: A foundation for actor computation. J. Funct. Program. 7(1), 1\u201372 (1997)","journal-title":"J. Funct. Program."},{"key":"2_CR3","series-title":"MIT Press Series in Artificial Intelligence","doi-asserted-by":"crossref","DOI":"10.7551\/mitpress\/1086.001.0001","volume-title":"ACTORS - A Model of Concurrent Computation in Distributed Systems","author":"GA Agha","year":"1986","unstructured":"Agha, G.A.: ACTORS - A Model of Concurrent Computation in Distributed Systems. MIT Press Series in Artificial Intelligence. MIT Press, Cambridge (1986)"},{"issue":"4","key":"2_CR4","doi-asserted-by":"publisher","first-page":"207","DOI":"10.1002\/stvr.281","volume":"13","author":"Cyrille Artho","year":"2003","unstructured":"Artho, C., Havelund, K., Biere, A.: High-level data races. In: NDDL 2003, pp. 82\u201393. ICEIS Press (2003)","journal-title":"Software Testing, Verification and Reliability"},{"issue":"1","key":"2_CR5","doi-asserted-by":"publisher","first-page":"145","DOI":"10.1007\/s10515-008-0043-7","volume":"16","author":"S Artzi","year":"2009","unstructured":"Artzi, S., Quinonez, J., Kie\u017cun, A., Ernst, M.D.: Parameter reference immutability: formal definition, inference tool, and comparison. Autom. Softw. Eng. 16(1), 145\u2013192 (2009)","journal-title":"Autom. Softw. Eng."},{"issue":"5","key":"2_CR6","doi-asserted-by":"publisher","first-page":"99","DOI":"10.1145\/374308.374365","volume":"44","author":"M Astley","year":"2001","unstructured":"Astley, M., Sturman, D.C., Agha, G.: Customizable middleware for modular distributed software. Commun. ACM 44(5), 99\u2013107 (2001)","journal-title":"Commun. ACM"},{"key":"2_CR7","doi-asserted-by":"crossref","unstructured":"Biswas, S., Huang, J., Sengupta, A., Bond, M.D.: Doublechecker: efficient sound and precise atomicity checking. In: PLDI 2014. ACM (2014)","DOI":"10.1145\/2666356.2594323"},{"issue":"11","key":"2_CR8","doi-asserted-by":"publisher","first-page":"211","DOI":"10.1145\/583854.582440","volume":"37","author":"Chandrasekhar Boyapati","year":"2002","unstructured":"Boyapati, C., Lee, R., Rinard, M.C.: Ownership types for safe programming: preventing data races and deadlocks. In: OOPSLA 2002, pp. 211\u2013230. ACM (2002)","journal-title":"ACM SIGPLAN Notices"},{"issue":"12","key":"2_CR9","doi-asserted-by":"publisher","first-page":"1161","DOI":"10.1002\/cpe.866","volume":"16","author":"M Burrows","year":"2004","unstructured":"Burrows, M., Leino, K.R.M.: Finding stale-value errors in concurrent programs. Concurr. Pract. Exp. 16(12), 1161\u20131172 (2004)","journal-title":"Concurr. Pract. Exp."},{"key":"2_CR10","doi-asserted-by":"publisher","first-page":"100","DOI":"10.1016\/j.scico.2015.10.006","volume":"115\u2013116","author":"M Charalambides","year":"2016","unstructured":"Charalambides, M., Dinges, P., Agha, G.A.: Parameterized, concurrent session types for asynchronous multi-actor interactions. Sci. Comput. Program. 115\u2013116, 100\u2013126 (2016)","journal-title":"Sci. Comput. Program."},{"key":"2_CR11","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"419","DOI":"10.1007\/978-3-540-71999-1_14","volume-title":"All About Maude - A High-Performance Logical Framework","author":"M Clavel","year":"2007","unstructured":"Clavel, M., et al.: Reflection, metalevel computation, and strategies. In: Clavel, M., et al. (eds.) All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350, pp. 419\u2013458. Springer, Heidelberg (2007). https:\/\/doi.org\/10.1007\/978-3-540-71999-1_14"},{"key":"2_CR12","doi-asserted-by":"crossref","unstructured":"Clebsch, S., Drossopoulou, S., Blessing, S., McNeil, A.: Deny capabilities for safe, fast actors. In: Proceedings of the 5th International Workshop on Programming Based on Actors, Agents, and Decentralized Control, AGERE! 2015, pp. 1\u201312. ACM, New York (2015)","DOI":"10.1145\/2824815.2824816"},{"key":"2_CR13","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"472","DOI":"10.1007\/978-3-642-20398-5_35","volume-title":"NASA Formal Methods","author":"DR Cok","year":"2011","unstructured":"Cok, D.R.: OpenJML: JML for Java 7 by extending OpenJDK. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 472\u2013479. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-20398-5_35"},{"key":"2_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"89","DOI":"10.1007\/978-3-642-30829-1_7","volume-title":"Coordination Models and Languages","author":"P Dinges","year":"2012","unstructured":"Dinges, P., Agha, G.: Scoped synchronization constraints for large scale actor systems. In: Sirjani, M. (ed.) COORDINATION 2012. LNCS, vol. 7274, pp. 89\u2013103. Springer, Heidelberg (2012). https:\/\/doi.org\/10.1007\/978-3-642-30829-1_7"},{"key":"2_CR15","doi-asserted-by":"crossref","unstructured":"Dinges, P., Charalambides, M., Agha, G.: Automated inference of atomic sets for safe concurrent execution. In: Proceedings of the 11th ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering, PASTE 2013, pp. 1\u20138. ACM, New York (2013)","DOI":"10.1145\/2462029.2462030"},{"key":"2_CR16","doi-asserted-by":"crossref","unstructured":"Dinges, P., Charalambides, M., Agha, G.: Automated inference of atomic sets for safe concurrent execution. Technical report, UIUC, April 2013. http:\/\/hdl.handle.net\/2142\/43357","DOI":"10.1145\/2462029.2462030"},{"issue":"1","key":"2_CR17","doi-asserted-by":"publisher","first-page":"4","DOI":"10.1145\/2160910.2160913","volume":"34","author":"J Dolby","year":"2012","unstructured":"Dolby, J., Hammer, C., Marino, D., Tip, F., Vaziri, M., Vitek, J.: A data-centric approach to synchronization. ACM TOPLAS 34(1), 4 (2012)","journal-title":"ACM TOPLAS"},{"key":"2_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"246","DOI":"10.1007\/978-3-540-74792-5_11","volume-title":"Formal Methods for Components and Objects","author":"B Donkervoet","year":"2007","unstructured":"Donkervoet, B., Agha, G.: Reflecting on aspect-oriented programming, metaprogramming, and adaptive distributed monitoring. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2006. LNCS, vol. 4709, pp. 246\u2013265. Springer, Heidelberg (2007). https:\/\/doi.org\/10.1007\/978-3-540-74792-5_11"},{"key":"2_CR19","unstructured":"Erlang programming language. https:\/\/www.erlang.org"},{"issue":"2","key":"2_CR20","doi-asserted-by":"publisher","first-page":"89","DOI":"10.1016\/j.scico.2007.12.001","volume":"71","author":"C Flanagan","year":"2008","unstructured":"Flanagan, C., Freund, S.N.: Atomizer: a dynamic atomicity checker for multithreaded programs. Sci. Comput. Program. 71(2), 89\u2013109 (2008)","journal-title":"Sci. Comput. Program."},{"key":"2_CR21","doi-asserted-by":"crossref","unstructured":"Flanagan, C., Freund, S.N.: FastTrack: efficient and precise dynamic race detection. In: Proceedings of the 2009 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2009, pp. 121\u2013133. ACM, New York (2009)","DOI":"10.1145\/1542476.1542490"},{"key":"2_CR22","doi-asserted-by":"crossref","unstructured":"Flanagan, C., Freund, S.N., Yi, J.: Velodrome: a sound and complete dynamic atomicity checker for multithreaded programs. In: Proceedings of the 2008 ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2008, pp. 293\u2013303. ACM, New York (2008)","DOI":"10.1145\/1375581.1375618"},{"key":"2_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"346","DOI":"10.1007\/3-540-47910-4_18","volume-title":"ECOOP\u2019 93 \u2014 Object-Oriented Programming","author":"S Fr\u00f8lund","year":"1993","unstructured":"Fr\u00f8lund, S., Agha, G.: A language framework for multi-object coordination. In: Nierstrasz, O.M. (ed.) ECOOP 1993. LNCS, vol. 707, pp. 346\u2013360. Springer, Heidelberg (1993). https:\/\/doi.org\/10.1007\/3-540-47910-4_18"},{"key":"2_CR24","doi-asserted-by":"crossref","unstructured":"Hammer, C., Dolby, J., Vaziri, M., Tip, F.: Dynamic detection of atomic-set-serializability violations. In: ICSE 2008, pp. 231\u2013240. ACM (2008)","DOI":"10.1145\/1368088.1368120"},{"key":"2_CR25","unstructured":"Hewitt, C., Bishop, P.B., Steiger, R.: A universal modular ACTOR formalism for artificial intelligence. In: Nilsson, N.J. (ed.) Proceedings of the 3rd International Joint Conference on Artificial Intelligence, Standford, CA, USA, 20\u201323 August 1973, pp. 235\u2013245. William Kaufmann (1973)"},{"key":"2_CR26","unstructured":"Houck, C.R., Agha, G.: HAL: a high-level actor language and its distributed implementation. In: Shin, K.G. (ed.) Proceedings of the 1992 International Conference on Parallel Processing, University of Michigan, An Arbor, Michigan, USA, 17\u201321 August 1992, Volume II: Software, pp. 158\u2013165. CRC Press (1992)"},{"key":"2_CR27","unstructured":"Huang, W., Milanova, A.: Inferring AJ types for concurrent libraries. In: FOOL 2012, pp. 82\u201388 (2012)"},{"key":"2_CR28","doi-asserted-by":"crossref","unstructured":"Lai, Z., Cheung, S.C., Chan, W.K.: Detecting atomic-set serializability violations in multithreaded programs through active randomized testing. In: ICSE 2010, pp. 235\u2013244. ACM (2010)","DOI":"10.1145\/1806799.1806836"},{"key":"2_CR29","unstructured":"Lee, E.A.: Model-driven development-from object-oriented design to actor-oriented design. In: Workshop on Software Engineering for Embedded Systems: From Requirements to Implementation (a.k.a. The Monterey Workshop) (2003)"},{"issue":"5","key":"2_CR30","doi-asserted-by":"publisher","first-page":"33","DOI":"10.1109\/MC.2006.180","volume":"39","author":"EA Lee","year":"2006","unstructured":"Lee, E.A.: The problem with threads. Computer 39(5), 33\u201342 (2006)","journal-title":"Computer"},{"issue":"4","key":"2_CR31","doi-asserted-by":"publisher","first-page":"29:1","DOI":"10.1145\/1550987.1550992","volume":"8","author":"EA Lee","year":"2009","unstructured":"Lee, E.A., Liu, X., Neuendorffer, S.: Classes and inheritance in actor-oriented design. ACM Trans. Embed. Comput. Syst. 8(4), 29:1\u201329:26 (2009)","journal-title":"ACM Trans. Embed. Comput. Syst."},{"key":"2_CR32","unstructured":"Lightbend: Akka. https:\/\/akka.io"},{"key":"2_CR33","unstructured":"Lightbend: Akka and the Java memory model. https:\/\/doc.akka.io\/docs\/akka\/current\/general\/jmm.html"},{"key":"2_CR34","doi-asserted-by":"crossref","unstructured":"Liu, P., Dolby, J., Zhang, C.: Finding incorrect compositions of atomicity. In: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, ESEC\/FSE 2013, pp. 158\u2013168. ACM, New York (2013)","DOI":"10.1145\/2491411.2491435"},{"key":"2_CR35","doi-asserted-by":"crossref","unstructured":"Lu, S., Park, S., Hu, C., Ma, X., Jiang, W., Li, Z., Popa, R.A., Zhou, Y.: MUVI: automatically inferring multi-variable access correlations and detecting related semantic and concurrency bugs. In: SOSP 2007, pp. 103\u2013116. ACM (2007)","DOI":"10.1145\/1294261.1294272"},{"issue":"3","key":"2_CR36","doi-asserted-by":"publisher","first-page":"329","DOI":"10.1145\/1353536.1346323","volume":"43","author":"Shan Lu","year":"2008","unstructured":"Lu, S., Park, S., Seo, E., Zhou, Y.: Learning from mistakes: a comprehensive study on real world concurrency bug characteristics. In: ASPLOS 2008, pp. 329\u2013339. ACM (2008)","journal-title":"ACM SIGPLAN Notices"},{"issue":"6","key":"2_CR37","doi-asserted-by":"publisher","first-page":"1060","DOI":"10.1109\/TPDS.2011.254","volume":"23","author":"S Lu","year":"2012","unstructured":"Lu, S., Park, S., Zhou, Y.: Detecting concurrency bugs from the perspectives of synchronization intentions. IEEE Trans. Parallel Distrib. Syst. 23(6), 1060\u20131072 (2012)","journal-title":"IEEE Trans. Parallel Distrib. Syst."},{"issue":"1","key":"2_CR38","doi-asserted-by":"publisher","first-page":"26","DOI":"10.1109\/MM.2007.5","volume":"27","author":"S Lu","year":"2007","unstructured":"Lu, S., Tucek, J., Qin, F., Zhou, Y.: AVIO: detecting atomicity violations via access-interleaving invariants. IEEE Micro 27(1), 26\u201335 (2007)","journal-title":"IEEE Micro"},{"key":"2_CR39","doi-asserted-by":"crossref","unstructured":"Milanova, A., Dong, Y.: Inference and checking of object immutability. In: Proceedings of the 13th International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools, PPPJ 2016, pp. 6:1\u20136:12. ACM, New York (2016)","DOI":"10.1145\/2972206.2972208"},{"key":"2_CR40","doi-asserted-by":"crossref","unstructured":"Negara, S., Karmani, R.K., Agha, G.A.: Inferring ownership transfer for efficient message passing. In: Cascaval, C., Yew, P. (eds.) Proceedings of the 16th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP 2011, San Antonio, TX, USA, 12\u201316 February 2011, pp. 81\u201390. ACM (2011)","DOI":"10.1145\/1941553.1941566"},{"key":"2_CR41","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"131","DOI":"10.1007\/978-3-662-43376-8_9","volume-title":"Coordination Models and Languages","author":"R Neykova","year":"2014","unstructured":"Neykova, R., Yoshida, N.: Multiparty session actors. In: K\u00fchn, E., Pugliese, R. (eds.) COORDINATION 2014. LNCS, vol. 8459, pp. 131\u2013146. Springer, Heidelberg (2014). https:\/\/doi.org\/10.1007\/978-3-662-43376-8_9"},{"issue":"6","key":"2_CR42","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/2830719.2830730","volume":"40","author":"Karl Palmskog","year":"2015","unstructured":"Palmskog, K., Hariri, F., Marinov, D.: A case study on executing instrumented code in Java PathFinder. In: Proceedings of JPF Workshop, JPF 2015 (2015)","journal-title":"ACM SIGSOFT Software Engineering Notes"},{"key":"2_CR43","doi-asserted-by":"crossref","unstructured":"Papi, M.M., Ernst, M.D.: Compile-time type-checking for custom type qualifiers in Java. In: Companion to the 22nd ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications Companion, OOPSLA 2007, pp. 809\u2013810. ACM, New York (2007)","DOI":"10.1145\/1297846.1297899"},{"key":"2_CR44","volume-title":"Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference","author":"J Pearl","year":"1988","unstructured":"Pearl, J.: Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference. Morgan Kaufmann Publishers Inc., San Francisco (1988)"},{"key":"2_CR45","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"104","DOI":"10.1007\/978-3-540-70592-5_6","volume-title":"ECOOP 2008 \u2013 Object-Oriented Programming","author":"S Srinivasan","year":"2008","unstructured":"Srinivasan, S., Mycroft, A.: Kilim: isolation-typed actors for Java. In: Vitek, J. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 104\u2013128. Springer, Heidelberg (2008). https:\/\/doi.org\/10.1007\/978-3-540-70592-5_6"},{"key":"2_CR46","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"161","DOI":"10.1007\/978-3-642-29860-8_13","volume-title":"Runtime Verification","author":"WN Sumner","year":"2012","unstructured":"Sumner, W.N., Hammer, C., Dolby, J.: Marathon: detecting atomic-set serializability violations with conflict graphs. In: Khurshid, S., Sen, K. (eds.) RV 2011. LNCS, vol. 7186, pp. 161\u2013176. Springer, Heidelberg (2012). https:\/\/doi.org\/10.1007\/978-3-642-29860-8_13"},{"issue":"4","key":"2_CR47","doi-asserted-by":"publisher","first-page":"91","DOI":"10.1145\/67387.67410","volume":"24","author":"C Tomlinson","year":"1989","unstructured":"Tomlinson, C., Kim, W., Scheevel, M., Singh, V., Will, B., Agha, G.: Rosette: an object-oriented concurrent systems architecture. SIGPLAN Not. 24(4), 91\u201393 (1989)","journal-title":"SIGPLAN Not."},{"issue":"10","key":"2_CR48","doi-asserted-by":"publisher","first-page":"19","DOI":"10.1145\/2076021.2048071","volume":"46","author":"Dasarath Weeratunge","year":"2011","unstructured":"Weeratunge, D., Zhang, X., Jagannathan, S.: Accentuating the positive: atomicity inference and enforcement using correct executions. In: OOPSLA 2011, pp. 19\u201334. ACM (2011)","journal-title":"ACM SIGPLAN Notices"}],"container-title":["Lecture Notes in Computer Science","Principles of Modeling"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-95246-8_2","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,11,6]],"date-time":"2020-11-06T00:26:27Z","timestamp":1604622387000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-95246-8_2"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018]]},"ISBN":["9783319952451","9783319952468"],"references-count":48,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-95246-8_2","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2018]]}}}