{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,11]],"date-time":"2026-02-11T18:41:47Z","timestamp":1770835307459,"version":"3.50.1"},"publisher-location":"Cham","reference-count":26,"publisher":"Springer Nature Switzerland","isbn-type":[{"value":"9783031471148","type":"print"},{"value":"9783031471155","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:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2023]]},"DOI":"10.1007\/978-3-031-47115-5_14","type":"book-chapter","created":{"date-parts":[[2023,10,30]],"date-time":"2023-10-30T15:04:38Z","timestamp":1698678278000},"page":"246-262","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":2,"title":["Verified Scalable Parallel Computing with\u00a0Why3"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0009-0007-7154-5365","authenticated-orcid":false,"given":"Olivia","family":"Proust","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-9301-7829","authenticated-orcid":false,"given":"Fr\u00e9d\u00e9ric","family":"Loulergue","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2023,10,31]]},"reference":[{"key":"14_CR1","doi-asserted-by":"crossref","unstructured":"Armbrust, M., et al.: Scaling spark in the real world: performance and usability. PVLDB 8(12), 1840\u20131851 (2015). https:\/\/www.vldb.org\/pvldb\/vol8\/p1840-armbrust.pdf","DOI":"10.14778\/2824032.2824080"},{"key":"14_CR2","unstructured":"Bobot, F., Filli\u00e2tre, J.C., Claude, M., Melquiond, G., Paskevich, A.: The Why3 platform (2023). https:\/\/why3.lri.fr"},{"issue":"6","key":"14_CR3","doi-asserted-by":"publisher","first-page":"709","DOI":"10.1007\/s10009-014-0314-5","volume":"17","author":"F Bobot","year":"2014","unstructured":"Bobot, F., Filli\u00e2tre, J.-C., March\u00e9, C., Paskevich, A.: Let\u2019s verify this with Why3. Int. J. Softw. Tools Technol. Transfer 17(6), 709\u2013727 (2014). https:\/\/doi.org\/10.1007\/s10009-014-0314-5","journal-title":"Int. J. Softw. Tools Technol. Transfer"},{"key":"14_CR4","unstructured":"Cole, M.: Algorithmic skeletons: structured management of parallel computation. MIT Press (1989)"},{"key":"14_CR5","unstructured":"Conchon, S., Coquereau, A., Iguernlala, M., Mebsout, A.: Alt-Ergo 2.2. In: SMT Workshop: International Workshop on Satisfiability Modulo Theories. Oxford, United Kingdom (2018). https:\/\/inria.hal.science\/hal-01960203"},{"key":"14_CR6","doi-asserted-by":"publisher","first-page":"90","DOI":"10.1016\/j.jlamp.2019.02.010","volume":"108","author":"F Dabrowski","year":"2019","unstructured":"Dabrowski, F.: A denotational semantics of textually aligned SPMD programs. J. Log. Algebraic Methods Program. 108, 90\u2013104 (2019). https:\/\/doi.org\/10.1016\/j.jlamp.2019.02.010","journal-title":"J. Log. Algebraic Methods Program."},{"key":"14_CR7","doi-asserted-by":"publisher","unstructured":"Denis, X., Jourdan, J., March\u00e9, C.: CREUSOT: a foundry for the deductive verification of rust programs. In: Riesco, A., Zhang, M. (eds.) Formal Methods and Software Engineering. ICFEM 2022. LNCS, vol. 13478. Springer, Cham (2022). https:\/\/doi.org\/10.1007\/978-3-031-17244-1_6","DOI":"10.1007\/978-3-031-17244-1_6"},{"key":"14_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"258","DOI":"10.1007\/978-3-319-08970-6_17","volume-title":"Interactive Theorem Proving","author":"K Emoto","year":"2014","unstructured":"Emoto, K., Loulergue, F., Tesson, J.: A verified generate-test-aggregate Coq library for parallel programs extraction. In: Klein, G., Gamboa, R. (eds.) ITP 2014. LNCS, vol. 8558, pp. 258\u2013274. Springer, Cham (2014). https:\/\/doi.org\/10.1007\/978-3-319-08970-6_17"},{"key":"14_CR9","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"173","DOI":"10.1007\/978-3-540-73368-3_21","volume-title":"Computer Aided Verification","author":"J-C Filli\u00e2tre","year":"2007","unstructured":"Filli\u00e2tre, J.-C., March\u00e9, C.: The Why\/Krakatoa\/Caduceus platform for deductive program verification. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 173\u2013177. Springer, Heidelberg (2007). https:\/\/doi.org\/10.1007\/978-3-540-73368-3_21"},{"key":"14_CR10","doi-asserted-by":"publisher","unstructured":"Fortin, J., Gava, F.: BSP-WHY: an intermediate language for deductive verification of BSP programs. In: 4th workshop on High-Level Parallel Programming and applications (HLPP), pp. 35\u201344. ACM (2010). https:\/\/doi.org\/10.1145\/1863482.1863491","DOI":"10.1145\/1863482.1863491"},{"issue":"3","key":"14_CR11","doi-asserted-by":"publisher","first-page":"574","DOI":"10.1007\/s10766-015-0360-y","volume":"44","author":"J Fortin","year":"2015","unstructured":"Fortin, J., Gava, F.: BSP-Why: a tool for deductive verification of BSP algorithms with subgroup synchronisation. Int. J. Parallel Prog. 44(3), 574\u2013597 (2015). https:\/\/doi.org\/10.1007\/s10766-015-0360-y","journal-title":"Int. J. Parallel Prog."},{"issue":"3","key":"14_CR12","doi-asserted-by":"publisher","first-page":"365","DOI":"10.1142\/S0129626403001343","volume":"13","author":"F Gava","year":"2003","unstructured":"Gava, F.: Formal proofs of functional BSP programs. Parall. Process. Lett. 13(3), 365\u2013376 (2003)","journal-title":"Parall. Process. Lett."},{"key":"14_CR13","doi-asserted-by":"publisher","unstructured":"Gava, F., Garnier, I.: New implementation of a BSP composition primitive with application to the implementation of algorithmic skeletons. In: 23rd IEEE International Symposium on Parallel and Distributed Processing (IPDPS 2009), APDCM workshop, pp. 1\u20138. IEEE (2009). https:\/\/doi.org\/10.1109\/IPDPS.2009.5160876","DOI":"10.1109\/IPDPS.2009.5160876"},{"key":"14_CR14","doi-asserted-by":"publisher","first-page":"1947","DOI":"10.1016\/S0167-8191(98)00093-3","volume":"24","author":"JMD Hill","year":"1998","unstructured":"Hill, J.M.D., et al.: BSPlib: the BSP programming library. Parallel Comput. 24, 1947\u20131980 (1998)","journal-title":"Parallel Comput."},{"issue":"3","key":"14_CR15","doi-asserted-by":"publisher","first-page":"573","DOI":"10.1007\/s00165-014-0326-7","volume":"27","author":"F Kirchner","year":"2015","unstructured":"Kirchner, F., Kosmatov, N., Prevosto, V., Signoles, J., Yakobowski, B.: Frama-C: a software analysis perspective. Formal Aspects Comput. 27(3), 573\u2013609 (2015). https:\/\/doi.org\/10.1007\/s00165-014-0326-7","journal-title":"Formal Aspects Comput."},{"key":"14_CR16","doi-asserted-by":"publisher","unstructured":"Loulergue, F.: A BSPlib-style API for bulk synchronous parallel ML. Scalable Comput.: Pract. Exp. 18, 261\u2013274 (2017). https:\/\/doi.org\/10.12694\/scpe.v18i3.1306","DOI":"10.12694\/scpe.v18i3.1306"},{"key":"14_CR17","doi-asserted-by":"publisher","unstructured":"Loulergue, F.: Implementing algorithmic skeletons with bulk synchronous parallel ML. In: Parallel and Distributed Computing, Applications and Technologies (PDCAT), pp. 461\u2013468. IEEE (2017). https:\/\/doi.org\/10.1109\/PDCAT.2017.00079","DOI":"10.1109\/PDCAT.2017.00079"},{"issue":"2","key":"14_CR18","doi-asserted-by":"publisher","first-page":"300","DOI":"10.1007\/s10766-016-0415-8","volume":"45","author":"F Loulergue","year":"2016","unstructured":"Loulergue, F., Bousdira, W., Tesson, J.: Calculating parallel programs in Coq using list homomorphisms. Int. J. Parallel Prog. 45(2), 300\u2013319 (2016). https:\/\/doi.org\/10.1007\/s10766-016-0415-8","journal-title":"Int. J. Parallel Prog."},{"key":"14_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"1046","DOI":"10.1007\/11428848_132","volume-title":"Computational Science \u2013 ICCS 2005","author":"F Loulergue","year":"2005","unstructured":"Loulergue, F., Gava, F., Billiet, D.: Bulk synchronous parallel ML: modular implementation and performance prediction. In: Sunderam, V.S., van Albada, G.D., Sloot, P.M.A., Dongarra, J.J. (eds.) ICCS 2005. LNCS, vol. 3515, pp. 1046\u20131054. Springer, Heidelberg (2005). https:\/\/doi.org\/10.1007\/11428848_132"},{"key":"14_CR20","doi-asserted-by":"publisher","unstructured":"Loulergue, F., Robillard, S., Tesson, J., L\u00e9gaux, J., Hu, Z.: Formal derivation and extraction of a parallel program for the all nearest smaller values problem. In: ACM Symposium on Applied Computing (SAC), pp. 1577\u20131584. ACM, Gyeongju, Korea (2014). https:\/\/doi.org\/10.1145\/2554850.2554912","DOI":"10.1145\/2554850.2554912"},{"key":"14_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"337","DOI":"10.1007\/978-3-540-78800-3_24","volume-title":"Tools and Algorithms for the Construction and Analysis of Systems","author":"L de Moura","year":"2008","unstructured":"de Moura, L., Bj\u00f8rner, N.: Z3: an efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337\u2013340. Springer, Heidelberg (2008). https:\/\/doi.org\/10.1007\/978-3-540-78800-3_24"},{"key":"14_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"350","DOI":"10.1007\/978-3-642-24690-6_24","volume-title":"Software Engineering and Formal Methods","author":"K Ono","year":"2011","unstructured":"Ono, K., Hirai, Y., Tanabe, Y., Noda, N., Hagiya, M.: Using Coq in specification and program extraction of Hadoop MapReduce applications. In: Barthe, G., Pardo, A., Schneider, G. (eds.) SEFM 2011. LNCS, vol. 7041, pp. 350\u2013365. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-24690-6_24"},{"key":"14_CR23","doi-asserted-by":"crossref","unstructured":"Snir, M., Gropp, W.: MPI the complete reference. MIT Press (1998)","DOI":"10.7551\/mitpress\/4789.001.0001"},{"key":"14_CR24","doi-asserted-by":"publisher","unstructured":"Tesson, J., Loulergue, F.: A verified bulk synchronous parallel ML heat diffusion simulation. In: International Conference on Computational Science (ICCS), pp. 36\u201345. Elsevier, Singapore (2011). https:\/\/doi.org\/10.1016\/j.procs.2011.04.005","DOI":"10.1016\/j.procs.2011.04.005"},{"issue":"8","key":"14_CR25","doi-asserted-by":"publisher","first-page":"103","DOI":"10.1145\/79173.79181","volume":"33","author":"LG Valiant","year":"1990","unstructured":"Valiant, L.G.: A bridging model for parallel computation. Commun. ACM 33(8), 103 (1990). https:\/\/doi.org\/10.1145\/79173.79181","journal-title":"Commun. ACM"},{"key":"14_CR26","unstructured":"White, T.: Hadoop - The Definitive Guide. O\u2019Reilly, 2nd edn. (2010)"}],"container-title":["Lecture Notes in Computer Science","Software Engineering and Formal Methods"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-47115-5_14","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,11,4]],"date-time":"2023-11-04T00:03:19Z","timestamp":1699056199000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-47115-5_14"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023]]},"ISBN":["9783031471148","9783031471155"],"references-count":26,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-47115-5_14","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":"31 October 2023","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"SEFM","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Software Engineering and Formal Methods","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Eindhoven","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"The Netherlands","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":"6 November 2023","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"10 November 2023","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"21","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"sefm2023","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/sefm-conference.github.io\/2023\/","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":"41","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":"19","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":"46% - 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":"4,5","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)"}}]}}