Die aktuelle Projekttätigkeit ist in drei Gebiete eingeteilt:
Werkzeugentwicklung ist eines der Schwerpunktforschungsthemen am Lehrgebiet Programmiersysteme.
Cross-Language Refactoring: Grundlagen constraintbasierter, sprachübergreifender Refaktorisierung, zugleich Grundlage aller nachfolgend genannten Refaktorisierungsprojekte | |
ein Refaktorisierungswerkzeug zur automatischen Extraktion aus und Verwendung von Interfaces oder abstrakten Klassen in einem Programm | |
ein Builder zur Markierung unnötig spezifischer Typen in Deklarationen von Variablen und Methoden | |
ein Werkzeug, das es erlaubt, die Sichtbarkeit von Programmelementen ihrer tatsächlichen Benutzung entsprechend einzuschränken | |
ein Refaktorisierungswerkzeug zur Reduktion des durch Vererbung aufgeblähten Protokolls einer Klasse und zur Entfernung unerwünschten Subtypings | |
|
ein Werkzeug zur Analyse des konsistenten Gebrauchs von Variablennamen in Zuweisungsketten unter Berücksichtigung der Typen der Variablen |
ein Werkzeug zur Darstellung von Paketabhängigkeiten und deren Invertierung durch Einführung und Verwendung maßgeschneiderter Interfaces | |
ein Refaktorisierungswerkzeug zur Verwendung des Role Object Patterns anstelle von Subklassen | |
eine Erweiterung von JUnit, die es erlaubt, fehlgeschlagene Testfälle wahrscheinlichen Defektursachen im Quelltext zuzuweisen | |
ein Test-Framework für die Entwicklung von Refaktorisierungswerkzeugen in Eclipse, das ein zu testendes Refaktorisierungswerkzeug auf alle möglichen Programmelemente eines Testprojekts anwendet und nach jeder Anwendung mittels vorhandener Testfälle prüft, ob das Programm immer noch dieselbe Bedeutung hat | |
ein Refaktorisierungswerkzeug, das ausgehend von einer zu testenden Klasse für alle weiteren Klassen, von denen eine Abhängigkeit besteht, das Gerüst für eine Mock-Klasse erzeugt | |
eine Testumgebung für JUnit-Tests. Durch Invertierung von Typ-Constraint werden Codeänderungen ("Mutanten") erzeugt, die das Programmverhalten mit hoher Wahrscheinlichkeit ändern. Erkennen JUnit-Tests diese Verhaltensänderung nicht, können Rückschlüsse auf mangelnde Testabdeckung gezogen werden. |
Konzepte moderner Programmiersprachen ist ein anderes Schwerpunktthema am Lehrgebiet Programmiersysteme.
|
Untersuchungen zur systematischen Verwendung von Interfaces in Java; eng gekoppelt an intoJ |
Erweiterung der aspektorientierten Programmiersprache AspectJ um Typebenen; Vermeidung versehentlicher Rekursion | |
implizite Aufrufe mit impliziter Ankündigung für Java, gleichzeitig Erhalt von Klassen als Modulen unter aspektorientierter Programmierung | |
eine Programmiersprache mit der Möglichkeit zur Erweiterung ihrer eigenen Syntax direkt im Quellcode eines Programms. |
Die Aktivitäten des Lehrgebiets im Bereich Softwaremodellierung ruhen zur Zeit. So ist derzeit nur ein Projekt definiert: Modeltalk.
|
ein Werkzeug, das das für die Modellierung, was Smalltalk für die Programmierung ist |
© 2011-2012 Fernuniversität in Hagen, Lehrgebiet Programmiersysteme, Friedrich Steimann