Projektbeschreibung
Automatisierte Software, die Softwaresysteme wie ein Mensch testet
Selbst die einfachsten Computerprogramme können bei unerwarteten Eingaben Laufzeitfehler aufweisen. Das Testen von Software vor der Freigabe beruht weitgehend darauf, dass Menschen eine schier endlose Liste von Aktionen ausprobieren, die zu einem Systemfehler führen könnten. Die Automatisierung auch nur eines Teils dieses Prozesses würde die Effizienz und Effektivität der Verifizierungsaktivitäten erheblich verbessern und die Entwicklungskosten senken. Das vom Europäischen Forschungsrat finanzierte Projekt AST wird ein vorkommerzielles Werkzeug zur effizienten und automatischen Erzeugung semantisch relevanter Systemtestfälle entwickeln. Es wird Verfahren des verstärkten Lernens nutzen, um inkrementell und automatisch die nützlichsten Testaktionen zu lernen, die auf einer grafischen Benutzeroberfläche durchgeführt werden können.
Ziel
Verifying the correctness of software systems requires extensive and expensive testing sessions. While there are tools and methodologies to efficiently address unit and integration testing, system testing is still largely the result of manual effort.
Testing software applications at the system level requires executing the applications through their interfaces to verify the correctness of their functionalities and stimulate all their layers and components. Automating just part of this process can dramatically improve the effectiveness of verification activities and significantly reduce development costs, relevantly alleviating developers from their verification effort.
This project addresses the development of a pre-commercial tool that has the unique capability of efficiently and automatically generating semantically-relevant system test cases equipped with functional oracles. This capability derives from the AUGUSTO technique, which is an outcome of the Learn ERC project. The idea behind Augusto is to exploit the common-sense knowledge, that is, the background knowledge that every computer user has and that normally lets her/him use software applications without the need of accessing any documentation or manual. Once this knowledge is represented abstractly and then embedded in AUGUSTO, the technique can automatically adapt its definition to the software under test every time a program is tested.
This development work will be performed jointly with A company that produces and markets testing tools.
Wissenschaftliches Gebiet
- natural sciencescomputer and information sciencessoftwaresoftware applicationssystem software
- natural sciencescomputer and information sciencesknowledge engineering
- natural sciencescomputer and information sciencessoftwaresoftware development
- natural sciencescomputer and information sciencesartificial intelligencecomputational intelligence
Programm/Programme
Thema/Themen
Finanzierungsplan
ERC-POC - Proof of Concept GrantGastgebende Einrichtung
20126 MILANO
Italien