Perses: Syntax-Guided Program Reduction Chengnian Sun Yuanbo Li Qirun Zhang University of California University of California University of California Davis, CA, USA Davis, CA, USA Davis, CA, USA
[email protected] [email protected] [email protected] Tianxiao Gu Zhendong Su University of California University of California Davis, CA, USA Davis, CA, USA
[email protected] [email protected] ABSTRACT KEYWORDS Given a program P that exhibits a certain property ψ (e.g., a C program reduction, delta debugging, debugging program that crashes GCC when it is being compiled), the goal ACM Reference Format: of program reduction is to minimize P to a smaller variant P 0 that 0 Chengnian Sun, Yuanbo Li, Qirun Zhang, Tianxiao Gu, and Zhendong still exhibits the same property, i.e., ψ ¹P º. Program reduction is Su. 2018. Perses: Syntax-Guided Program Reduction. In ICSE ’18: ICSE ’18: important and widely demanded for testing and debugging. For 40th International Conference on Software Engineering , May 27-June 3, 2018, example, all compiler/interpreter development projects need effec- Gothenburg, Sweden. ACM, New York, NY, USA, 11 pages. https://doi.org/ tive program reduction to minimize failure-inducing test programs 10.1145/3180155.3180236 to ease debugging. However, state-of-the-art program reduction techniques — notably Delta Debugging (DD), Hierarchical Delta 1 INTRODUCTION Debugging (HDD), and C-Reduce — do not perform well in terms of Program reduction is important and widely used. Given a program speed (reduction time) and quality (size of reduced programs), or are P that exhibits a property, the objective of program reduction is to highly customized for certain languages and thus lack generality.