Descrizione del progetto
Aprire la strada allo sviluppo automatizzato di software con bot intelligenti
La sfida dell’automazione di attività riguardanti il software come il test, il debug e il monitoraggio deriva dalla mancanza di specifiche leggibili dal computer per gli input e gli output. Questo problema ostacola i test automatizzati e le riparazioni affidabili del software. Il progetto S3, finanziato dal CER, affronterà questo problema apprendendo automaticamente le specifiche del sistema grazie a ricerche avanzate sull’inferenza del linguaggio di input del sistema. Il progetto si propone di inferire e decodificare gli input e gli output di un sistema software conducendo esperimenti per sviluppare «invarianti di sistema», modelli che specificano il comportamento del software in modo dettagliato. Questi invarianti consentiranno la generazione automatica di input di test, il rilevamento delle anomalie in tempo reale, la convalida dei risultati dei test e l’identificazione del comportamento del software. L’approccio S3 apre la strada ai bot software per l’esplorazione, la diagnosi e l’assistenza autonoma nello sviluppo del software, aumentando significativamente la produttività e migliorando l’affidabilità del software.
Obiettivo
"*What if we had software bots that tirelessly test, debug, and monitor our software systems?*
IT workers are expensive and scarce. So why can't we further automate boring, repetitive activities such as testing and debugging? The problem is that we lack computer-readable _specifications_ (so-called _oracles_) for what the system should do or not do. For decades, this _oracle problem_ has been a roadblock to automated test generation, trusted software repairs, and accurate monitoring of software.
Building on groundbreaking research to infer input languages of systems, S3 introduces a unified approach to _learning oracles automatically_. It takes a given software system; _infers_ and _decodes_ its inputs and outputs; and runs _experiments_ to extract _models_ of how the system behaves, capturing its semantics by predicting output features for given input features.
These models, named _system invariants_, allow to _fully automate_ critical software development activities:
TESTING. System invariants encode _languages_ for automatically generating test inputs and provide _oracles_ for checking test results: ""In the TLS server, the
DEBUGGING. System invariants allow narrowing down causes of software behavior (""The X.509 public key certificate is not recognized if
MONITORING. System invariants enable detecting abnormal behavior at runtime (""In 'log4j', logging a
In the future, testing, debugging, and monitoring would thus be taken over by _software bots_ who would autonomously explore software behavior, report issues, and suggest actions to their human co-workers, boosting developer productivity and software reliability.
"
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.
- scienze naturaliinformatica e scienze dell'informazionesoftwaresoftware applicativisoftware di sistema
- scienze socialieconomia e commercioscienze economicheeconomia della produzioneproduttività
È necessario effettuare l’accesso o registrarsi per utilizzare questa funzione
Parole chiave
Programma(i)
- HORIZON.1.1 - European Research Council (ERC) Main Programme
Argomento(i)
Meccanismo di finanziamento
HORIZON-ERC - HORIZON ERC GrantsIstituzione ospitante
66123 Saarbrucken
Germania