Skip to main content
European Commission logo
English English
CORDIS - EU research results
CORDIS
CORDIS Web 30th anniversary CORDIS Web 30th anniversary

Semantics of Software Systems

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 in the must be the same as in the .""

DEBUGGING. System invariants allow narrowing down causes of software behavior (""The X.509 public key certificate is not recognized if contains a zero byte""). Generated tests and oracles ensure reliable automated repair.

MONITORING. System invariants enable detecting abnormal behavior at runtime (""In 'log4j', logging a containing '""${jndi:}""' opens ""). Problematic queries can be isolated and investigated until the problem is fixed.

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.

You need to log in or register to use this function

Host institution

CISPA - HELMHOLTZ-ZENTRUM FUR INFORMATIONSSICHERHEIT GGMBH
Net EU contribution
€ 2 500 000,00
Address
STUHLSATZENHAUS 5
66123 Saarbrucken
Germany

See on map

Region
Saarland Saarland Regionalverband Saarbrücken
Activity type
Research Organisations
Links
Total cost
€ 2 500 000,00

Beneficiaries (1)