- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Program Synthesis
From Verification to Synthesis
Sumit Gulwani
sumitg@
Microsoft Research, Redmond
August 2013
Marktoberdorf Summer School Lectures: Part 1
1
Synthesis
Goal: Synthesize a computational concept in some underlying language from user intent using some search technique.
State of the art: We can synthesize programs of size 10-20.
Language
Programs
Straight-line programs
Automata
Queries
User Intent
Logic, Natural Language
Examples, Demonstrations/Traces
Program
Search Technique
SAT/SMT solvers (Formal Methods)
A*-style goal-directed search (AI)
Version space algebras (Machine Learning)
2
Dimensions in Synthesis
PPDP 2010: “Dimensions in Program Synthesis”, Gulwani.
(Application)
(Ambiguity)
(Algorithm)
3
Compilers vs. Synthesizers
Dimension
Compilers
Synthesizers
Concept Language
Executable Program
Variety of concepts: Program, Automata, Query, Sequence
User Intent
Structured language
Variety/mixed form of constraints: logic, examples, traces
Search Technique
Syntax-directed translation (No new algorithmic insights)
Uses some kind of search (Discovers new algorithmic insights)
From verification to synthesis
Bitvector algorithms (PLDI 2011, ICSE 2012)
General loopy programs (POPL 2010)
SIMD algorithms (PPoPP 2013)
Program inverses (PLDI 2011)
Graph algorithms (OOPSLA 2010)
End-user Programming (Examples Natural Language)
Syntactic string transformations: Flash Fill (POPL 2011)
Semantic string transformations (VLDB 2012)
Table layout transformations (PLDI 2011)
Smartphone scripts (MobiSys 2013)
Computer-aided Education
Problem Synthesis (AAAI 2012, CHI 2013)
Solution Synthesis (PLDI 2011, IJCAI 2013)
Feedback Synthesis (PLDI 2013, IJCAI 2013)
Content Authoring (CHI 2012)
4
Application
Generating Synthesis Constraint
Solving Synthesis Constraint
Bitvector
Location variables
CEGIS + SMT
Loopy Alg.
Template-based
SMT
SIMD
Relational verification
CEGIS +
Reachability value graph
Inverses
Template-based + symbolic execution
SMT
Graph Alg.
From Verification to Synthesis
5
R
原创力文档


文档评论(0)