Zum Inhalt
Fakultät für Informatik
Fachprojekt

Implementation und Evaluation von Metriken zum Messen von Softwarequalität

Modul: tba
Credits: 7
SWS: 4
Ort: Nur digital (Zoom und Moodle)
Start: tba
Moodle: tba
Unterrichtssprache: Deutsch

Inhalt

Öffentlich zugängliche Software-Repositories wie beispielsweise Maven Central oder die NPM Registry bieten Entwicklern einfachen Zugriff auf Tausende verschiedener Software-Bibliotheken. Neben einer kurzen Beschreibung des Funktionsumfangs und der Zahl der Downloads stehen Entwicklern dabei selten zusätzliche Informationen zur Verfügung, um die Qualität, Komplexität und Korrektheit einer Bibliothek bzw. eines bestimmten Releases einer Bibliothek zu beurteilen. So wird eine Entscheidung für die eine oder andere Bibliothek häufig aufgrund der Anzahl von Downloads oder der Popularität auf Drittplatformen (zB Stack Overflow) getroffen.

In der SE-Fachliteratur werden eine Vielzahl solcher Metriken vorgeschlagen und oft auch prototypisch implementiert. Um diese Metriken zu Nutzen müssten Entwickler jedoch jeweils die passenden Prototypen herunterladen, lauffähig machen und dann für jede potentiell interessante Bibliothek ausführen. Darum spielen solche Metriken in der Praxis keine relevente Rolle.

Im Rahmen dieses Fachprojekts arbeiten sich die Teilnehmenden zunächst in die theoretischen Grundlagen verschiedener existierender Metriken ein. Anschließend werden eine oder mehrere der Metriken praktisch umgesetzt und in das Delphi System integriert. Delphi hält einen Index aller Software-Bibliotheken von Maven Central vor, und berechnet verschiedenste Metriken für jedes einzelne Release. So können die Werte für andere Entwickler praktisch nutzbar gemacht
werden. Für die Umsetzung wird entweder Java oder Scala genutzt, wobei auf das OPAL-Framework zur statischen Analyse aufgebaut werden kann. So müssen grundlegende Operationen wie das Parsen von Bytecode und das Extrahieren von Klassen und Methoden nicht selbst implementiert werden.

In einem finalen Arbeitsschritt wird die Performance der implementierten Algorithmen evaluiert, um deren Eignung für eine Anwendung auf mehrere Millionen JAR-Dateien zu prüfen.

Literatur

Eleni Constantinou und Ioannis Stamelos. 2017. Identifying evolution patterns: a metrics-based approach for external library reuse

Weitere Metriken und der aktuelle Stand der Forschung werden im theoretischen Teil des Fachprojekts ausgearbeitet.

Bewertung

In die Bewertung fließen unter anderem ein:

  • Die Beteilung der Teilnehmenden am theoretischen Teil des Projekts
  • Die Qualität der Implementierung von Metriken
  • Die Durchführung und Ergebnisse der Evaluation für die jeweilige Implementierung
  • Die abschließende Präsentation aller Ergebnisse