Project description
Pioneering automated software development with intelligent bots
The challenge in automating software tasks like testing, debugging, and monitoring stems from a lack of computer-readable specifications for inputs and outputs. This problem hinders automated testing and reliable software repairs. The ERC-funded S3 project will tackle this by automatically learning system specifications using advanced research in system input language inference. The project will infer and decode a software system's inputs and outputs by conducting experiments to develop 'system invariants', models that specify software behaviour in full detail. These invariants will enable automatic generation of test inputs, real-time anomaly detection, test results validation, and software behaviour identification. The S3 approach paves the way for software bots to autonomously explore, diagnose, and assist in software development, significantly boosting productivity and enhancing software reliability.
Objective
"*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.
"
Fields of science (EuroSciVoc)
CORDIS classifies projects with EuroSciVoc, a multilingual taxonomy of fields of science, through a semi-automatic process based on NLP techniques.
CORDIS classifies projects with EuroSciVoc, a multilingual taxonomy of fields of science, through a semi-automatic process based on NLP techniques.
- natural sciencescomputer and information sciencessoftwaresoftware applicationssystem software
- natural sciencescomputer and information sciencescomputer securitycryptography
- natural sciencescomputer and information sciencessoftwaresoftware development
- social scienceseconomics and businesseconomicsproduction economicsproductivity
You need to log in or register to use this function
Keywords
Programme(s)
- HORIZON.1.1 - European Research Council (ERC) Main Programme
Topic(s)
Funding Scheme
HORIZON-ERC - HORIZON ERC GrantsHost institution
66123 Saarbrucken
Germany