{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,5]],"date-time":"2026-02-05T07:01:25Z","timestamp":1770274885512,"version":"3.49.0"},"publisher-location":"Cham","reference-count":26,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783030452360","type":"print"},{"value":"9783030452377","type":"electronic"}],"license":[{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2020,4,17]],"date-time":"2020-04-17T00:00:00Z","timestamp":1587081600000},"content-version":"vor","delay-in-days":107,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2020]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>We present an algorithm to decide the equivalence of context-free session types, practical to the point of being incorporated in a compiler. We prove its soundness and completeness. We further evaluate its behaviour in practice. In the process, we introduce an algorithm to decide the bisimilarity of simple grammars.<\/jats:p>","DOI":"10.1007\/978-3-030-45237-7_3","type":"book-chapter","created":{"date-parts":[[2020,4,17]],"date-time":"2020-04-17T10:02:53Z","timestamp":1587117773000},"page":"39-56","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":7,"title":["Deciding the Bisimilarity of Context-Free Session Types"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-5398-6529","authenticated-orcid":false,"given":"Bernardo","family":"Almeida","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1547-0692","authenticated-orcid":false,"given":"Andreia","family":"Mordido","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9539-8861","authenticated-orcid":false,"given":"Vasco T.","family":"Vasconcelos","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2020,4,17]]},"reference":[{"key":"3_CR1","doi-asserted-by":"crossref","unstructured":"Aceto, L., Hennessy, M.: Termination, deadlock, and divergence. J. ACM 39(1), 147\u2013187 (1992)","DOI":"10.1145\/147508.147527"},{"key":"3_CR2","doi-asserted-by":"publisher","unstructured":"Almeida, B., Mordido, A., T.\u00a0Vasconcelos, V.: Freest: Context-free session types in a functional language. In: Proceedings Programming Language Approaches to Concurrency- and Communication-cEntric Software. Electronic Proceedings in Theoretical Computer Science, vol.\u00a0291, pp. 12\u201323. Open Publishing Association (2019). https:\/\/doi.org\/10.4204\/EPTCS.291.2","DOI":"10.4204\/EPTCS.291.2"},{"key":"3_CR3","doi-asserted-by":"crossref","unstructured":"Baeten, J.C., Bergstra, J.A., Klop, J.W.: Decidability of bisimulation equivalence for process generating context-free languages. Journal of the ACM (JACM) 40(3), 653\u2013682 (1993)","DOI":"10.1145\/174130.174141"},{"key":"3_CR4","doi-asserted-by":"publisher","unstructured":"Burkart, O., Caucal, D., Steffen, B.: An elementary bisimulation decision procedure for arbitrary context-free processes. In: Mathematical Foundations of Computer Science. pp. 423\u2013433 (1995). https:\/\/doi.org\/10.1007\/3-540-60246-1_148","DOI":"10.1007\/3-540-60246-1_148"},{"key":"3_CR5","doi-asserted-by":"crossref","unstructured":"Caucal, D.: D\u00e9cidabilit\u00e9 de l\u2019\u00e9galit\u00e9 des langages alg\u00e9briques infinitaires simples. In: Annual Symposium on Theoretical Aspects of Computer Science. pp. 37\u201348. Springer (1986)","DOI":"10.1007\/3-540-16078-7_63"},{"key":"3_CR6","unstructured":"Christensen, S., H\u00fcttel, H., Stirling, C.: Bisimulation equivalence is decidable for all context-free processes. Inf. Comput. 121(2), 143\u2013148 (1995)"},{"key":"3_CR7","doi-asserted-by":"crossref","unstructured":"Claessen, K., Hughes, J.: Quickcheck: a lightweight tool for random testing of haskell programs. In: Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming. pp. 268\u2013279. ACM (2000), https:\/\/doi.org\/10.1145\/351240.351266","DOI":"10.1145\/351240.351266"},{"key":"3_CR8","unstructured":"Czerwinski, W., Lasota, S.: Fast equivalence-checking for normed context-free processes. In: IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2010). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik (2010)"},{"key":"3_CR9","doi-asserted-by":"publisher","unstructured":"Gay, S.J., Hole, M.: Subtyping for session types in the pi calculus. Acta Inf. 42(2-3), 191\u2013225 (2005). https:\/\/doi.org\/10.1007\/s00236-005-0177-z","DOI":"10.1007\/s00236-005-0177-z"},{"key":"3_CR10","doi-asserted-by":"crossref","unstructured":"Henry, P., S\u00e9nizergues, G.: Lalblc a program testing the equivalence of dpda\u2019s. In: International Conference on Implementation and Application of Automata. pp. 169\u2013180. Springer (2013)","DOI":"10.1007\/978-3-642-39274-0_16"},{"key":"3_CR11","unstructured":"Hirshfeld, Y.: Bisimulation trees and the decidability of weak bisimulations. Electr. Notes Theor. Comput. Sci. 5, 2\u201313 (1996)"},{"key":"3_CR12","doi-asserted-by":"publisher","unstructured":"Hirshfeld, Y., Jerrum, M., Moller, F.: A polynomial algorithm for deciding bisimilarity of normed context-free processes. Theor. Comput. Sci. 158(1&2), 143\u2013159 (1996). https:\/\/doi.org\/10.1016\/0304-3975(95)00064-X","DOI":"10.1016\/0304-3975(95)00064-X"},{"key":"3_CR13","doi-asserted-by":"publisher","unstructured":"Hirshfeld, Y., Moller, F.: A fast algorithm for deciding bisimilarity of normed context-free processes. In: CONCUR \u201994, Concurrency Theory. pp. 48\u201363 (1994). https:\/\/doi.org\/10.1007\/978-3-540-48654-1_5","DOI":"10.1007\/978-3-540-48654-1_5"},{"key":"3_CR14","doi-asserted-by":"crossref","unstructured":"Honda, K.: Types for dyadic interaction. In: CONCUR \u201993, 4th International Conference on Concurrency Theory. LNCS, vol.\u00a0715, pp. 509\u2013523. Springer (1993)","DOI":"10.1007\/3-540-57208-2_35"},{"key":"3_CR15","doi-asserted-by":"publisher","unstructured":"Honda, K., Vasconcelos, V.T., Kubo, M.: Language primitives and type discipline for structured communication-based programming. In: Programming Languages and Systems. pp. 122\u2013138 (1998). https:\/\/doi.org\/10.1007\/BFb0053567","DOI":"10.1007\/BFb0053567"},{"key":"3_CR16","doi-asserted-by":"crossref","unstructured":"Jan\u010dar, P.: Selected ideas used for decidability and undecidability of bisimilarity. In: International Conference on Developments in Language Theory. pp. 56\u201371. Springer (2008)","DOI":"10.1007\/978-3-540-85780-8_4"},{"key":"3_CR17","doi-asserted-by":"crossref","unstructured":"Jancar, P.: Bisimilarity on basic process algebra is in 2-exptime (an explicit proof). arXiv preprint arXiv:1207.2479 (2012)","DOI":"10.2168\/LMCS-9(1:10)2013"},{"key":"3_CR18","doi-asserted-by":"crossref","unstructured":"Jan\u010dar, P., Moller, F.: Techniques for decidability and undecidability of bisimilarity. In: International Conference on Concurrency Theory. pp. 30\u201345. Springer (1999)","DOI":"10.1007\/3-540-48320-9_5"},{"key":"3_CR19","doi-asserted-by":"crossref","unstructured":"Kiefer, S.: Bpa bisimilarity is exptime-hard. Information Processing Letters 113(4), 101\u2013106 (2013)","DOI":"10.1016\/j.ipl.2012.12.004"},{"key":"3_CR20","doi-asserted-by":"publisher","unstructured":"Padovani, L.: Context-free session type inference. In: Programming Languages and Systems - 26th European Symposium on Programming. pp. 804\u2013830 (2017). https:\/\/doi.org\/10.1007\/978-3-662-54434-1_30","DOI":"10.1007\/978-3-662-54434-1_30"},{"key":"3_CR21","unstructured":"Sangiorgi, D.: An Introduction to Bisimulation and Coinduction. Cambridge University Press (2014)"},{"key":"3_CR22","doi-asserted-by":"crossref","unstructured":"S\u00e9nizergues, G.: The equivalence problem for deterministic pushdown automata is decidable. In: International Colloquium on Automata, Languages, and Programming. pp. 671\u2013681. Springer (1997)","DOI":"10.1007\/3-540-63165-8_221"},{"key":"3_CR23","doi-asserted-by":"crossref","unstructured":"Stirling, C.: Decidability of DPDA equivalence. Theoretical Computer Science 255(1-2), 1\u201331 (2001)","DOI":"10.1016\/S0304-3975(00)00389-3"},{"key":"3_CR24","doi-asserted-by":"crossref","unstructured":"Takeuchi, K., Honda, K., Kubo, M.: An interaction-based language and its typing system. In: PARLE. LNCS, vol.\u00a0817, pp. 398\u2013413. Springer (1994)","DOI":"10.1007\/3-540-58184-7_118"},{"key":"3_CR25","doi-asserted-by":"crossref","unstructured":"Tarski, A., et\u00a0al.: A lattice-theoretical fixpoint theorem and its applications. Pacific journal of Mathematics 5(2), 285\u2013309 (1955)","DOI":"10.2140\/pjm.1955.5.285"},{"key":"3_CR26","doi-asserted-by":"publisher","unstructured":"Thiemann, P., Vasconcelos, V.T.: Context-free session types. In: Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming. pp. 462\u2013475 (2016). https:\/\/doi.org\/10.1145\/2951913.2951926.","DOI":"10.1145\/2951913.2951926"}],"container-title":["Lecture Notes in Computer Science","Tools and Algorithms for the Construction and Analysis of Systems"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-45237-7_3","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,3,22]],"date-time":"2021-03-22T18:04:18Z","timestamp":1616436258000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-45237-7_3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020]]},"ISBN":["9783030452360","9783030452377"],"references-count":26,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-45237-7_3","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020]]},"assertion":[{"value":"17 April 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"TACAS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Tools and Algorithms for the Construction and Analysis of Systems","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Dublin","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Ireland","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2020","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"25 April 2020","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"30 April 2020","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":"tacas2020","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/www.etaps.org\/2020\/tacas","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-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":"155","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":"40","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":"8","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":"26% - 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":"14","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 conference could not take place due to the COVID-19 pandemic. There was an online event on July 2, 2020.","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)"}}]}}