Descrizione del progetto
Macchine per aiutare gli sviluppatori di software a scrivere codice
I team di sviluppo e collaudo di software lavorano insieme per scrivere e riesaminare il codice. Questo lungo processo fa leva sull’interazione tra le due parti, che potrebbe essere in ritardo a causa di problemi di disponibilità. Il progetto DEVINTA, finanziato dall’UE, darà a questo processo una spinta ad alta tecnologia grazie all’intelligenza artificiale (IA) per accelerare il processo. Sta sviluppando una macchina in grado di aiutare gli sviluppatori di software aiutandoli a comprendere il codice non familiare, la traduzione del linguaggio naturale e anche a scrivere il codice più velocemente attraverso l’implementazione predittiva delle funzionalità. L’IA assistente contribuirebbe a migliorare la qualità del codice, eseguendo la revisione del codice online mentre lo sviluppatore lo digita, individuando errori e scelte di implementazione non ottimali e fornendo soluzioni tempestive.
Obiettivo
Software development, also due to the complexity of software systems, is tackled by collaborating teams of people. For example, in pair programming two developers share a single workstation: One writes code, while the other reviews it and proposes ideas for improvement. While interacting with teammates is the preferred means to obtain help, their availability may fall short and they might not always have a solution at hand. To address this problem, recommender systems for developers have been proposed in the form of applications providing information items considered valuable for a given task and context (e.g. recommending documentation useful to understand a code component). However, these recommenders can hardly be considered as a valid alternative to teammates since they are not proactive, do not support the developer in a wide variety of tasks, do not adapt their recommendations to the developer’s profile, and fall short in having meaningful interactions with the developer (e.g. they are not able to answer developers’ questions). Given the advances in artificial intelligence, the vision that one day a developer's teammate is a machine does not seem far-fetched anymore. The DEVINTA project aims at making this future a reality, introducing models and techniques serving as the basis for the first artificial assistant supporting developers in their everyday activities. The assistant helps in (i) comprehending unfamiliar code via source code to natural language translation; (ii) writing code faster, providing predictive feature implementation, meaning the ability to infer the feature the developer is implementing and automatically complete it; and (iii) improve code quality, performing online code review while the developer types the code, timely catching bugs and suboptimal implementation choices and providing solutions for them. The assistant uses advanced conversational interfaces to interact with the developer, answer her questions, and disambiguate her needs.
Campo scientifico (EuroSciVoc)
CORDIS classifica i progetti con EuroSciVoc, una tassonomia multilingue dei campi scientifici, attraverso un processo semi-automatico basato su tecniche NLP.
CORDIS classifica i progetti con EuroSciVoc, una tassonomia multilingue dei campi scientifici, attraverso un processo semi-automatico basato su tecniche NLP.
È necessario effettuare l’accesso o registrarsi per utilizzare questa funzione
Programma(i)
Argomento(i)
Meccanismo di finanziamento
ERC-STG - Starting GrantIstituzione ospitante
6900 Lugano
Svizzera