Perses: Syntax-Guided Program Reduction
نویسندگان
چکیده
Given a program P that exhibits a certain property ψ (e.g., a C program that crashes GCC when it is being compiled), the goal of program reduction is to minimize P to a smaller variant P ′ that still exhibits the same property, i.e., ψ (P ′). Program reduction is important and widely demanded for testing and debugging. For example, all compiler/interpreter development projects need effective program reduction to minimize failure-inducing test programs to ease debugging. However, state-of-the-art program reduction techniques — notably Delta Debugging (DD), Hierarchical Delta Debugging (HDD), and C-Reduce — do not perform well in terms of speed (reduction time) and quality (size of reduced programs), or are highly customized for certain languages and thus lack generality. This paper presents Perses, a novel framework for effective, efficient, and general program reduction. The key insight is to exploit, in a general manner, the formal syntax of the programs under reduction and ensure that each reduction step considers only smaller, syntactically valid variants to avoid futile efforts on syntactically invalid variants. Our framework supports not only deletion (as for DD and HDD), but also general, effective program transformations. We have designed and implemented Perses, and evaluated it for two language settings: C and Java. Our evaluation results on 20 C programs triggering bugs in GCC and Clang demonstrate Perses’s strong practicality compared to the state-of-the-art: (1) smaller size — Perses’s results are respectively 2% and 45% in size of those from DD and HDD; and (2) shorter reduction time — Perses takes 23% and 47% time taken by DD and HDD respectively. Even when compared to the highly customized and optimized C-Reduce for C/C++, Perses takes only 38-60% reduction time.
منابع مشابه
Language to Specify Syntax-Guided Synthesis Problems
We present a language to specify syntax guided synthesis (SyGuS) problems. Syntax guidance is a prominent theme in contemporary program synthesis approaches, and SyGuS was first described in [1]. This paper describes concretely the input format of a SyGuS solver.
متن کاملCMSC631 Program Analysis and Understanding: Class notes
2 Syntax, Semantics, & Machines for Arithmetic 4 2.1 Modelling Syntax with Inductive Sets . . . . . . . . . . . . . . . . . . . . . 4 2.2 Modelling Syntax with Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Natural Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.4 Reduction Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 ...
متن کاملA comparison of relaxation training and syntax stimulation for chronic nonfluent aphasia.
UNLABELLED This study examined the effects of relaxation training and syntax stimulation on the spoken language abilities of a 59-year-old male with chronic, nonfluent aphasia of moderate severity. Relaxation training consisted of progressive muscle relaxation (PMR) and guided imagery (GI), whereas the syntax stimulation was a modified version of the Helm Elicited Program for Syntax Stimulation...
متن کاملReconciling Enumerative and Symbolic Search in Syntax-Guided Synthesis
Syntax-guided synthesis aims to find a program satisfying semantic specification as well as user-provided structural hypothesis. For syntax-guided synthesis there are two main search strategies: concrete search, which systematically or stochastically enumerates all possible solutions, and symbolic search, which interacts with a constraint solver to solve the synthesis problem. In this paper, we...
متن کاملRevision of the genus Reichardtiolus Kryzhanovskij, 1959 (Coleoptera, Histeridae, Saprininae)
The genus Reichardtiolus Kryzhanovskij, 1959 is revised herein. It now contains five species: R. duriculus (Reitter, 1904) from middle Asia (with a doubtful female specimen from western China that is here tentatively assigned to this species), R. pavlovskii Kryzhanovskij, 1959 from Turkmenistan, R. sphingis (Peyerimhoff, 1936), comb. n. (transferred from Saprinus Erichson, 1834) from Egypt and ...
متن کامل