REEDS

FFG COMET, 2019 – 2022

Reverse Engineering und Automatische Software Dokumentation

Im Projekt wird daran geforscht, die Herstellung und Qualität von Softwaredokumentation zu verbessern, um eine verlässliche Grundlage für die Evolution von (großen) Softwaresystemen zu schaffen. Dies erreicht man mit Methoden des Reverse Engineerings. Diese  sichern die Erzeugung von automtsierten Softwaredokumentation. Dadurch wird die Aktualität und Vertrauenswürdigkeit gesichert.

Kontext und Motivation

Softwaredokumentation ist ein wichtiger Bestandteil eines Softwaresystems. Sie beschreibt Funktion und Verwendung eines Systems auf verschiedenen Abstraktionsebenen und hat Bedeutung für unterschiedliche Stakeholder, z. B. Softwareentwickler, Softwarearchitekten, Qualitätsmanager, Analysten, Management oder Fachexperten. Entwicklung und Wartung von Softwaresystemen wird durch Softwaredokumentation wesentlich vereinfacht, insbesondere für Entwickler, die sich auf einem bestehenden Softwaresystem neu einarbeiten müssen.

Gute Softwaredokumentation beschreibt eine Software auf unterschiedlichen Abstraktionsebenen und aus unterschiedlichen Blickwinkeln. Abstraktionsebenen und Sichten auf ein Softwaresystem werden dabei speziell für unterschiedliche Benutzergruppen und Nutzungskontext aufbereitet. Leser von Softwaredokumentation können dabei mühelos zwischen Abstraktionsebenen wechseln, z. B. aus Zusammenfassungen und Überblicksdarstellungen zu detaillierten Beschreibungen und Quellcode.

Trotz seiner Bedeutung liegt Softwaredokumentation oftmals nicht in ausreichender Qualität vor. Vor allem fehlende Aktualität, Korrektheit und Vollständigkeit untergraben die Zuverlässigkeit und Vertrauenswürdigkeit von Dokumentation. Dies führt oftmals dazu, dass nur Source Code als einzige gültige Informationsquelle angesehen wird. Als Grund für unzureichende Qualität von Dokumentation, wird meist hoher Aufwand für die Erstellung und Aktualisierung von Dokumentation gesehen. Um die Qualität von Dokumentation zu verbessern, ist Automatisierung von Dokumentationserstellung notwendig. Automatisierte Extraktion, Zusammenfassung, Generierung und Zusammenführung von Informationen aus unterschiedlichen Softwareartefakten zu einer einheitlichen Softwaredokumentation ist dabei unumgänglich.

Ziele

Es ist das Ziel des COMET-Projektes REEDS die Erstellung und Qualität von Softwaredokumentation für große Softwaresystem zu verbessern, um Wartung und Evolution der Systeme zu unterstützen.

Zentrale Idee ist, intelligente Software Dokumentation bereitzustellen, welche

  • Bei Bedarf (on-demand) für unterschiedliche Benutzergruppen und Abstraktionsebenen bereitgestellt wird.
  • Rückverfolgung aus der Dokumentation hin zum Source Code erlaubt.
  • Durch Continuous Integration, immer aktuell verfügbar ist.
  • Aus unterschiedlichen Informationsquellen zusammengeführt wird.
  • Die Evolution von Softwaresystemen dokumentiert.
  • Zusammenhänge in unterschiedlichen Quellen erkennt und zusammenführt.

Dafür werden Methoden und Konzepte der statischen und dynamischen Programmanalyse, Wissensextraktion und -modellierung, Software Repository Mining und domänenspezifischer Modellierung und Visualisierung verwendet.

Bisher entwickelte Softwareprototypen

  • Dokumentationswerkzeuge für Java Batch-Systeme
  • Automatisierte Dokumentation von OPC-UA Modellen
  • Visualisierung von Typabhängigkeiten in IEC-Programmen
  • Automatisierte Dokumentation von technischen Berechnungen
  • Enterprise Architecture Knowledge Management Platform
  • Intuitive Werkzeuge zur Berechnung, Optimierung und Visualisierung von domänen-spezifischen Modellen im Transformatorenbau

Projektdaten

Projektdauer: 1. Jänner 2019 – 31. Dezember 2022
Fördergeber: Das Projekt wird im Rahmen von COMET – Competence Centers for Excellent Technologies durch BMK, BMDW, Land Oberösterreich und den wissenschaftlichen Partnern des SCCH gefördert. Das Programm COMET wird durch die FFG abgewickelt.

Projektpartner

Ein Konsortium aus industriellen und wissenschaftlichen Partnern:

  • Software Competence Center Hagenberg
  • Engel Austria GmbH
  • ÖGK – Österreichische Gesundheitskasse
  • JKU – Institut für Wirtschaftsinformatik / Software Engineering
  • RSG – Raiffeisensoftware
  • Siemens Energy AG – Transformers Linz
  • Siemens Energy AG – Transformers Weiz
  • STIWA Holding

Moser Michael

Area Manager Software Science
Telefon: +43 50 343 814