Detailseite
StdLearnLib: Auf dem Weg zu einer Standardbibliothek für Automatenlernen
Antragsteller
Professor Dr. Falk Howar; Professor Dr. Bernhard Steffen
Fachliche Zuordnung
Softwaretechnik und Programmiersprachen
Theoretische Informatik
Theoretische Informatik
Förderung
Förderung seit 2023
Projektkennung
Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 528775176
Aktives Automatenlernen (AAL) ermöglicht es, Modelle aus Beobachtungen abzuleiten. Dabei werden alternierend Hypothesen aus Experimenten und Beobachtungen inferriert und es wird versucht, Hypothesen zu bestätigen oder zu widerlegen. Seit den 1980er Jahren hat (AAL) eine Reihe von Anwendungen in einer ganzen Reihe von Bereichen inspiriert. Es dauerte jedoch etwa ein Jahrzehnt, bis der Wert dieser Modelle für Softwareverifizierer und –tester erkannt wurde: Black-Box-Systeme können mithilfe inferrierter Modelle vielen modellbasierten Werkzeuge und Techniken zugänglich gemacht werden. Ursprünglich fokussierten Arbeiten über AAL auf benutzerdefinierte, einmalige Implementierungen von Angluins originalen L*-Lernalgorithmus, ohne größeren Aufwand in Optimierun-gen investierten. Anfang der 90er Jahre wurden erste Optimierungen entwickelt, die ab 2004 in Lern-Bibliotheken einflossen. LearnLib, die erste derartige Bibliothek, hat sich über die Jahre zu einem De-facto-Standard für aktives Automatenlernen etabliert. Seit 2013 ist LearnLib als Open-Source-Software frei verfügbar. LearnLib wurde als Werkzeug für die Grundlagenforschung konzipiert, was sich in der Learn-Lib-basierten Entdeckung effizienterer Lernalgorithmen und neuartiger Algorithmen und Werkzeuge zur Ableitung aussagekräftiger Modelle, z.B. zur Behandlung von Daten, widerspiegelt. Ziel des beantragten Projekts ist die langfristige Pflege von LearnLib und die Sicherstellung ihrer Werthaltigkeit für die nächsten zwanzig Jahre, indem (i) sie mehr Forschern zur Verfügung gestellt wird, (ii) Mechanismen für automatisierte Regressionstests auf großen gelabelten Benchmark Sets eingerichtet werden und (iii) ein Community-Prozess etabliert wird, der definiert, wie auch Externe zu LearnLib beitragen können. Das Projekt wird drei Arbeitsrichtungen verfolgen: 1) Erhöhung von Nutzbarkeit und Reichweite von Learnlib durch Unterstützung neuer Typen von Modellen (z.B. zeitgesteuerte Systeme), die Integration neuer Beobachtungs-konzepte (z.B. Zeitverläufe), sowie die Einbindung in Anwendungskontexte. 2) Etablierung einer rigorosen, automatisierten Qualitätssicherung durch kontinuierliches Benchmarking auf Basis einer Vielzahl von Lernproblemen als Teil des CI/CD-Prozesses, unterstützt durch die Etablierung eines Standard-Datenformats. 3) Schaffung von Strukturen für die langfristige Entwicklung und Wartung von LearnLib und Definition einer Rolle von forschungsorientierten SoftwareingenieurInnen für das Projekt, deren Aufgabe insbesondere in der nationalen Vernetzung und der Förderung von Wettbewerben als Plattformen für Tool-Entwickler besteht. Idealerweise werden nach dem Projekt die Aufgaben und Prozesse für die Wartung der Learn-Lib so definiert und dokumentiert sein, dass die Wartung von einem Maintainer an den nächsten nahtlos übergeben werden kann. Ziel ist es, ein gemeinschaftsbasiertes Wartungsmodell zu etablieren, wie es bereits für den Erhalt anderer, langlebiger Tools gelebt wird.
DFG-Verfahren
Sachbeihilfen