Project description
Coding with a co-pilot
Software development often opens with uncertainty, as developers experiment and refine their goals through writing code. Yet program-synthesis tools that rely on precise specifications seldom match this exploratory reality. In this context, the ERC-funded EXPLOSYN project aims to close that gap by creating exploratory program synthesis: tools that assist programmers even when the details of a task are still taking shape. By pairing minimal specifications with fresh interaction models and synthesis algorithms, the project aims to improve productivity while maintaining correctness. Overall, EXPLOSYN seeks to make code-generation tools a routine part of software development, enabling programmers to work faster, decide more clearly, and deliver more dependable code.
Objective
Our goal is to create Program Synthesis that can be used during Exploratory Programming to boost productivity and reliability when programmers write code. Program synthesis generates code for programmers so they can focus on the problem-solving aspects of their work. This often requires programmers to write a specification for the desired code, but this specification may not exist. Many aspects are initially undecided: implementation details, the division into subtasks, and at times even what the result should be. This leads programmers to use Exploratory Programming: refining their understanding of the code by writing the code. User studies we conducted to evaluate previous synthesis tools highlighted the chasm between what programmers know before writing code and the specifications program synthesis needs.
We will develop Exploratory Program Synthesis: tools that can support the programmer even when their initial specification of the task is lacking. Exploratory Program Synthesis will hinge on finding non-disruptive ways for the programmer to use synthesis while still using specifications so that results retain a notion of correctness. This will require a better understanding of both exploratory programming and existing user-centric challenges in program synthesis, and will produce new synthesis interaction models backed by new synthesis algorithms. The conceptual leap is finding ways for programmers to interact with synthesis that are designed for the needs of both programmer and synthesizer by better understanding both, forming an interface between the two that is mutually beneficial.
Exploratory Program Synthesis will revolutionize programming by letting the wealth of synthesis research be integrated into programmers' day-to-day work, allowing programmers to generate code that is attuned to their work trajectory. The algorithms and interaction models developed in this research will significantly improve programmers' ability to write correct code quickly.
Fields of science (EuroSciVoc)
CORDIS classifies projects with EuroSciVoc, a multilingual taxonomy of fields of science, through a semi-automatic process based on NLP techniques. See: The European Science Vocabulary.
CORDIS classifies projects with EuroSciVoc, a multilingual taxonomy of fields of science, through a semi-automatic process based on NLP techniques. See: The European Science Vocabulary.
You need to log in or register to use this function
Keywords
Project’s keywords as indicated by the project coordinator. Not to be confused with the EuroSciVoc taxonomy (Fields of science)
Project’s keywords as indicated by the project coordinator. Not to be confused with the EuroSciVoc taxonomy (Fields of science)
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.
-
HORIZON.1.1 - European Research Council (ERC)
MAIN PROGRAMME
See all projects funded under this programme
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.
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.
HORIZON-ERC - HORIZON ERC Grants
See all projects funded under this funding scheme
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.
(opens in new window) ERC-2023-STG
See all projects funded under this callHost institution
Net EU financial contribution. The sum of money that the participant receives, deducted by the EU contribution to its linked third party. It considers the distribution of the EU financial contribution between direct beneficiaries of the project and other types of participants, like third-party participants.
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.