Skip to main content
Vai all'homepage della Commissione europea (si apre in una nuova finestra)
italiano it
CORDIS - Risultati della ricerca dell’UE
CORDIS

Exploratory Program Synthesis

Descrizione del progetto

Codificare con un copilota

Lo sviluppo del software si apre spesso all’insegna dell’incertezza, poiché gli sviluppatori sperimentano e perfezionano i loro obiettivi attraverso la scrittura del codice. Tuttavia, gli strumenti di sintesi dei programmi che si basano su specifiche precise raramente corrispondono a questa realtà esplorativa. In questo contesto, il progetto EXPLOSYN, finanziato dal CER, intende colmare questa lacuna creando una sintesi esplorativa dei programmi: strumenti che assistono i programmatori anche quando i dettagli di un compito stanno ancora prendendo forma. Abbinando specifiche minime a nuovi modelli di interazione e algoritmi di sintesi, il progetto intende migliorare la produttività mantenendo la correttezza. Nel complesso, EXPLOSYN intende rendere gli strumenti di generazione del codice una parte ordinaria dello sviluppo del software, consentendo ai programmatori di lavorare più velocemente, di decidere con maggiore chiarezza e di fornire un codice più affidabile.

Obiettivo

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.

Campo scientifico (EuroSciVoc)

Parole chiave

Programma(i)

Argomento(i)

Meccanismo di finanziamento

HORIZON-ERC - HORIZON ERC Grants

Vedi tutti i progetti finanziati nell’ambito di questo schema di finanziamento

Invito a presentare proposte

(si apre in una nuova finestra) ERC-2023-STG

Vedi tutti i progetti finanziati nell’ambito del bando

Istituzione ospitante

TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY
Contributo netto dell'UE
€ 1 500 000,00
Costo totale
€ 1 500 000,00

Beneficiari (1)