{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,5,13]],"date-time":"2025-05-13T11:07:46Z","timestamp":1747134466741,"version":"3.40.3"},"publisher-location":"Cham","reference-count":32,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030846282"},{"type":"electronic","value":"9783030846299"}],"license":[{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2021,1,1]],"date-time":"2021-01-01T00:00:00Z","timestamp":1609459200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2021]]},"DOI":"10.1007\/978-3-030-84629-9_8","type":"book-chapter","created":{"date-parts":[[2021,8,2]],"date-time":"2021-08-02T11:06:30Z","timestamp":1627902390000},"page":"140-156","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Go2Pins: A Framework for the LTL Verification of Go Programs"],"prefix":"10.1007","author":[{"given":"Alexandre","family":"Kirszenberg","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Antoine","family":"Martin","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hugo","family":"Moreau","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9013-4413","authenticated-orcid":false,"given":"Etienne","family":"Renault","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2021,8,3]]},"reference":[{"key":"8_CR1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"201","DOI":"10.1007\/978-3-319-68167-2_14","volume-title":"Automated Technology for Verification and Analysis","author":"Z Baranov\u00e1","year":"2017","unstructured":"Baranov\u00e1, Z., et al.: Model checking of C and C++ with DIVINE 4. In: D\u2019Souza, D., Narayan Kumar, K. (eds.) ATVA 2017. LNCS, vol. 10482, pp. 201\u2013207. Springer, Cham (2017). https:\/\/doi.org\/10.1007\/978-3-319-68167-2_14"},{"key":"8_CR2","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"66","DOI":"10.1007\/978-3-319-23404-5_6","volume-title":"Model Checking Software","author":"F Blahoudek","year":"2015","unstructured":"Blahoudek, F., Duret-Lutz, A., Rujbr, V., Strej\u010dek, J.: On refinement of B\u00fcchi automata for explicit model checking. In: Fischer, B., Geldenhuys, J. (eds.) SPIN 2015. LNCS, vol. 9232, pp. 66\u201383. Springer, Cham (2015). https:\/\/doi.org\/10.1007\/978-3-319-23404-5_6"},{"key":"8_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"18","DOI":"10.1007\/978-3-319-49052-6_2","volume-title":"Hardware and Software: Verification and Testing","author":"V Bloemen","year":"2016","unstructured":"Bloemen, V., van de Pol, J.: Multi-core SCC-based LTL model checking. In: Bloem, R., Arbel, E. (eds.) HVC 2016. LNCS, vol. 10028, pp. 18\u201333. Springer, Cham (2016). https:\/\/doi.org\/10.1007\/978-3-319-49052-6_2"},{"key":"8_CR4","unstructured":"Dekker, J., Vaandrager, F., Smetsers, R.: Generating a google go framework from an uppaal model. Master\u2019s thesis, Radboud University, August 2014"},{"key":"8_CR5","doi-asserted-by":"crossref","unstructured":"Dilley, N., Lange, J.: An empirical study of messaging passing concurrency in go projects. In: 2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER 2019), pp. 377\u2013387 (2019)","DOI":"10.1109\/SANER.2019.8668036"},{"key":"8_CR6","doi-asserted-by":"publisher","unstructured":"Dilley, N., Lange, J.: Bounded verification of message-passing concurrency in go using promela and spin. In: Electronic Proceedings in Theoretical Computer Science, pp. 314:34\u201345, April 2020. https:\/\/doi.org\/10.4204\/EPTCS.314.4","DOI":"10.4204\/EPTCS.314.4"},{"key":"8_CR7","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"122","DOI":"10.1007\/978-3-319-46520-3_8","volume-title":"Automated Technology for Verification and Analysis","author":"A Duret-Lutz","year":"2016","unstructured":"Duret-Lutz, A., Lewkowicz, A., Fauchille, A., Michaud, T., Renault, \u00c9., Xu, L.: Spot 2.0 \u2014 A framework for LTL and $$\\omega $$-automata manipulation. In: Artho, C., Legay, A., Peled, D. (eds.) ATVA 2016. LNCS, vol. 9938, pp. 122\u2013129. Springer, Cham (2016). https:\/\/doi.org\/10.1007\/978-3-319-46520-3_8"},{"key":"8_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"269","DOI":"10.1007\/978-3-642-33386-6_22","volume-title":"Automated Technology for Verification and Analysis","author":"S Evangelista","year":"2012","unstructured":"Evangelista, S., Laarman, A., Petrucci, L., van de Pol, J.: Improved multi-core nested depth-first search. In: Chakraborty, S., Mukund, M. (eds.) ATVA 2012. LNCS, pp. 269\u2013283. Springer, Heidelberg (2012). https:\/\/doi.org\/10.1007\/978-3-642-33386-6_22"},{"key":"8_CR9","unstructured":"GitHub repository. C2Go: Migrate from C to Go (2020). https:\/\/godoc.org\/rsc.io\/c2go"},{"key":"8_CR10","unstructured":"GitHub repository. C4Go: Transpiling C code to Go code (2020). https:\/\/github.com\/Konstantin8105\/c4go"},{"key":"8_CR11","unstructured":"GitHub repository. Transpiling fortran code to golang code (2020). https:\/\/github.com\/Konstantin8105\/f4go"},{"key":"8_CR12","unstructured":"GitHub repository. Grumpy: Go running Python (2020). https:\/\/github.com\/google\/grumpy"},{"key":"8_CR13","unstructured":"GitHub repository. Java2Go: Convert Java code to something like Go (2020). https:\/\/github.com\/dglo\/java2go"},{"key":"8_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"137","DOI":"10.1007\/978-3-030-50029-0_9","volume-title":"Coordination Models and Languages","author":"M Giunti","year":"2020","unstructured":"Giunti, M.: GoPi: compiling linear and static channels in go. In: Bliudze, S., Bocchi, L. (eds.) COORDINATION 2020. LNCS, vol. 12134, pp. 137\u2013152. Springer, Cham (2020). https:\/\/doi.org\/10.1007\/978-3-030-50029-0_9"},{"key":"8_CR15","unstructured":"Godefroid, P.: Between testing and verification: dynamic software model checking. In: DSSE 2016, vol. 45, pp. 99\u2013116, April 2016"},{"key":"8_CR16","unstructured":"Griesemer, R., et al.: Hey! ho! let\u2019s go! (2009). https:\/\/opensource.googleblog.com\/2009\/11\/hey-ho-lets-go.html"},{"key":"8_CR17","volume-title":"Communicating Sequential Processes","author":"CAR Hoare","year":"1985","unstructured":"Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall Inc., Hoboken (1985)"},{"key":"8_CR18","volume-title":"The Spin Model Checker: Primer and Reference Manual","author":"GJ Holzmann","year":"2003","unstructured":"Holzmann, G.J.: The Spin Model Checker: Primer and Reference Manual. Addison-Wesley, Boston (2003)"},{"key":"8_CR19","doi-asserted-by":"crossref","unstructured":"Kant, G., Laarman, A., Meijer, J., van de Pol, J., Blom, S., van Dijk, T.: Ltsmin: high-performance language-independent model checking. In: TACAS 2015, pp. 692\u2013707, April 2015","DOI":"10.1007\/978-3-662-46681-0_61"},{"key":"8_CR20","doi-asserted-by":"crossref","unstructured":"Laarman, A., Pater, E., van de Pol, J., Hansen, H.: Guard-based partial-order reduction. Int. J. Softw. Tools Technol. Transfer 1\u201322 (2014)","DOI":"10.1007\/s10009-014-0363-9"},{"key":"8_CR21","doi-asserted-by":"crossref","unstructured":"Lange, J., Ng, N., Toninho, B., Yoshida, N.: Fencing off go: liveness and safety for channel-based programming. In: POPL 2017, pp. 748\u2013761. ACM (2017)","DOI":"10.1145\/3093333.3009847"},{"key":"8_CR22","doi-asserted-by":"crossref","unstructured":"Lange, J., Ng, n., Toninho, B., Yoshida, N.: A static verification framework for message passing in go using behavioural types. In: CSE 2018, pp. 1137\u20131148. ACM (2018)","DOI":"10.1145\/3180155.3180157"},{"key":"8_CR23","unstructured":"Liu, Z., Zhu, S., Qin, B., Chen, H., Song, L.: Automatically detecting and fixing concurrency bugs in go software systems. In: International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), vol. 11, pp. 2227\u20132240 (2016)"},{"key":"8_CR24","doi-asserted-by":"crossref","unstructured":"Manna, Z., Pnueli, A.: A hierarchy of temporal properties. In: PODC 1990, pp. 377\u2013410. ACM (1990)","DOI":"10.1145\/93385.93442"},{"key":"8_CR25","doi-asserted-by":"crossref","unstructured":"Ng, N., Yoshida, N.: Static deadlock detection for concurrent go by global session graph synthesis. In CCC 2016, pp. 174\u2013184. ACM (2016)","DOI":"10.1145\/2892208.2892232"},{"key":"8_CR26","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"377","DOI":"10.1007\/3-540-58179-0_69","volume-title":"Computer Aided Verification","author":"D Peled","year":"1994","unstructured":"Peled, D.: Combining partial order reductions with on-the-fly model-checking. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 377\u2013390. Springer, Heidelberg (1994). https:\/\/doi.org\/10.1007\/3-540-58179-0_69"},{"key":"8_CR27","doi-asserted-by":"crossref","unstructured":"Ray, B., Posnett, D., Filkov, V., Devanbu, P.: A large scale study of programming languages and code quality in github. In: SIGSOFT 2014, pp. 155\u2013165 (2014)","DOI":"10.1145\/2635868.2635922"},{"key":"8_CR28","unstructured":"RERS challenge. Rigorous examination of reactive systems (RERS) (2019). http:\/\/rers-challenge.org\/2019\/"},{"key":"8_CR29","doi-asserted-by":"crossref","unstructured":"Tu, T., Liu, X., Song, L., Zhang, Y.: Understanding real-world concurrency bugs in go. In: ASPLOS 2019, pp. 865\u2013878 (2019)","DOI":"10.1145\/3297858.3304069"},{"key":"8_CR30","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"491","DOI":"10.1007\/3-540-53863-1_36","volume-title":"Advances in Petri Nets 1990","author":"A Valmari","year":"1991","unstructured":"Valmari, A.: Stubborn sets for reduced state space generation. In: Rozenberg, G. (ed.) ICATPN 1989. LNCS, vol. 483, pp. 491\u2013515. Springer, Heidelberg (1991). https:\/\/doi.org\/10.1007\/3-540-53863-1_36"},{"key":"8_CR31","doi-asserted-by":"publisher","first-page":"203","DOI":"10.1023\/A:1022920129859","volume":"10","author":"W Visser","year":"2018","unstructured":"Visser, W., Havelund, K., Brat, G., Park, S., Lerda, F.: Model checking programs. Autom. Softw. Eng. 10, 203\u2013232 (2018). https:\/\/doi.org\/10.1023\/A:1022920129859","journal-title":"Autom. Softw. Eng."},{"key":"8_CR32","unstructured":"Zaks, A., Joshi, R.: Verifying multi-threaded C programs with SPIN. In: SPIN 2008, pp. 94\u2013107 (2008)"}],"container-title":["Lecture Notes in Computer Science","Model Checking Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-84629-9_8","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,8,18]],"date-time":"2021-08-18T23:06:59Z","timestamp":1629328019000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-84629-9_8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021]]},"ISBN":["9783030846282","9783030846299"],"references-count":32,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-84629-9_8","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2021]]},"assertion":[{"value":"3 August 2021","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"SPIN","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Symposium on Model Checking Software","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2021","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"12 July 2021","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"12 July 2021","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"27","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"spin2021","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/conf.researchr.org\/home\/ecoop-issta-2021\/spin-2021","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":"20","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":"8","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":"40% - 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":"2","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":"2 invited papers are also included.","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)"}}]}}