Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of 2019
DOI: 10.1145/3338906.3338951
|View full text |Cite
|
Sign up to set email alerts
|

Maximal multi-layer specification synthesis

Abstract: There has been a significant interest in applying programming-byexample to automate repetitive and tedious tasks. However, due to the incomplete nature of input-output examples, a synthesizer may generate programs that pass the examples but do not match the user intent. In this paper, we propose Mars, a novel synthesis framework that takes as input a multi-layer specification composed by inputoutput examples, textual description, and partial code snippets that capture the user intent. To accurately capture the… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
21
0

Year Published

2020
2020
2023
2023

Publication Types

Select...
3
2
1

Relationship

2
4

Authors

Journals

citations
Cited by 31 publications
(21 citation statements)
references
References 28 publications
0
21
0
Order By: Relevance
“…A model that satisfies the formula represents a valid regex. Due to space constraints we omit the k-tree encoding but further details can be found in the literature [2,17].…”
Section: Regex Enumerationmentioning
confidence: 99%
See 1 more Smart Citation
“…A model that satisfies the formula represents a valid regex. Due to space constraints we omit the k-tree encoding but further details can be found in the literature [2,17].…”
Section: Regex Enumerationmentioning
confidence: 99%
“…Program synthesis has been successfully used in many domains such as string processing [8,19,7,26], query synthesis [11,25,17], data wrangling [2,5], and functional synthesis [3,6]. In this section, we discuss prior work on the synthesis of regular expressions [10,1] that is most closely related to our approach.…”
Section: Related Workmentioning
confidence: 99%
“…Over the past decade, there has been significant interest in automatically synthesizing programs from high-level expressions of user intent [2,6,21,23,25,39,40,46]. Some of these techniques are geared towards computer end-users and therefore utilize informal specifications such as inputoutput examples [23,40,50], natural language [24,42,55,56], or a combination of both [10,12]. On the other hand, program synthesis techniques geared towards programmers often utilize additional information, such as a program sketch [17,36,46,49] or types [33,39] in addition to test cases [20,30] or logical specifications [6,49].…”
Section: Related Workmentioning
confidence: 99%
“…This paper is related to a long line of work on using machine learning for program synthesis. Among these techniques, some of them train a machine learning model (typically a deep neural network) to directly predict a full program from the given specification [12,16,34,35]. Many of these approaches are based on sequence-to-sequence models [47], sequence to tree models [56], or graph neural networks [41] commonly used in machine translation.…”
Section: Learning From Failed Synthesis Attemptsmentioning
confidence: 99%
“…Lin [28] leverages recurrent neural networks (RNNs) for NL to code translation. Chen [5] applies LSTM-based sequence-to-sequence model with other specifications for code synthesis. Applying these approaches to program analysis would require many training examples to cover the vast space of possible code complexities and situations.…”
Section: Related Workmentioning
confidence: 99%