Zum Hauptinhalt springen

TU Braunschweig

Technische Universität Braunschweig
Institut für Programmiersprachen und Informationssysteme
Abteilung Softwaretechnologie 

Prof. Dr. Gregor Snelting

Arbeitsschwerpunkte

In der Informatik gibt es eine Fülle neuer Ergebnisse in den Grundlagendisziplinen. Gleichzeitig beklagen Anwender das Fortdauern der Software-Krise und fordern praktisch anwendbare Forschung. Wir wollen deshalb neue Resultate der Grundlagenforschung für die Softwareentwicklung nutzbar machen. Viele theoretische Resultate können in intelligente Verfahren verpackt werden, die die Produktivität der Softwareentwicklung deutlich erhöhen. Dabei bleiben höchste theoretische Ansprüche ebenso gewahrt wie der unmittelbare praktische Nutzen.

Projekte

Automatische Validierung von Meßgeräte-Software

Meßgeräte werden heute durch Software gesteuert. Diese Software muß besonderen Sicherheitsanforderungen genügen: es muß überprüft werden, daß der Datenfluß vom Sensoreingang zur Anzeige - der Eichpfad - nicht beeinflußt werden kann. Im Verbundprojekt VALSOFT haben wir mit der Physikalisch-Technischen Bundesanstalt und dem Softwarehaus LINEAS ein Werkzeug entwickelt, das per Program Slicing alle Datenflüsse analysiert und mittels Constraint Solving genaue Bedingungen berechnet, unter denen ein verdächtiger Datenfluß stattfinden kann. Unser Werkzeug analysiert C-Programme, bindet Konfigurationsdaten über spezifische Meßgeräte ein und visualisiert die gewonnene Information. Ergebnis ist eine Mängelliste: ,,Wenn X und Y gleichzeitig gedrückt werden, zeigt die Käsewaage 10% zuviel an``. Die Arbeit wurde durch das BMBF im Rahmen der Initiative zur Förderung der Software-Technologie in Wirtschaft, Wissenschaft und Technik gefördert (Kennziffer 0115513A); die Förderung wird von der DFG fortgesetzt.(4)

Konfigurationsmanagement mit Versionsmengen

Software-Konfigurationsmanagement (SCM) beschäftigt sich mit der Organisation und Kontrolle sich entwickelnder Software-Systeme. In NORA/ICE (Incremental Configuration Environment) integrieren wir zahlreiche SCM-Konzepte wie Varianten, Revisionen, Konsistenzprüfung oder Arbeitsumgebungen in ein einziges flexibles und leicht handhabbares Modell, das Modell der Versionsmengen. Versionsmengen werden realisiert über ein virtuelles Dateisystem und deduktive Programmkonstruktion: cd .[user == bob]; make emacs[os == unix] erzeugt eine individuelle, konsistente EMACS-Variante. Die Arbeit wurde von der DFG gefördert (Kennziffer Sn11/1-1, Sn11/1-2) und 1997 mit dem Software-Engineering-Preis der Ernst-Denert-Stiftung ausgezeichnet.(1)

Deduktionsbasiertes Komponentenretrieval

Eine Software-Komponentenbibliothek ist nutzlos, wenn man in ihr nichts wiederfinden kann. NORA/HAMMR (Highly Adaptive Multi-Method Retrieval) ermöglicht es, Komponenten anhand vonVerhaltensbeschreibungen zu suchen, die durch prädikatenlogische Formeln ausgedrückt werden. Hierbei kommen leistungsfähige Beweiser zum Einsatz, die so durch HAMMR validiert werden. Alternativ können auchSignaturinformationen eingesetzt werden, wobei zwar die Präzision geringer ist, Treffer aber über die wesentlich einfacheren Operationen Matching und Unifikation bestimmt werden können. Mit Mathematischer Begriffsanalyse werden Anwender interaktiv durch den Suchraum geführt. Die Arbeit wurde von der DFG im Rahmen des Schwerpunktprogrammes ,,Deduktion`` gefördert (Kennziffer Sn11/2-1, Sn11/2-2, Sn11/2-3).(5)

Semantikbasierter Architekturentwurf

Die Implementierung von Referenzarchitekturen ist ein komplexes Teilproblem beim Entwurf und der Realisierung bereichsspezifischer Software-Architekturen. Mit der Architektur'' = Programmiersprache M haben wir eine Programmiersprache für die Implementierung von Architekturen realisiert, die es erlaubt, Architekturen in Form von Architekturprogrammen zu codieren und durch Ausführung dieser Programme spezifische Architekturen zu erzeugen und die zugehörigen Komponenten zu einem Software-System zu binden. Die Arbeit wird von der DFG gefördert (Kennziffer Sn11/4-1).(6)

Reengineering von Konfigurationsstrukturen

NORA/RECS (Reverse Engineering of Configuration Structures) ermöglicht es, den Konfigurationsraum eines Systems aus Quelltexten zu rekonstruieren. RECS setzt Mathematische Begriffsanalyse ein, um Abhängigkeiten und unerwünschte Interferenzen zwischen Konfigurationen aufzudecken. Mathematische Begriffsanalyse erlaubt es auch, Vorschläge zur Restrukturierung von Konfigurationsräumen zu erzeugen.(2)

Strukturanalyse und -optimierung von Altsoftware

Mathematische Begriffsanalyse ermöglicht die Strukturanalyse alter Fortran-, Cobol und C++ Programme. Für Fortran und Cobol-Programme wird die Verwendung von Variablen in Prozeduren untersucht. Begriffsanalyse zeigt sowohl feinkörnige Abhängigkeiten als auch eine Bewertung der Gesamtstruktur. Wenn der Verfall der Software noch nicht zu weit fortgeschritten ist, können mit algebraischen Methoden automatisch Modulkandidaten identifiziert werden (3). In Zusammenarbeit mit dem IBM-Labor Yorktown Heights wird die Verwendung von Datenelementen und Methoden durch Variablen in C++-Programmen untersucht. Begriffsanalyse, gekoppelt mit Datenflußanalyse und sog. Dominanzconstraints, erlaubt das Erzeugen einer verhaltensäquivalenten optimierten Klassenstruktur, so daß der Typ jeder Variablen nur Datenelemente und Methoden enthält, die wirklich benötigt werden.

Graphisches Debugging

Der Data Display Debugger (DDD) ist eine gemeinsame graphische Benutzerschnittstelle für GDB, DBX und XDB, die bekannten UNIX-Debugger. Neben üblichen Features wie die Darstellung von Quelltexten bietet DDD eine graphische Datenanzeige, in der Datenstrukturen als Graphen dargestellt werden. Zeiger werden durch einen einfachen Mausklick dereferenziert, Strukturen können auf- und zugeklappt werden. DDD gilt heute als einer der leistungsfähigsten und bedienerfreundlichsten Debugger überhaupt. Allein vom FTP-Server der TU Braunschweig wurden über 36.000 Exemplare verteilt; die Liste der Anwender reicht von Adobe über Boeing, DEC, Honeywell, Intel, NASA, Netscape, Oracle, SAP, Siemens, Star Division bis Texas Instruments und Xerox.(7)

Veröffentlichungen

  1. Andreas Zeller und Gregor Snelting. Unified versioning through feature logic. ACM Transactions on Software Engineering and Methodology, 6(4):398-441, Oktober 1997.
  2. Gregor Snelting. Reengineering of configurations based on mathematical concept analysis. ACM Transactions on Software Engineering and Methodology, 5(2):146-189, April 1996.
  3. Christan Lindig und Gregor Snelting. Assessing modular structure of legacy code based on mathematical concept analysis. In Proc. International Conference on Software Engineering, S. 349-359, Boston, USA, Mai 1997.
  4. Gregor Snelting. Combining slicing and constraint solving for validation of measurement software. In Radhia Cousot und David A. Schmidt, Herausgeber, Proc. of the Third International Static Analysis Symposium, Lecture Notes in Computer Science, Nummer 1145, S. 332-348, Aachen, September 1996.
  5. Johann Schumann und Bernd Fischer. NORA / HAMMR: Making deduction-based software component retrieval practical. In Proc. Automated Software Engineering, S. 246-254, Lake Tahoe, November 1997.
  6. Franz-Josef Grosch.\ M - eine typisierte, funktionale Sprache für das Programmieren-im-Großen. In Matthias Jarke, Klaus Pasedach und Klaus Pohl, Herausgeber, Proc. Informatik '97 - Informatik als Innovationsmotor, S. 542-551, Aachen, September 1997. Springer-Verlag.
  7. Andreas Zeller und Dorothea Lütkehaus. DDD--A free graphical front-end for UNIX debuggers. ACM SIGPLAN Notices, 31(1):22-27, Januar 1996.

Alle Veröffentlichungen sind online verfügbar.

Produkte und Werkzeuge

Zu allen Projekten sind Implementierungen frei erhältlich - von Forschungsprototypen (HAMMR, M) über Proof-of-concept-Implementierungen (RECS, ICE) bis hin zum ausgereiften Produkt in Industriequalität (DDD). Nähere Informationen zu unseren Produkten sowie natürlich die Werkzeuge selbst finden Sie über unsere WWW-Leitseite.

Kontaktadresse

Prof. Dr. Gregor Snelting
Technische Universität Braunschweig
Institut für Programmiersprachen und Informationssysteme
Abteilung Softwaretechnologie
Bültenweg 88, 38092 Braunschweig
Tel.: (0531) 391-7580, Fax: -8140
snelting@acm.org