Write a Blog >>
CC 2020
Sat 22 - Wed 26 February 2020 San Diego, California, United States
Sat 22 Feb 2020 10:52 - 11:15 - Session 1 Novel Language Constructs Chair(s): Pavlos Petoumenos

Stateful packrat parsing is an algorithm for parsing syntaxes that have context-sensitive features. It is a well-known knowledge among researchers that the running time of stateful packrat parsing is linear for real-world grammars, as demonstrated in existing studies. However, we have found the cases in real-world grammars and tools that lead its running time becomes exponential.

This paper proposes a new grammar, parsing expression grammar with variable bindings, and two parsing algorithms for the grammar, stateful packrat parsing with selected global states and stateful packrat parsing with conditional memoization. Our proposal overcomes the exponential behavior that appears in parsers and guarantees polynomial running time. The key idea behind our algorithms is to memoize the information relevant to the use of the global states in order to avoid memoizing the full global states. We implemented our algorithms as a parser generator and evaluated them on real-world grammars. Our evaluation shows that our algorithms significantly outperform an existing stateful packrat parsing algorithm in terms of both running time and space consumption. In particular, stateful packrat parsing with conditional memoization improves the running time and space consumption for malicious inputs that lead to exponential behavior with the existing algorithm by 260x and 217x, respectively, compared to the existing algorithm.

Sat 22 Feb
Times are displayed in time zone: (GMT-07:00) Pacific Time (US & Canada) change

10:30 - 12:00: Main Conference - Session 1 Novel Language Constructs
Chair(s): Pavlos PetoumenosUniversity of Manchester
CC-2020-main-conference10:30 - 10:52
Research paper
Suresh PuriniInternational Institute of Information Technology Hyderabad, Vinamra BenaraUC Berkeley, Ziaul ChowdhuryInternational Institute of Information Technology Hyderabad, Uday BondhugulaIndian Institute of Science
CC-2020-main-conference10:52 - 11:15
Research paper
Nariyoshi ChidaNTT Secure Platform Laboratories, Yuhei KawakoyaNTT Secure Platform Laboratories, Dai IkarashiNTT Secure Platform Laboratories, Kenji TakahashiNTT Security, Koushik SenUniversity of California, Berkeley
CC-2020-main-conference11:15 - 11:37
Research paper
Philip GinsbachUniversity of Edinburgh, Bruce CollieUniversity of Edinburgh, Michael O'BoyleUniversity of Edinburgh
CC-2020-main-conference11:37 - 12:00
Research paper
David CastroImperial College London, Nobuko YoshidaImperial College London