2017
DOI: 10.48550/arxiv.1707.04148
|View full text |Cite
Preprint
|
Sign up to set email alerts
|

On Repair with Probabilistic Attribute Grammars

Abstract: Program synthesis and repair have emerged as an exciting area of research, driven by the potential for revolutionary advances in programmer productivity. Among most promising ideas emerging for synthesis are syntax-driven search, probabilistic models of code, and the use of input-output examples. Our paper shows how to combine these techniques and use them for program repair, which is among the most relevant applications of synthesis to general-purpose code. Our approach combines semantic specifications, in th… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
5

Citation Types

0
5
0

Year Published

2020
2020
2020
2020

Publication Types

Select...
1

Relationship

0
1

Authors

Journals

citations
Cited by 1 publication
(5 citation statements)
references
References 19 publications
0
5
0
Order By: Relevance
“…Despite their simplicity, enumerative program synthesizers are known to be very effective: ESolver and EUSolver [Alur et al 2017b] have been past winners of the SyGuS competition [Alur et al 2016[Alur et al , 2017a. Enumerative synthesizers typically explore the space of programs either top-down, by extending a partial program tree from the node towards the leaves [Alur et al 2017b;Kalyan et al 2018;Koukoutos et al 2017;Lee et al 2018], or bottom-up, by gradually building up a program tree from the leaves towards the root [Albarghouthi et al 2013;Udupa et al 2013]. These two strategies have complementary strengths and weaknesses, similar to backward chaining and forward chaining in proof search.…”
Section: Related Workmentioning
confidence: 99%
See 4 more Smart Citations
“…Despite their simplicity, enumerative program synthesizers are known to be very effective: ESolver and EUSolver [Alur et al 2017b] have been past winners of the SyGuS competition [Alur et al 2016[Alur et al , 2017a. Enumerative synthesizers typically explore the space of programs either top-down, by extending a partial program tree from the node towards the leaves [Alur et al 2017b;Kalyan et al 2018;Koukoutos et al 2017;Lee et al 2018], or bottom-up, by gradually building up a program tree from the leaves towards the root [Albarghouthi et al 2013;Udupa et al 2013]. These two strategies have complementary strengths and weaknesses, similar to backward chaining and forward chaining in proof search.…”
Section: Related Workmentioning
confidence: 99%
“…The general idea is to prioritize the exploration of grammar productions based on scores assigned by a probabilistic model; the specific technique, however, varies depending on (1) the context taken into consideration by the model when assigning scores, and (2) how the scores are taken into account during search. Like Probe, [Balog et al 2016;Koukoutos et al 2017;Menon et al 2013] use a PCFG, which assigns scores to productions independently of their context within the synthesized program; unlike Probe, however, these techniques select the PCFG once, at the beginning of the synthesis process, based on a learned mapping from semantic specifications to scores. On the opposite end of the spectrum, Metal [Si et al 2019] and Concord [Chen et al 2020] use graph-based and sequence-based models, respectively, to condition the scores on the entire partial program that is being extended.…”
Section: Related Workmentioning
confidence: 99%
See 3 more Smart Citations