Exploratory Program Synthesis
Developing Exploratory Program Synthesis tools to enhance productivity and reliability in coding by enabling code generation even with incomplete specifications.
Projectdetails
Introduction
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.
Challenges in Specification
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
- 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.
Development of Exploratory Program Synthesis
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.
Understanding User-Centric Challenges
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.
Impact on Programming
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.
Financiële details & Tijdlijn
Financiële details
Subsidiebedrag | € 1.500.000 |
Totale projectbegroting | € 1.500.000 |
Tijdlijn
Startdatum | 1-12-2023 |
Einddatum | 30-11-2028 |
Subsidiejaar | 2023 |
Partners & Locaties
Projectpartners
- TECHNION - ISRAEL INSTITUTE OF TECHNOLOGYpenvoerder
Land(en)
Vergelijkbare projecten binnen European Research Council
Project | Regeling | Bedrag | Jaar | Actie |
---|---|---|---|---|
Theoretical Foundations of Advanced SynthesisThis project aims to develop advanced synthesis methods for complex systems by enhancing quality measures, incorporating game-theoretic aspects, and addressing unpredictable environments. | ERC Advanced... | € 2.328.750 | 2022 | Details |
Reactive Synthesis in ActionThe SYNTACT PoC aims to test and promote reactive synthesis technologies in industrial settings to enhance software correctness and reduce development costs, paving the way for broader adoption. | ERC Proof of... | € 150.000 | 2022 | Details |
Program Intelligence, Declaratively and SymbolicallyThe PINDESYM project aims to advance automatic program understanding by integrating symbolic reasoning and machine learning into a unified declarative analysis framework. | ERC Advanced... | € 2.395.875 | 2024 | Details |
Automated Synthesis of Stochastic Cyber-Physical Systems: A Robust ApproachThis project aims to revolutionize the design of cyber-physical systems by automating robust control software synthesis from high-level requirements, enhancing reliability and reducing costs in safety-critical applications. | ERC Consolid... | € 1.993.756 | 2023 | Details |
Choreographies for Distributed Systems: Reasoning, Expressivity, and DevelopmentThis project aims to enhance choreographic programming by developing new constructs, verification logics, and a toolchain for effective compilation and deployment of distributed applications. | ERC Consolid... | € 1.999.498 | 2024 | Details |
Theoretical Foundations of Advanced Synthesis
This project aims to develop advanced synthesis methods for complex systems by enhancing quality measures, incorporating game-theoretic aspects, and addressing unpredictable environments.
Reactive Synthesis in Action
The SYNTACT PoC aims to test and promote reactive synthesis technologies in industrial settings to enhance software correctness and reduce development costs, paving the way for broader adoption.
Program Intelligence, Declaratively and Symbolically
The PINDESYM project aims to advance automatic program understanding by integrating symbolic reasoning and machine learning into a unified declarative analysis framework.
Automated Synthesis of Stochastic Cyber-Physical Systems: A Robust Approach
This project aims to revolutionize the design of cyber-physical systems by automating robust control software synthesis from high-level requirements, enhancing reliability and reducing costs in safety-critical applications.
Choreographies for Distributed Systems: Reasoning, Expressivity, and Development
This project aims to enhance choreographic programming by developing new constructs, verification logics, and a toolchain for effective compilation and deployment of distributed applications.
Vergelijkbare projecten uit andere regelingen
Project | Regeling | Bedrag | Jaar | Actie |
---|---|---|---|---|
A metapredictive model of synthetic awareness for enabling tool inventionMETATOOL aims to develop a computational model of synthetic awareness in robots to enable self-evaluation and tool invention, advancing adaptive AI technology. | EIC Pathfinder | € 3.298.843 | 2022 | Details |
A metapredictive model of synthetic awareness for enabling tool invention
METATOOL aims to develop a computational model of synthetic awareness in robots to enable self-evaluation and tool invention, advancing adaptive AI technology.