Detailseite
Integration von Skripten in verlässliche Programme
Antragsteller
Professor Dr. Peter Thiemann
Fachliche Zuordnung
Softwaretechnik und Programmiersprachen
Förderung
Förderung von 2013 bis 2021
Projektkennung
Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 226160369
Die Programmiersprache JavaScript ist überall: mehr als 94 Prozentaller Webseiten verwenden JavaScript; JavaScript ist die populärsteSprache auf Community Webseiten wie GitHub und Stackoverflow. Hinzukommt, dass JavaScript nicht mehr auf das Web beschränkt ist,sondern zunehmend auch für server-side Anwendungen und IoTAnwendungen benutzt wird. Trotz der Popularität haben Entwickler massive Probleme mit der Wartung von großen JavaScript Programmen, denn die Sprache ist nicht auf das Programmieren im Großen ausgelegt.TypeScript ist eine Erweiterung von JavaScript, die von Microsoftentwickelt wurde. TypeScript bietet Typen sowie getypte Interfacesfür Komponenten zur besseren Unterstützung von großenProjekten. Studien zeigen, dass die zusätzliche Dokumentation sowiedie Tooling Möglichkeiten, die sich durch Typen eröffnen, dieProduktivität der Entwickler um bis zu 15 Prozent steigernkönnen. Der große Stolperstein dabei ist die Migration vonvorhandenem JavaScript Code nach TypeScript. Hier müssen dieEntwickler von Hand getypte Interfaces für existierende JavaScriptKomponenten entwickeln, ohne dass hierfür eine guteWerkzeugunterstützung vorhanden ist.Unser Projekt wird diese Situation verbessern. Wir werden neueTechniken erforschen, entwickeln und implementieren, mit denenvollautomatisch präzise TypeScript Interfaces für existierendeJavaScript Codebasen erzeugt werden können. Im Vergleich zu früherenArbeiten auf verwandten Gebieten setzen wir auf eine neuartige Kombination von einfacher statischer und dynamischer Analyse zusammen mit Techniken aus der symbolischen Ausführung und der automatischenTesterzeugung. Das Ziel dieser Kombination ist es, authentische undpräzise Typinformationen direkt aus der Programmausführung zuextrahieren, ohne dass fehlerträchtige, separat implementierte, komplexe Analysesysteme zur Anwendung kommen müssen.
DFG-Verfahren
Sachbeihilfen