Tue 5 Dec 2023 15:15 - 15:22 at Golden Gate C3 - Program Analysis I Chair(s): Michael Pradel

Program reduction is a widely adopted, indispensable technique for debugging language implementations such as compilers and interpreters. Given a program ๐‘ƒ and a bug triggered by ๐‘ƒ , a program reducer can produce a minimized program $๐‘ƒ ^โˆ—$ that is derived from ๐‘ƒ and still triggers the same bug. Perses is one of the state-of-the-art program reducers. It leverages the syntax of ๐‘ƒ to guide the reduction process for efficiency and effectiveness. It is language-agnostic as its reduction algorithm is independent of any language-specific syntax. Conceptually to support a new language, Perses only needs the context-free grammar ๐บ of the language; in practice, it is not easy. One needs to first manually transform ๐บ into a special grammar form PNF with a tool provided by Perses, second manually change the code base of Perses to integrate the new language, and lastly build a binary of Perses.

This paper presents our latest work to improve the usability of Perses by extending Perses to perform ad hoc program reduction for any new language as long as the language has a context-free grammar ๐บ. With this extended version (referred to as $Perses^{ad}_{hoc}$), the difficulty of supporting new languages is significantly reduced: a user only needs to write a configuration file and execute one com- mand to support a new language in Perses, compared to manually transforming the grammar format, modifying the code base, and re-building Perses.

Our case study demonstrates that with $Perses^{ad}{hoc}$, the Perses-related infrastructure code required for supporting GLSL can be reduced from 190 lines of code to 20. Our extensive evaluations also show that $Perses^{ad}{hoc}$ is as effective and efficient as Perses in reducing programs, and only takes 20 seconds to support a new language, which is negligible compared to the manual effort required in Perses.

Tue 5 Dec

Displayed time zone: Pacific Time (US & Canada) change

14:00 - 15:30
Program Analysis IResearch Papers / Demonstrations / Industry Papers at Golden Gate C3
Chair(s): Michael Pradel University of Stuttgart
14:00
15m
Talk
An Automated Approach to Extracting Local Variables
Research Papers
Xiaye Chi Beijing Institute of Technology, Hui Liu Beijing Institute of Technology, Guangjie Li National Innovation Institute of Defense Technology, Weixiao Wang Beijing Institute of Technology, Yunni Xia Chongqing University, Yanjie Jiang Peking University, Yuxia Zhang Beijing Institute of Technology, Weixing Ji Beijing Institute of Technology
Media Attached
14:15
15m
Talk
Incrementalizing Production CodeQL Analyses
Industry Papers
DOI Media Attached
14:30
15m
Talk
Statistical Reachability Analysis
Research Papers
Seongmin Lee Max Planck Institute for Security and Privacy (MPI-SP), Marcel Bรถhme Max Planck Institute for Security and Privacy
Media Attached
14:45
15m
Talk
PPR: Pairwise Program Reduction
Research Papers
Mengxiao Zhang University of Waterloo, Zhenyang Xu University of Waterloo, Yongqiang Tian The Hong Kong University of Science and Technology; University of Waterloo, Yu Jiang Tsinghua University, Chengnian Sun University of Waterloo
Media Attached
15:00
15m
Talk
When Function Inlining Meets WebAssembly: Counterintuitive Impacts on Runtime Performance
Research Papers
Alan Romano University of Southern California, Weihang Wang University of Southern California
Pre-print Media Attached
15:15
7m
Talk
Ad Hoc Syntax-Guided Program Reduction
Demonstrations
Jia Le Tian University of Waterloo, Mengxiao Zhang University of Waterloo, Zhenyang Xu University of Waterloo, Yongqiang Tian The Hong Kong University of Science and Technology; University of Waterloo, Yiwen Dong , Chengnian Sun University of Waterloo
Media Attached