Semantics of Software Systems
The project aims to automate software testing, debugging, and monitoring by developing bots that learn system behavior and generate oracles, enhancing developer productivity and software reliability.
Projectdetails
Introduction
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.
Unified Approach
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.
System Invariants
These models, named system invariants, allow for fully automating critical software development activities:
1. Testing
System invariants encode languages for automatically generating test inputs and provide oracles for checking test results:
- "In the TLS server, the <payload> in the <heartbeat-response> must be the same as in the <heartbeat-request>."
2. Debugging
System invariants allow narrowing down causes of software behavior:
- "The X.509 public key certificate is not recognized if <subject-name> contains a zero byte."
Generated tests and oracles ensure reliable automated repair.
3. Monitoring
System invariants enable detecting abnormal behavior at runtime:
- "In 'log4j', logging a <user-agent> containing '""${jndi:<url>}""' opens <url>."
Problematic queries can be isolated and investigated until the problem is fixed.
Future Vision
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.
Financiële details & Tijdlijn
Financiële details
Subsidiebedrag | € 2.500.000 |
Totale projectbegroting | € 2.500.000 |
Tijdlijn
Startdatum | 1-9-2023 |
Einddatum | 31-8-2028 |
Subsidiejaar | 2023 |
Partners & Locaties
Projectpartners
- CISPA - HELMHOLTZ-ZENTRUM FUR INFORMATIONSSICHERHEIT GGMBHpenvoerder
Land(en)
Vergelijkbare projecten binnen European Research Council
Project | Regeling | Bedrag | Jaar | Actie |
---|---|---|---|---|
Testing Program Analyzers Ad AbsurdumMirandaTesting aims to develop a systematic methodology for testing program analyzers to detect critical bugs, enhancing software reliability in safety-critical applications. | ERC Starting... | € 1.499.991 | 2023 | Details |
ELVER-CHECK: Well-grounded Lightweight Assurance for Critical Systems SoftwareELVER-CHECK aims to enhance the security assurance of critical systems software by developing lightweight executable checkers based on mathematical models of hardware features, targeting hypervisors like pKVM. | ERC Proof of... | € 150.000 | 2024 | Details |
Intelligence-Oriented Verification&Controller SynthesisInOVation&CS aims to enhance the scalability and reliability of controller synthesis through AI/ML-driven verification methods, focusing on explainability and structured problem-solving. | ERC Consolid... | € 1.995.000 | 2025 | Details |
LEARN: Learning Efficient Automated Reasoning on the NetLEARN automates reasoning and proof strategies for software certification, providing a web-based framework to enhance safety and security in complex computer systems, reducing costs from software errors. | ERC Proof of... | € 150.000 | 2025 | Details |
Self-Optimizing Static Program AnalysisSOSA aims to revolutionize static program analysis by creating self-adaptive analyses that optimize performance and precision, enhancing software security and developer efficiency. | ERC Advanced... | € 2.500.000 | 2024 | Details |
Testing Program Analyzers Ad Absurdum
MirandaTesting aims to develop a systematic methodology for testing program analyzers to detect critical bugs, enhancing software reliability in safety-critical applications.
ELVER-CHECK: Well-grounded Lightweight Assurance for Critical Systems Software
ELVER-CHECK aims to enhance the security assurance of critical systems software by developing lightweight executable checkers based on mathematical models of hardware features, targeting hypervisors like pKVM.
Intelligence-Oriented Verification&Controller Synthesis
InOVation&CS aims to enhance the scalability and reliability of controller synthesis through AI/ML-driven verification methods, focusing on explainability and structured problem-solving.
LEARN: Learning Efficient Automated Reasoning on the Net
LEARN automates reasoning and proof strategies for software certification, providing a web-based framework to enhance safety and security in complex computer systems, reducing costs from software errors.
Self-Optimizing Static Program Analysis
SOSA aims to revolutionize static program analysis by creating self-adaptive analyses that optimize performance and precision, enhancing software security and developer efficiency.
Vergelijkbare projecten uit andere regelingen
Project | Regeling | Bedrag | Jaar | Actie |
---|---|---|---|---|
De ontwikkeling van een unieke C++ software integration botOntwikkeling van een software-integratiebot voor autonoom genereren en testen van de snelste C++ programma's en validatie van de bijbehorende library code in stream processing systemen. | Mkb-innovati... | € 187.500 | 2018 | Details |
Integrated Safety for Deeply Embedded Systems Software (ISAFE)Het ISAFE-project ontwikkelt een geïntegreerde aanpak voor de kwalificatie van softwaretools in veiligheid kritische systemen, gericht op het voldoen aan veiligheidsstandaarden en het verbeteren van softwareontwikkeling. | Mkb-innovati... | € 160.200 | 2016 | Details |
Duurzamer, veiliger en sneller bouwen met AISemmtech en StarTXT ontwikkelen een AI-platform dat bouwnormen en eisen digitaliseert en doorzoekbaar maakt, om efficiëntie te verhogen en conflicten in het bouwproces te voorkomen. | Mkb-innovati... | € 199.710 | 2022 | Details |
Academic Language Checker (ALC)Het project onderzoekt de haalbaarheid van een slimme Academic Language Checker om academische schrijfproblemen van studenten met taalbeheersingsproblemen te identificeren en te verhelpen. | Mkb-innovati... | € 20.000 | 2021 | Details |
KI aangedreven no code testing automationYurik BV ontwikkelt een no-code testing automation platform dat softwarebedrijven helpt om met AI de testprocessen te automatiseren en tot 20% tijd te besparen. | Mkb-innovati... | € 20.000 | 2020 | Details |
De ontwikkeling van een unieke C++ software integration bot
Ontwikkeling van een software-integratiebot voor autonoom genereren en testen van de snelste C++ programma's en validatie van de bijbehorende library code in stream processing systemen.
Integrated Safety for Deeply Embedded Systems Software (ISAFE)
Het ISAFE-project ontwikkelt een geïntegreerde aanpak voor de kwalificatie van softwaretools in veiligheid kritische systemen, gericht op het voldoen aan veiligheidsstandaarden en het verbeteren van softwareontwikkeling.
Duurzamer, veiliger en sneller bouwen met AI
Semmtech en StarTXT ontwikkelen een AI-platform dat bouwnormen en eisen digitaliseert en doorzoekbaar maakt, om efficiëntie te verhogen en conflicten in het bouwproces te voorkomen.
Academic Language Checker (ALC)
Het project onderzoekt de haalbaarheid van een slimme Academic Language Checker om academische schrijfproblemen van studenten met taalbeheersingsproblemen te identificeren en te verhelpen.
KI aangedreven no code testing automation
Yurik BV ontwikkelt een no-code testing automation platform dat softwarebedrijven helpt om met AI de testprocessen te automatiseren en tot 20% tijd te besparen.