{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T21:09:27Z","timestamp":1760044167873},"publisher-location":"Cham","reference-count":38,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030349677"},{"type":"electronic","value":"9783030349684"}],"license":[{"start":{"date-parts":[[2019,1,1]],"date-time":"2019-01-01T00:00:00Z","timestamp":1546300800000},"content-version":"tdm","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":[[2019]]},"DOI":"10.1007\/978-3-030-34968-4_22","type":"book-chapter","created":{"date-parts":[[2019,11,22]],"date-time":"2019-11-22T00:14:54Z","timestamp":1574381694000},"page":"399-417","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":6,"title":["Practical Abstractions for Automated Verification of Message Passing Concurrency"],"prefix":"10.1007","author":[{"given":"Wytse","family":"Oortwijn","sequence":"first","affiliation":[]},{"given":"Marieke","family":"Huisman","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2019,11,22]]},"reference":[{"key":"22_CR1","unstructured":"Supplementary material for the paper. \nhttps:\/\/github.com\/utwente-fmt\/iFM19-MessagePassingAbstr"},{"key":"22_CR2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-49812-6","volume-title":"Deductive Software Verification - The KeY Book","author":"W Ahrendt","year":"2016","unstructured":"Ahrendt, W., Beckert, B., Bubel, R., H\u00e4hnle, R., Schmitt, P., Ulbrich, M.: Deductive Software Verification - The KeY Book. Springer, Heidelberg (2016). \nhttps:\/\/doi.org\/10.1007\/978-3-319-49812-6"},{"issue":"1","key":"22_CR3","doi-asserted-by":"publisher","first-page":"200","DOI":"10.1007\/s10703-017-0274-y","volume":"51","author":"W Ahrendt","year":"2017","unstructured":"Ahrendt, W., Chimento, J., Pace, G., Schneider, G.: Verifying data- and control-oriented properties combining static and runtime verification: theory and tools. FMSD 51(1), 200\u2013265 (2017). \nhttps:\/\/doi.org\/10.1007\/s10703-017-0274-y","journal-title":"FMSD"},{"key":"22_CR4","unstructured":"Baeten, J.: Process Algebra with Explicit Termination. Eindhoven University of Technology, Department of Mathematics and Computing Science (2000)"},{"key":"22_CR5","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"55","DOI":"10.1007\/3-540-44898-5_4","volume-title":"Static Analysis","author":"J Boyland","year":"2003","unstructured":"Boyland, J.: Checking interference with fractional permissions. In: Cousot, R. (ed.) SAS 2003. LNCS, vol. 2694, pp. 55\u201372. Springer, Heidelberg (2003). \nhttps:\/\/doi.org\/10.1007\/3-540-44898-5_4"},{"issue":"1\u20133","key":"22_CR6","doi-asserted-by":"publisher","first-page":"227","DOI":"10.1016\/j.tcs.2006.12.034","volume":"375","author":"S Brookes","year":"2007","unstructured":"Brookes, S.: A semantics for concurrent separation logic. Theoret. Comput. Sci. 375(1\u20133), 227\u2013270 (2007). \nhttps:\/\/doi.org\/10.1016\/j.tcs.2006.12.034","journal-title":"Theoret. Comput. Sci."},{"issue":"3","key":"22_CR7","doi-asserted-by":"publisher","first-page":"47","DOI":"10.1145\/2984450.2984457","volume":"3","author":"S Brookes","year":"2016","unstructured":"Brookes, S., O\u2019Hearn, P.: Concurrent separation logic. ACM SIGLOG News 3(3), 47\u201365 (2016). \nhttps:\/\/doi.org\/10.1145\/2984450.2984457","journal-title":"ACM SIGLOG News"},{"key":"22_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"21","DOI":"10.1007\/978-3-030-17465-1_2","volume-title":"Tools and Algorithms for the Construction and Analysis of Systems","author":"O Bunte","year":"2019","unstructured":"Bunte, O., et al.: The mCRL2 toolset for analysing concurrent systems. In: Vojnar, T., Zhang, L. (eds.) TACAS 2019. LNCS, vol. 11428, pp. 21\u201339. Springer, Cham (2019). \nhttps:\/\/doi.org\/10.1007\/978-3-030-17465-1_2"},{"key":"22_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"504","DOI":"10.1007\/978-3-642-14107-2_24","volume-title":"ECOOP 2010 \u2013 Object-Oriented Programming","author":"T Dinsdale-Young","year":"2010","unstructured":"Dinsdale-Young, T., Dodds, M., Gardner, P., Parkinson, M.J., Vafeiadis, V.: Concurrent abstract predicates. In: D\u2019Hondt, T. (ed.) ECOOP 2010. LNCS, vol. 6183, pp. 504\u2013528. Springer, Heidelberg (2010). \nhttps:\/\/doi.org\/10.1007\/978-3-642-14107-2_24"},{"issue":"4","key":"22_CR10","doi-asserted-by":"publisher","first-page":"259","DOI":"10.1093\/comjnl\/37.4.259","volume":"37","author":"W Fokkink","year":"1994","unstructured":"Fokkink, W., Zantema, H.: Basic process algebra with iteration: completeness of its equational axioms. Comput. J. 37(4), 259\u2013267 (1994). \nhttps:\/\/doi.org\/10.1093\/comjnl\/37.4.259","journal-title":"Comput. J."},{"key":"22_CR11","doi-asserted-by":"publisher","first-page":"1","DOI":"10.2168\/lmcs-7(3:7)2011","volume":"7","author":"A Francalanza","year":"2011","unstructured":"Francalanza, A., Rathke, J., Sassone, V.: Permission-based separation logic for message-passing concurrency. Log. Methods Comput. Sci. 7, 1\u201347 (2011). \nhttps:\/\/doi.org\/10.2168\/lmcs-7(3:7)2011","journal-title":"Log. Methods Comput. Sci."},{"key":"22_CR12","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"273","DOI":"10.1007\/978-3-319-21690-4_16","volume-title":"Computer Aided Verification","author":"S Gouw de","year":"2015","unstructured":"de Gouw, S., Rot, J., de Boer, F.S., Bubel, R., H\u00e4hnle, R.: OpenJDK\u2019s Java.utils.Collection.sort() is broken: the good, the bad and the worst case. In: Kroening, D., P\u0103s\u0103reanu, C.S. (eds.) CAV 2015. LNCS, vol. 9206, pp. 273\u2013289. Springer, Cham (2015). \nhttps:\/\/doi.org\/10.1007\/978-3-319-21690-4_16"},{"key":"22_CR13","doi-asserted-by":"publisher","DOI":"10.7551\/mitpress\/9946.001.0001","volume-title":"Modeling and Analysis of Communicating Systems","author":"JF Groote","year":"2014","unstructured":"Groote, J.F., Mousavi, M.R.: Modeling and Analysis of Communicating Systems. MIT Press, Cambridge (2014)"},{"key":"22_CR14","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-69850-0","volume-title":"25 Years of Model Checking: History, Achievements, Perspectives","year":"2008","unstructured":"Grumberg, O., Veith, H. (eds.): 25 Years of Model Checking: History, Achievements, Perspectives. Springer, Heidelberg (2008). \nhttps:\/\/doi.org\/10.1007\/978-3-540-69850-0"},{"key":"22_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"105","DOI":"10.1007\/978-3-662-44471-9_5","volume-title":"Concurrent Objects and Beyond","author":"K Honda","year":"2014","unstructured":"Honda, K., et al.: Structuring communication with session types. In: Agha, G., et al. (eds.) Concurrent Objects and Beyond. LNCS, vol. 8665, pp. 105\u2013127. Springer, Heidelberg (2014). \nhttps:\/\/doi.org\/10.1007\/978-3-662-44471-9_5"},{"key":"22_CR16","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"122","DOI":"10.1007\/BFb0053567","volume-title":"Programming Languages and Systems","author":"K Honda","year":"1998","unstructured":"Honda, K., Vasconcelos, V.T., Kubo, M.: Language primitives and type discipline for structured communication-based programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122\u2013138. Springer, Heidelberg (1998). \nhttps:\/\/doi.org\/10.1007\/BFb0053567"},{"key":"22_CR17","doi-asserted-by":"publisher","unstructured":"Hur, C., Dreyer, D., Vafeiadis, V.: Separation logic in the presence of garbage collection. In: LICS, pp. 247\u2013256 (2011). \nhttps:\/\/doi.org\/10.1109\/LICS.2011.46","DOI":"10.1109\/LICS.2011.46"},{"key":"22_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"277","DOI":"10.1007\/978-3-319-10882-7_17","volume-title":"Theoretical Aspects of Computing \u2013 ICTAC 2014","author":"J Lei","year":"2014","unstructured":"Lei, J., Qiu, Z.: Modular reasoning for message-passing programs. In: Ciobanu, G., M\u00e9ry, D. (eds.) ICTAC 2014. LNCS, vol. 8687, pp. 277\u2013294. Springer, Cham (2014). \nhttps:\/\/doi.org\/10.1007\/978-3-319-10882-7_17"},{"key":"22_CR19","doi-asserted-by":"publisher","unstructured":"Luo, Z., Zheng, M., Siegel, S.: Verification of MPI programs using CIVL. In: EuroMPI. ACM (2017). \nhttps:\/\/doi.org\/10.1145\/3127024.3127032","DOI":"10.1145\/3127024.3127032"},{"key":"22_CR20","unstructured":"MPI: A Message-Passing Interface standard. \nhttp:\/\/www.mpi-forum.org\/docs\n\n. Accessed Apr 2019"},{"key":"22_CR21","volume-title":"Communication and Concurrency","author":"R Milner","year":"1989","unstructured":"Milner, R.: Communication and Concurrency. Prentice-Hall Inc., Upper Saddle River (1989)"},{"key":"22_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"41","DOI":"10.1007\/978-3-662-49122-5_2","volume-title":"Verification, Model Checking, and Abstract Interpretation","author":"P M\u00fcller","year":"2016","unstructured":"M\u00fcller, P., Schwerhoff, M., Summers, A.J.: Viper: a verification infrastructure for permission-based reasoning. In: Jobstmann, B., Leino, K.R.M. (eds.) VMCAI 2016. LNCS, vol. 9583, pp. 41\u201362. Springer, Heidelberg (2016). \nhttps:\/\/doi.org\/10.1007\/978-3-662-49122-5_2"},{"key":"22_CR23","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"290","DOI":"10.1007\/978-3-642-54833-8_16","volume-title":"Programming Languages and Systems","author":"A Nanevski","year":"2014","unstructured":"Nanevski, A., Ley-Wild, R., Sergey, I., Delbianco, G.A.: Communicating state transition systems for fine-grained concurrent resources. In: Shao, Z. (ed.) ESOP 2014. LNCS, vol. 8410, pp. 290\u2013310. Springer, Heidelberg (2014). \nhttps:\/\/doi.org\/10.1007\/978-3-642-54833-8_16"},{"key":"22_CR24","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"216","DOI":"10.1007\/978-3-030-02146-7_11","volume-title":"Formal Aspects of Component Software","author":"T Neele","year":"2018","unstructured":"Neele, T., Willemse, T.A.C., Groote, J.F.: Solving parameterised Boolean equation systems with infinite data through quotienting. In: Bae, K., \u00d6lveczky, P.C. (eds.) FACS 2018. LNCS, vol. 11222, pp. 216\u2013236. Springer, Cham (2018). \nhttps:\/\/doi.org\/10.1007\/978-3-030-02146-7_11"},{"issue":"1\u20133","key":"22_CR25","doi-asserted-by":"publisher","first-page":"271","DOI":"10.1007\/978-3-540-28644-8_4","volume":"375","author":"P O\u2019Hearn","year":"2007","unstructured":"O\u2019Hearn, P.: Resources, concurrency and local reasoning. Theoret. Comput. Sci. 375(1\u20133), 271\u2013307 (2007). \nhttps:\/\/doi.org\/10.1007\/978-3-540-28644-8_4","journal-title":"Theoret. Comput. Sci."},{"key":"22_CR26","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"191","DOI":"10.1007\/978-3-319-72308-2_12","volume-title":"Verified Software. Theories, Tools, and Experiments","author":"W Oortwijn","year":"2017","unstructured":"Oortwijn, W., Blom, S., Gurov, D., Huisman, M., Zaharieva-Stojanovski, M.: An abstraction technique for describing concurrent program behaviour. In: Paskevich, A., Wies, T. (eds.) VSTTE 2017. LNCS, vol. 10712, pp. 191\u2013209. Springer, Cham (2017). \nhttps:\/\/doi.org\/10.1007\/978-3-319-72308-2_12"},{"key":"22_CR27","doi-asserted-by":"publisher","first-page":"65","DOI":"10.4204\/EPTCS.211.7","volume":"211","author":"Wytse Oortwijn","year":"2016","unstructured":"Oortwijn, W., Blom, S., Huisman, M.: Future-based static analysis of message passing programs. In: PLACES, pp. 65\u201372 (2016). \nhttps:\/\/doi.org\/10.4204\/EPTCS.211.7","journal-title":"Electronic Proceedings in Theoretical Computer Science"},{"key":"22_CR28","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4757-3540-6","volume-title":"Software Reliability Methods","year":"2001","unstructured":"Peled, D., Gries, D., Schneider, F. (eds.): Software Reliability Methods. Springer, New York (2001). \nhttps:\/\/doi.org\/10.1007\/978-1-4757-3540-6"},{"key":"22_CR29","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"207","DOI":"10.1007\/978-3-662-44202-9_9","volume-title":"ECOOP 2014 \u2013 Object-Oriented Programming","author":"P Rocha Pinto da","year":"2014","unstructured":"da Rocha Pinto, P., Dinsdale-Young, T., Gardner, P.: TaDA: a logic for time and data abstraction. In: Jones, R. (ed.) ECOOP 2014. LNCS, vol. 8586, pp. 207\u2013231. Springer, Heidelberg (2014). \nhttps:\/\/doi.org\/10.1007\/978-3-662-44202-9_9"},{"key":"22_CR30","volume-title":"Concurrency Verification: Introduction to Compositional and Noncompositional Methods","author":"W Roever de","year":"2001","unstructured":"de Roever, W., et al.: Concurrency Verification: Introduction to Compositional and Noncompositional Methods. Cambridge University Press, Cambridge (2001)"},{"issue":"POPL","key":"22_CR31","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3158116","volume":"2","author":"Ilya Sergey","year":"2017","unstructured":"Sergey, I., Wilcox, J., Tatlock, Z.: Programming and proving with distributed protocols. In: POPL, vol. 2 (2017). \nhttps:\/\/doi.org\/10.1145\/3158116","journal-title":"Proceedings of the ACM on Programming Languages"},{"key":"22_CR32","doi-asserted-by":"publisher","first-page":"651","DOI":"10.1007\/978-3-319-10575-8_20","volume-title":"Handbook of Model Checking","author":"N Shankar","year":"2018","unstructured":"Shankar, N.: Combining model checking and deduction. Handbook of Model Checking, pp. 651\u2013684. Springer, Cham (2018). \nhttps:\/\/doi.org\/10.1007\/978-3-319-10575-8_20"},{"key":"22_CR33","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"169","DOI":"10.1007\/978-3-642-37036-6_11","volume-title":"Programming Languages and Systems","author":"K Svendsen","year":"2013","unstructured":"Svendsen, K., Birkedal, L., Parkinson, M.: Modular reasoning about separation of concurrent data structures. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 169\u2013188. Springer, Heidelberg (2013). \nhttps:\/\/doi.org\/10.1007\/978-3-642-37036-6_11"},{"key":"22_CR34","series-title":"Lecture Notes in Computer Science (Lecture Notes in Artificial Intelligence)","doi-asserted-by":"publisher","first-page":"151","DOI":"10.1007\/10720084_11","volume-title":"Frontiers of Combining Systems","author":"TE Uribe","year":"2000","unstructured":"Uribe, T.E.: Combinations of model checking and theorem proving. In: Kirchner, H., Ringeissen, C. (eds.) FroCoS 2000. LNCS (LNAI), vol. 1794, pp. 151\u2013170. Springer, Heidelberg (2000). \nhttps:\/\/doi.org\/10.1007\/10720084_11"},{"key":"22_CR35","doi-asserted-by":"publisher","first-page":"335","DOI":"10.1016\/j.entcs.2011.09.029","volume":"276","author":"V Vafeiadis","year":"2011","unstructured":"Vafeiadis, V.: Concurrent separation logic and operational semantics. MFPS, ENTCS 276, 335\u2013351 (2011). \nhttps:\/\/doi.org\/10.1016\/j.entcs.2011.09.029","journal-title":"MFPS, ENTCS"},{"key":"22_CR36","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"256","DOI":"10.1007\/978-3-540-74407-8_18","volume-title":"CONCUR 2007 \u2013 Concurrency Theory","author":"V Vafeiadis","year":"2007","unstructured":"Vafeiadis, V., Parkinson, M.: A marriage of rely\/guarantee and separation logic. In: Caires, L., Vasconcelos, V.T. (eds.) CONCUR 2007. LNCS, vol. 4703, pp. 256\u2013271. Springer, Heidelberg (2007). \nhttps:\/\/doi.org\/10.1007\/978-3-540-74407-8_18"},{"key":"22_CR37","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"194","DOI":"10.1007\/978-3-642-10672-9_15","volume-title":"Programming Languages and Systems","author":"J Villard","year":"2009","unstructured":"Villard, J., Lozes, \u00c9., Calcagno, C.: Proving copyless message passing. In: Hu, Z. (ed.) APLAS 2009. LNCS, vol. 5904, pp. 194\u2013209. Springer, Heidelberg (2009). \nhttps:\/\/doi.org\/10.1007\/978-3-642-10672-9_15"},{"key":"22_CR38","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"68","DOI":"10.1007\/3-540-52148-8_6","volume-title":"Automatic Verification Methods for Finite State Systems","author":"P Wolper","year":"1990","unstructured":"Wolper, P., Lovinfosse, V.: Verifying properties of large sets of processes with network invariants. In: Sifakis, J. (ed.) CAV 1989. LNCS, vol. 407, pp. 68\u201380. Springer, Heidelberg (1990). \nhttps:\/\/doi.org\/10.1007\/3-540-52148-8_6"}],"container-title":["Lecture Notes in Computer Science","Integrated Formal Methods"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-34968-4_22","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,11,22]],"date-time":"2019-11-22T00:19:02Z","timestamp":1574381942000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-34968-4_22"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019]]},"ISBN":["9783030349677","9783030349684"],"references-count":38,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-34968-4_22","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2019]]},"assertion":[{"value":"22 November 2019","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"IFM","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Integrated Formal Methods","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Bergen","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Norway","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2019","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2 December 2019","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"6 December 2019","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"15","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"ifm2019","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/ifm2019.hvl.no\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}}]}}