06.12.09 - 11.12.09, Seminar 09501
Software Synthesis
Organizers
Rastislav Bodik (Univ. California - Berkeley, US)
Orna Kupferman (The Hebrew University of Jerusalem, IL)
Douglas R. Smith (Kestrel Institute, US)
Eran Yahav (IBM TJ Watson Research Center - Hawthorne, US)
For support, please contact
Annette Beyer for administrative aspects
Roswitha Bardohl for scientific aspects
Documents
Participants and shared Documents
We are very sad to learn that Prof. Amir Pnueli passed suddenly away on Nov. 2nd, 2009
Obituary of The New York University
www.cs.nyu.edu/csweb/People/amirpnueli.html
Motivation
Software verification and synthesis are founded on similar principles, yet verification has become industrial reality while successes of synthesis remain confined to a handful of domains. Still, recent years witnessed increased interest in software synthesis---a trend spurred by growing software complexity and simultaneously enabled by advances in verification, decision procedures, and machine learning. The goal of the seminar is to help the revival of software synthesis through intellectual exchange among experts in deductive synthesis, controller synthesis and the diverse spectrum of new synthesis efforts in inductive synthesis, auto-tuning, programming by demonstration and partial programming.
This is an opportune moment for software synthesis. First, multi-core processors are likely to make software development harder, motivating automatic construction of synchronization and communication code. Second, software verification and checking reached industrial maturity through judicious use of linguistic support, decision procedures, and dynamic analyses, inspiring solutions to open synthesis problems. Third, by incorporating verification into synthesis, we may be able to synthesize programs that are easier to verify than handwritten programs. Fourth, parallel computers enable search powerful enough for synthesis of well-tuned programs, as demonstrated by autotuners and superoptimizers. Finally, recent systems built on programming by demonstration make us hope that specification will be easier to write.
The seminar organizers hope to achieve the following goals: (1) Offer brief tutorials on techniques developed by communities participating in the seminar. (2) Develop a set of challenge problems for practical synthesis, a collection of practical problems solvable by (semi-)automatic synthesis in five years. (3) Deepen the understanding of the relationships between the various approaches to synthesis. In particular, to what extent are the techniques developed by the respective communities independent from their driving applications? Understand strengths of the alternative approaches. (4) Understand relationships and applicability of verification technology to software synthesis. (5) Outline a syllabus for a graduate course in software synthesis.
Classification
- Programming languages / compilers
- Verification / logic
- Software synthesis
Keywords
- Software Synthesis
- Verification
- Theorem Proving
- Program Analysis
- Programming by Demonstration









