{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,27]],"date-time":"2025-03-27T07:40:26Z","timestamp":1743061226446,"version":"3.40.3"},"publisher-location":"Cham","reference-count":28,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783030409135"},{"type":"electronic","value":"9783030409142"}],"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"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2020]]},"DOI":"10.1007\/978-3-030-40914-2_9","type":"book-chapter","created":{"date-parts":[[2020,2,12]],"date-time":"2020-02-12T16:03:52Z","timestamp":1581523432000},"page":"170-190","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["RecordFlux: Formal Message Specification and Generation of Verifiable Binary Parsers"],"prefix":"10.1007","author":[{"given":"Tobias","family":"Reiher","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alexander","family":"Senier","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jeronimo","family":"Castrillon","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Thorsten","family":"Strufe","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2020,2,13]]},"reference":[{"key":"9_CR1","unstructured":"Construct: Declarative data structures for python that allow symmetric parsing and building (2019). \nhttps:\/\/github.com\/construct\/construct"},{"key":"9_CR2","unstructured":"Hammer (2019). \nhttps:\/\/github.com\/UpstandingHackers\/hammer"},{"key":"9_CR3","unstructured":"Kaitai Struct: declarative language to generate binary data parsers (2019). \nhttps:\/\/github.com\/kaitai-io\/kaitai_struct"},{"key":"9_CR4","unstructured":"Protocol Buffers (2019). \nhttps:\/\/developers.google.com\/protocol-buffers\/"},{"key":"9_CR5","unstructured":"RecordFlux (2019). \nhttps:\/\/github.com\/Componolit\/RecordFlux"},{"key":"9_CR6","unstructured":"wrk2: A constant throughput, correct latency recording variant of wrk (2019). \nhttps:\/\/github.com\/treiher\/wrk2"},{"key":"9_CR7","unstructured":"SPARK (2019). \nhttps:\/\/www.adacore.com\/about-spark"},{"key":"9_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"66","DOI":"10.1007\/3-540-45821-2_4","volume-title":"Generative Programming and Component Engineering","author":"G Back","year":"2002","unstructured":"Back, G.: DataScript - a specification and scripting language for binary data. In: Batory, D., Consel, C., Taha, W. (eds.) GPCE 2002. LNCS, vol. 2487, pp. 66\u201377. Springer, Heidelberg (2002). \nhttps:\/\/doi.org\/10.1007\/3-540-45821-2_4"},{"key":"9_CR9","unstructured":"Backhouse, K.: Facebook fizz integer overflow vulnerability (CVE-2019-3560) (2019). \nhttps:\/\/blog.semmle.com\/facebook-fizz-CVE-2019-3560\/"},{"key":"9_CR10","unstructured":"Bangert, J., Zeldovich, N.: Nail: a practical tool for parsing and generating data formats. In: 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14), pp. 615\u2013628. USENIX Association, Broomfield (2014). \nhttps:\/\/www.usenix.org\/conference\/osdi14\/technical-sessions\/presentation\/bangert"},{"key":"9_CR11","unstructured":"Borisov, N., Brumley, D., Wang, H.J., Dunagan, J., Joshi, P., Guo, C.: Generic application-level protocol analyzer and its language. In: NDSS (2007)"},{"key":"9_CR12","unstructured":"Bratus, S., Patterson, M.L., Hirsch, D.: From shotgun parsers to more secure stacks. Shmoocon, Nov (2013)"},{"key":"9_CR13","doi-asserted-by":"crossref","unstructured":"Couprie, G.: Nom, a byte oriented, streaming, zero copy, parser combinators library in rust. In: 2015 IEEE Security and Privacy Workshops, pp. 142\u2013148. IEEE (2015)","DOI":"10.1109\/SPW.2015.31"},{"key":"9_CR14","doi-asserted-by":"publisher","unstructured":"Daly, M., et al.: PADS: an end-to-end system for processing ad hoc data. In: Proceedings of the 2006 ACM SIGMOD International Conference on Management of Data - SIGMOD 2006, p. 727. ACM Press, Chicago (2006). \nhttps:\/\/doi.org\/10.1145\/1142473.1142568\n\n. \nhttp:\/\/portal.acm.org\/citation.cfm?doid=1142473.1142568","DOI":"10.1145\/1142473.1142568"},{"key":"9_CR15","unstructured":"ITU-T: Recommendation X.680 - Abstract Syntax Notation One (ASN.1): Specification of basic notation (2015)"},{"key":"9_CR16","unstructured":"Lions, J.L., et al.: Flight 501 failure. Report by the Inquiry Board (1996)"},{"key":"9_CR17","doi-asserted-by":"publisher","unstructured":"McCann, P.J., Chandra, S.: Packet types: abstract specification of network protocol messages. In: Proceedings of the Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, SIGCOMM 2000, pp. 321\u2013333. ACM, New York (2000). \nhttps:\/\/doi.org\/10.1145\/347059.347563\n\n. \nhttp:\/\/doi.acm.org\/10.1145\/347059.347563","DOI":"10.1145\/347059.347563"},{"key":"9_CR18","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9781139629294","volume-title":"Building High Integrity Applications with SPARK","author":"JW McCormick","year":"2015","unstructured":"McCormick, J.W., Chapin, P.C.: Building High Integrity Applications with SPARK. Cambridge University Press, Cambridge (2015)"},{"key":"9_CR19","unstructured":"MITRE: CVE-2014-0160. \nhttps:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2014-0160"},{"key":"9_CR20","unstructured":"MITRE: CVE-2017-0144. \nhttps:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2017-0144"},{"key":"9_CR21","unstructured":"MITRE: CVE-2017-14315. \nhttps:\/\/cve.mitre.org\/cgi-bin\/cvename.cgi?name=CVE-2017-14315"},{"key":"9_CR22","unstructured":"Nekritz, K., Iyengar, S., Guzman, A.: Deploying TLS 1.3 at scale with Fizz, a performant open source TLS library (2018). \nhttps:\/\/code.fb.com\/security\/fizz\/"},{"key":"9_CR23","doi-asserted-by":"crossref","unstructured":"Nethercote, N., Seward, J.: Valgrind: a framework for heavyweight dynamic binary instrumentation. In: ACM SIGPLAN Notices, vol. 42, pp. 89\u2013100. ACM (2007)","DOI":"10.1145\/1273442.1250746"},{"key":"9_CR24","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45949-9","volume-title":"Isabelle\/HOL: A Proof Assistant for Higher-Order Logic","author":"T Nipkow","year":"2002","unstructured":"Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle\/HOL: A Proof Assistant for Higher-Order Logic, vol. 2283. Springer, Heidelberg (2002). \nhttps:\/\/doi.org\/10.1007\/3-540-45949-9"},{"key":"9_CR25","unstructured":"O\u2019Sullivan, B.: Attoparsec (2019). \nhttps:\/\/github.com\/bos\/attoparsec"},{"key":"9_CR26","doi-asserted-by":"publisher","unstructured":"Pang, R., Paxson, V., Sommer, R., Peterson, L.: Binpac: a Yacc for writing application protocol parsers. In: Proceedings of the 6th ACM SIGCOMM Conference on Internet Measurement, IMC 2006, pp. 289\u2013300. ACM, New York (2006). \nhttps:\/\/doi.org\/10.1145\/1177080.1177119\n\n. \nhttp:\/\/doi.acm.org\/10.1145\/1177080.1177119","DOI":"10.1145\/1177080.1177119"},{"key":"9_CR27","unstructured":"Rodriguez, A., McGrath, R.E.: Daffodil: A New DFDL Parser (2010)"},{"key":"9_CR28","doi-asserted-by":"crossref","unstructured":"Srinivasan, R.: XDR: external data representation standard. Technical report (1995)","DOI":"10.17487\/rfc1832"}],"container-title":["Lecture Notes in Computer Science","Formal Aspects of Component Software"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-030-40914-2_9","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,2,13]],"date-time":"2020-02-13T01:49:19Z","timestamp":1581558559000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-030-40914-2_9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020]]},"ISBN":["9783030409135","9783030409142"],"references-count":28,"URL":"https:\/\/doi.org\/10.1007\/978-3-030-40914-2_9","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2020]]},"assertion":[{"value":"13 February 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"FACS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"International Conference on Formal Aspects of Component Software","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Amsterdam","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":"2019","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"23 October 2019","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"25 October 2019","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"16","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"facs2019","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"http:\/\/facs2019.org\/","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":"27","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":"9","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":"3","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":"33% - 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":"3","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 other accepted papers","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)"}}]}}