2010
DOI: 10.1007/978-3-642-14295-6_38
|View full text |Cite
|
Sign up to set email alerts
|

Comfusy: A Tool for Complete Functional Synthesis

Abstract: Abstract. Synthesis of program fragments from specifications can make programs easier to write and easier to reason about. We present Comfusy, a tool that extends the compiler for the general-purpose programming language Scala with (non-reactive) functional synthesis over unbounded domains. Comfusy accepts expressions with input and output variables specifying relations on integers and sets. Comfusy symbolically computes the precise domain for the given relation and generates the function from inputs to output… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
9
0

Year Published

2013
2013
2019
2019

Publication Types

Select...
4
2
1

Relationship

2
5

Authors

Journals

citations
Cited by 11 publications
(9 citation statements)
references
References 7 publications
0
9
0
Order By: Relevance
“…Having defined maximum cliques in Alloy, we can proceed to formalize Turán's theorem. The Turan command (lines [16][17][18][19][20][21][22][23] asserts that for all possible edge relations that are symmetric and irreflexive (line 17), if the max-clique in that graph has k nodes (k=#mClq), the number of selected edges (e=(#edges).div [2]) must be at most (k−1)n 2…”
Section: Examples 21 Classical Graph Algorithmsmentioning
confidence: 99%
See 1 more Smart Citation
“…Having defined maximum cliques in Alloy, we can proceed to formalize Turán's theorem. The Turan command (lines [16][17][18][19][20][21][22][23] asserts that for all possible edge relations that are symmetric and irreflexive (line 17), if the max-clique in that graph has k nodes (k=#mClq), the number of selected edges (e=(#edges).div [2]) must be at most (k−1)n 2…”
Section: Examples 21 Classical Graph Algorithmsmentioning
confidence: 99%
“…Synthesizers State-of-the-art synthesizers today are mainly purpose-built. Domains of application include program synthesis (e.g., Sketch [36], Storyboard [34], Jennisys [22], Comfusy [19], PINS [37]), automatic grading of programming assignments [35], synthesis of data manipulation regular expressions [13], and so on, all using different ways for the user to specify the property to be satisfied. A recent effort has been made to establish a standardized format for program synthesis problems [3]; this format is syntax-guided, similar to that of Rosette, and thus less general than the format offered by Alloy*.…”
Section: Related Workmentioning
confidence: 99%
“…[19] presents a method for the quantitative, performance-aware synthesis of concurrent programs. Procedures and tools for the automated synthesis of code fragments are also proposed in [43,30,42].…”
Section: Software Synthesis From Formal Specificationsmentioning
confidence: 99%
“…Kaplan [12] and Comfusy [11] support the use of constraints as programming structures. Such structures allow programmers to work productively on explicit specifications rather than explicit code.…”
Section: Related Workmentioning
confidence: 99%