Objective
The goal of this proposal is to make programming easier and more productive. We propose to develop novel program synthesis techniques, generating procedural code from declarative specifications.
Existing techniques apply synthesis at such a fine grain that they can never hope to generate code of the richness and complexity required by application-level programmers. In contrast, we aim to develop synthesis algorithms that leverage the collective programming knowledge captured in millions of open-source projects.
By using existing code fragments as components for synthesis, we enable synthesis to work at a higher-level of abstraction and synthesize realistic programs. Our approach represents a conceptual leap as it reduces the problem of generating code to the problem of checking whether existing code (or a combination of existing code fragments) is an appropriate solution. In some cases, this reduces the problem of synthesis to a problem of semantic code search. In other cases, it reduces the problem of synthesis over fine-grained components to synthesis as composition of coarse-grained components. The key problems are how to specify the desired behavior, how to find useful code fragments in the vast existing body of software, and the how to use synthesis to modify and assemble these fragments to form a program.
Our approach combines insights and techniques from research on program analysis, program synthesis, software engineering, and machine learning. The outcome of the project will be new research directions.
Fields of science (EuroSciVoc)
Programme(s)
Multi-annual funding programmes that define the EU’s priorities for research and innovation.
Multi-annual funding programmes that define the EU’s priorities for research and innovation.
Topic(s)
Calls for proposals are divided into topics. A topic defines a specific subject or area for which applicants can submit proposals. The description of a topic comprises its specific scope and the expected impact of the funded project.
Calls for proposals are divided into topics. A topic defines a specific subject or area for which applicants can submit proposals. The description of a topic comprises its specific scope and the expected impact of the funded project.
Call for proposal
Procedure for inviting applicants to submit project proposals, with the aim of receiving EU funding.
Procedure for inviting applicants to submit project proposals, with the aim of receiving EU funding.
ERC-2013-CoG
See other projects for this call
Funding Scheme
Funding scheme (or “Type of Action”) inside a programme with common features. It specifies: the scope of what is funded; the reimbursement rate; specific evaluation criteria to qualify for funding; and the use of simplified forms of costs like lump sums.
Funding scheme (or “Type of Action”) inside a programme with common features. It specifies: the scope of what is funded; the reimbursement rate; specific evaluation criteria to qualify for funding; and the use of simplified forms of costs like lump sums.
Host institution
32000 Haifa
Israel
The total costs incurred by this organisation to participate in the project, including direct and indirect costs. This amount is a subset of the overall project budget.