{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,3]],"date-time":"2026-07-03T16:26:40Z","timestamp":1783096000895,"version":"3.54.6"},"publisher-location":"Cham","reference-count":27,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783030644369","type":"print"},{"value":"9783030644376","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":"http:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2020,1,1]],"date-time":"2020-01-01T00:00:00Z","timestamp":1577836800000},"content-version":"vor","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":[[2020]]},"DOI":"10.1007\/978-3-030-64437-6_11","type":"book-chapter","created":{"date-parts":[[2020,11,26]],"date-time":"2020-11-26T13:02:45Z","timestamp":1606395765000},"page":"209-230","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":7,"title":["Stack-Driven Program Generation of WebAssembly"],"prefix":"10.1007","author":[{"given":"\u00c1rp\u00e1d","family":"Per\u00e9nyi","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6506-5468","authenticated-orcid":false,"given":"Jan","family":"Midtgaard","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2020,11,24]]},"reference":[{"key":"11_CR1","doi-asserted-by":"crossref","unstructured":"Arts, T., Castro, L.M., Hughes, J.: Testing Erlang data types with Quviq QuickCheck. In: Proceedings of the of ERLANG 2008, pp. 1\u20138 (2008)","DOI":"10.1145\/1411273.1411275"},{"key":"11_CR2","doi-asserted-by":"crossref","unstructured":"Arts, T., Hughes, J., Johansson, J., Wiger, U.: Testing telecoms software with Quviq QuickCheck. In: Proceedings of ERLANG 2006 (2006)","DOI":"10.1145\/1159789.1159792"},{"key":"11_CR3","doi-asserted-by":"crossref","unstructured":"Barany, G.: Liveness-driven random program generation. In: Proceedings of LOPSTR 2017, pp. 112\u2013127 (2017)","DOI":"10.1007\/978-3-319-94460-9_7"},{"key":"11_CR4","doi-asserted-by":"crossref","unstructured":"Barany, G.: Finding missed compiler optimizations by differential testing. In: Proceedings of CC 2018, pp. 82\u201392 (2018)","DOI":"10.1145\/3178372.3179521"},{"key":"11_CR5","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"120","DOI":"10.1007\/978-3-319-51676-9_8","volume-title":"Practical Aspects of Declarative Languages","author":"M Bendkowski","year":"2017","unstructured":"Bendkowski, M., Grygiel, K., Tarau, P.: Boltzmann samplers for closed simply-typed lambda terms. In: Lierler, Y., Taha, W. (eds.) PADL 2017. LNCS, vol. 10137, pp. 120\u2013135. Springer, Cham (2017). https:\/\/doi.org\/10.1007\/978-3-319-51676-9_8"},{"key":"11_CR6","unstructured":"Binaryen: Compiler infrastructure and toolchain library for WebAssembly. https:\/\/github.com\/WebAssembly\/binaryen. Accessed 02 July 2020"},{"issue":"1","key":"11_CR7","doi-asserted-by":"publisher","first-page":"263","DOI":"10.1145\/234313.234418","volume":"28","author":"L Cardelli","year":"1996","unstructured":"Cardelli, L.: Type systems. ACM Comput. Surv. 28(1), 263\u2013264 (1996)","journal-title":"ACM Comput. Surv."},{"key":"11_CR8","doi-asserted-by":"crossref","unstructured":"Claessen, K., Hughes, J.: QuickCheck: a lightweight tool for random testing of Haskell programs. In: Proceedings of ICFP 2000, pp. 53\u201364 (2000)","DOI":"10.1145\/351240.351266"},{"key":"11_CR9","unstructured":"Cruanes, S.: QCheck: QuickCheck inspired property-based testing for OCaml. https:\/\/github.com\/c-cube\/qcheck. Accessed 02 July 2020"},{"key":"11_CR10","doi-asserted-by":"crossref","unstructured":"Donaldson, A.F., Evrard, H., Lascu, A., Thomson, P.: Automated testing of graphics shader compilers. PACMPL 1(OOPSLA), 93:1\u201393:29 (2017)","DOI":"10.1145\/3133917"},{"key":"11_CR11","unstructured":"GoogleChromeLabs: JSVU, JavaScript (engine) version updater. https:\/\/github.com\/GoogleChromeLabs\/jsvu. Accessed 04 July 2020"},{"key":"11_CR12","doi-asserted-by":"crossref","unstructured":"Haas, A., et al.: Bringing the web up to speed with WebAssembly. In: Proceedings of PLDI 2017, pp. 185\u2013200 (2017)","DOI":"10.1145\/3140587.3062363"},{"key":"11_CR13","unstructured":"Holler, C., Herzig, K., Zeller, A.: Fuzzing with code fragments. In: Proceedings of the 21st USENIX Security Symposium (2012)"},{"key":"11_CR14","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"169","DOI":"10.1007\/978-3-319-30936-1_9","volume-title":"A List of Successes That Can Change the World","author":"J Hughes","year":"2016","unstructured":"Hughes, J.: Experiences with QuickCheck: testing the hard stuff and staying sane. In: Lindley, S., McBride, C., Trinder, P., Sannella, D. (eds.) A List of Successes That Can Change the World. LNCS, vol. 9600, pp. 169\u2013186. Springer, Cham (2016). https:\/\/doi.org\/10.1007\/978-3-319-30936-1_9"},{"key":"11_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"134","DOI":"10.1007\/978-3-642-22941-1_9","volume-title":"Trends in Functional Programming","author":"P Koopman","year":"2011","unstructured":"Koopman, P., Plasmeijer, R.: Testing with functional reference implementations. In: Page, R., Horv\u00e1th, Z., Zs\u00f3k, V. (eds.) TFP 2010. LNCS, vol. 6546, pp. 134\u2013149. Springer, Heidelberg (2011). https:\/\/doi.org\/10.1007\/978-3-642-22941-1_9"},{"key":"11_CR16","doi-asserted-by":"crossref","unstructured":"Le, V., Afshari, M., Su, Z.: Compiler validation via equivalence modulo inputs. In: Proceedings of PLDI 2014, pp. 216\u2013226 (2014)","DOI":"10.1145\/2666356.2594334"},{"issue":"1","key":"11_CR17","first-page":"100","volume":"10","author":"WM McKeeman","year":"1998","unstructured":"McKeeman, W.M.: Differential testing for software. Digit. Tech. J. 10(1), 100\u2013107 (1998)","journal-title":"Digit. Tech. J."},{"key":"11_CR18","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"59","DOI":"10.1007\/978-3-319-89719-6_4","volume-title":"Trends in Functional Programming","author":"J Midtgaard","year":"2018","unstructured":"Midtgaard, J.: QuickChecking patricia trees. In: Wang, M., Owens, S. (eds.) TFP 2017. LNCS, vol. 10788, pp. 59\u201378. Springer, Cham (2018). https:\/\/doi.org\/10.1007\/978-3-319-89719-6_4"},{"key":"11_CR19","doi-asserted-by":"crossref","unstructured":"Midtgaard, J., Justesen, M.N., Kasting, P., Nielson, F., Nielson, H.R.: Effect-driven QuickChecking of compilers. PACMPL 1(ICFP), 15:1\u201315:23 (2017)","DOI":"10.1145\/3110259"},{"key":"11_CR20","doi-asserted-by":"crossref","unstructured":"Pa\u0142ka, M.H., Claessen, K., Russo, A., Hughes, J.: Testing an optimising compiler by generating random lambda terms. In: Proceedings of AST 2011, pp. 91\u201397 (2011)","DOI":"10.1145\/1982595.1982615"},{"issue":"3","key":"11_CR21","doi-asserted-by":"publisher","first-page":"366","DOI":"10.1007\/BF01932308","volume":"12","author":"P Purdom","year":"1972","unstructured":"Purdom, P.: A sentence generator for testing parsers. BIT 12(3), 366\u2013375 (1972)","journal-title":"BIT"},{"key":"11_CR22","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"69","DOI":"10.1007\/978-3-642-34407-7_5","volume-title":"Implementation and Application of Functional Languages","author":"JS Reich","year":"2012","unstructured":"Reich, J.S., Naylor, M., Runciman, C.: Lazy generation of canonical test programs. In: Gill, A., Hage, J. (eds.) IFL 2011. LNCS, vol. 7257, pp. 69\u201384. Springer, Heidelberg (2012). https:\/\/doi.org\/10.1007\/978-3-642-34407-7_5"},{"key":"11_CR23","unstructured":"Rossberg, A.: WebAssembly reference interpreter. https:\/\/github.com\/WebAssembly\/spec\/tree\/master\/interpreter. Accessed 02 July 2020"},{"key":"11_CR24","doi-asserted-by":"crossref","unstructured":"Runciman, C., Naylor, M., Lindblad, F.: SmallCheck and lazy SmallCheck: automatic exhaustive testing for small values. In: Proceedings of Haskell 2008, pp. 37\u201348 (2008)","DOI":"10.1145\/1543134.1411292"},{"key":"11_CR25","doi-asserted-by":"crossref","unstructured":"Watt, C.: Mechanising and verifying the WebAssembly specification. In: Proceedings of CPP 2018, pp. 53\u201365 (2018)","DOI":"10.1145\/3176245.3167082"},{"key":"11_CR26","unstructured":"WebAssembly: Official website. https:\/\/webassembly.org\/. Accessed 02 July 2020"},{"key":"11_CR27","doi-asserted-by":"crossref","unstructured":"Yang, X., Chen, Y., Eide, E., Regehr, J.: Finding and understanding bugs in C compilers. In: Proceedings of PLDI 2011, pp. 283\u2013294 (2011)","DOI":"10.1145\/1993316.1993532"}],"container-title":["Lecture Notes in Computer Science","Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-64437-6_11","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,4,24]],"date-time":"2021-04-24T12:49:35Z","timestamp":1619268575000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-030-64437-6_11"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020]]},"ISBN":["9783030644369","9783030644376"],"references-count":27,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-64437-6_11","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":"24 November 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"APLAS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Asian Symposium on Programming Languages and Systems","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Fukuoka","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Japan","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":"30 November 2020","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2 December 2020","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"18","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"aplas2020","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/conf.researchr.org\/home\/aplas-2020\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Double-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Hotcrp.com","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"46","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":"17","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":"2","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":"37% - 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","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 was held virtually due to the COVID-19 pandemic.","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)"}}]}}