2005
DOI: 10.1007/11506676_17
|View full text |Cite
|
Sign up to set email alerts
|

Graph-Based Proof Counting and Enumeration with Applications for Program Fragment Synthesis

Abstract: Abstract. For use in earlier approaches to automated module interface adaptation, we seek a restricted form of program synthesis. Given some typing assumptions and a desired result type, we wish to automatically build a number of program fragments of this chosen typing, using functions and values available in the given typing environment. We call this problem term enumeration. To solve the problem, we use the CurryHoward correspondence (propositions-as-types, proofs-as-programs) to transform it into a proof en… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
4
1

Citation Types

0
13
0

Year Published

2009
2009
2015
2015

Publication Types

Select...
4
2
1

Relationship

0
7

Authors

Journals

citations
Cited by 16 publications
(13 citation statements)
references
References 11 publications
0
13
0
Order By: Relevance
“…The drawback of this approach is the lack of a mechanism that would automatically enumerate all the proofs. By representing proofs using graphs, the problem of their enumeration was shown to be theoretically solvable [29], but there is a large gap between a theoretical result and an effective tool. Furthermore, InSynth can not only enumerate terms but also rank them and return a desired number of best-ranked ones.…”
Section: Related Workmentioning
confidence: 99%
“…The drawback of this approach is the lack of a mechanism that would automatically enumerate all the proofs. By representing proofs using graphs, the problem of their enumeration was shown to be theoretically solvable [29], but there is a large gap between a theoretical result and an effective tool. Furthermore, InSynth can not only enumerate terms but also rank them and return a desired number of best-ranked ones.…”
Section: Related Workmentioning
confidence: 99%
“…This work is partly inspired by (and improves upon) boundedexhaustive enumeration applied for generation of well-typed terms in the domain of program synthesis [22,30,32,49,50]. A comparison and analysis of insufficiency of previously employed techniques can be found in [32].…”
Section: Related Workmentioning
confidence: 99%
“…This work enriches and completes the combinator framework, generalizes the application of pairing functions for different enumeration strategies, and introduces features that go beyond exhaustive enumeration. Enumerators in SciFe follow the common approach for designing a framework with combinators often adopted not just in testing tools [10], but also in tools for tasks such as term generation [17,49,50], and serialization [34]. Overviews of various techniques for generation of test inputs, particularly those for bounded exhaustive testing, can be found in [19,44,45,48].…”
Section: Related Workmentioning
confidence: 99%
“…Our approach is related to adaptation synthesis via proof counting [8,9], where semantic types are combined with proof search in a specialized proof system. In particular, we follow [8,9] in using semantic specifications at the interface level.…”
Section: Related Workmentioning
confidence: 99%
“…Following [8,9], a level of semantic types is introduced to specify component interfaces and synthesis goals so as to direct synthesis by means of semantic concepts. Semantic types are not necessarily checked against component implementations (this is regarded as an orthogonal issue).…”
Section: Introductionmentioning
confidence: 99%