Skip to main content
Aller à la page d’accueil de la Commission européenne (s’ouvre dans une nouvelle fenêtre)
français fr
CORDIS - Résultats de la recherche de l’UE
CORDIS

Exploratory Program Synthesis

Description du projet

Coder avec un copilote

Le développement de logiciels commence souvent dans l’incertitude, car les développeurs expérimentent et affinent leurs objectifs en écrivant du code. Pourtant, les outils de synthèse de programmes qui s’appuient sur des spécifications précises correspondent rarement à cette réalité exploratoire. Dans ce contexte, le projet EXPLOSYN, financé par le CER, entend combler cette lacune en créant des synthèses de programmes exploratoires: des outils qui assistent les programmeurs même lorsque les détails d’une tâche sont encore en train de prendre forme. En associant des spécifications minimales à de nouveaux modèles d’interaction et à des algorithmes de synthèse, il vise à améliorer la productivité tout en maintenant la justesse. Dans l’ensemble, EXPLOSYN cherche à faire des outils de génération de code une partie intégrante du développement de logiciels, permettant aux programmeurs de travailler plus rapidement, de décider plus clairement et de fournir un code plus fiable.

Objectif

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.

Champ scientifique (EuroSciVoc)

Mots‑clés

Programme(s)

Thème(s)

Régime de financement

HORIZON-ERC - HORIZON ERC Grants

Voir tous les projets financés dans le cadre de ce programme de financement

Appel à propositions

(s’ouvre dans une nouvelle fenêtre) ERC-2023-STG

Voir tous les projets financés au titre de cet appel

Institution d’accueil

TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY
Contribution nette de l'UE
€ 1 500 000,00
Coût total
€ 1 500 000,00

Bénéficiaires (1)