Projektbeschreibung
Der automatisierten Softwareentwicklung mithilfe intelligenter Bots den Weg bereiten
Die Herausforderung bei der Automatisierung von Softwareaufgaben wie Erprobung, Fehlerbeseitigung und Überwachung besteht darin, dass es keine computerlesbaren Spezifikationen für Eingaben und Ausgaben gibt. Dieses Problem behindert automatisierte Tests und zuverlässige Softwarereparaturen. Im Rahmen des ERC-finanzierten Projekts S3 wird dieses Problem durch automatisches Lernen von Systemspezifikationen angegangen, wobei fortgeschrittene Forschungsarbeiten zur Inferenz von Systemeingabesprachen genutzt werden. Projektintern werden die Eingaben und Ausgaben eines Softwaresystems abgeleitet und entschlüsselt, indem Experimente zur Entwicklung von „Systeminvarianten“ durchgeführt werden, d. h. von Modellen, die das Softwareverhalten in allen Einzelheiten beschreiben. Diese Invarianten erlauben die automatische Generierung von Testeingaben, die Erkennung von Anomalien in Echtzeit, die Validierung von Testergebnissen und die Erkennung des Softwareverhaltens. Der S3-Ansatz ebnet den Weg für Software-Bots zur autonomen Erkundung, Diagnose und Unterstützung bei der Softwareentwicklung, wodurch die Produktivität und Zuverlässigkeit der Software erheblich erhöht werden.
Ziel
"*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.
"
Wissenschaftliches Gebiet (EuroSciVoc)
CORDIS klassifiziert Projekte mit EuroSciVoc, einer mehrsprachigen Taxonomie der Wissenschaftsbereiche, durch einen halbautomatischen Prozess, der auf Verfahren der Verarbeitung natürlicher Sprache beruht.
CORDIS klassifiziert Projekte mit EuroSciVoc, einer mehrsprachigen Taxonomie der Wissenschaftsbereiche, durch einen halbautomatischen Prozess, der auf Verfahren der Verarbeitung natürlicher Sprache beruht.
- NaturwissenschaftenInformatik und InformationswissenschaftenSoftwareAnwendungssoftwareSystemsoftware
- SozialwissenschaftenWirtschaftswissenschaftenWirtschaftswissenschaftProduktionswirtschaftProduktivität
Sie müssen sich anmelden oder registrieren, um diese Funktion zu nutzen
Schlüsselbegriffe
Programm/Programme
- HORIZON.1.1 - European Research Council (ERC) Main Programme
Thema/Themen
Finanzierungsplan
HORIZON-ERC - HORIZON ERC GrantsGastgebende Einrichtung
66123 Saarbrucken
Deutschland