Hasso-Plattner-Institut25 Jahre HPI
Hasso-Plattner-Institut25 Jahre HPI
 

Advanced Techniques for Analysis and Visualization of Software Data (Sommersemester 2022)

Dozent: Prof. Dr. Jürgen Döllner (Computergrafische Systeme) , Daniel Atzberger (Computergrafische Systeme) , Tim Cech (Computergrafische Systeme) , Willy Scheibel (Computergrafische Systeme)

Allgemeine Information

  • Semesterwochenstunden: 4
  • ECTS: 6
  • Benotet: Ja
  • Einschreibefrist: 01.04.2022 - 30.04.2022
  • Prüfungszeitpunkt §9 (4) BAMA-O: 29.07.2022
  • Lehrform: Seminar / Projekt
  • Belegungsart: Wahlpflichtmodul
  • Lehrsprache: Deutsch
  • Maximale Teilnehmerzahl: 15

Studiengänge, Modulgruppen & Module

IT-Systems Engineering MA
  • HCGT: Human Computer Interaction & Computer Graphics Technology
    • HPI-HCGT-K Konzepte und Methoden
  • HCGT: Human Computer Interaction & Computer Graphics Technology
    • HPI-HCGT-T Techniken und Werkzeuge
  • HCGT: Human Computer Interaction & Computer Graphics Technology
    • HPI-HCGT-S Spezialisierung
  • OSIS: Operating Systems & Information Systems Technology
    • HPI-OSIS-K Konzepte und Methoden
  • OSIS: Operating Systems & Information Systems Technology
    • HPI-OSIS-T Techniken und Werkzeuge
  • OSIS: Operating Systems & Information Systems Technology
    • HPI-OSIS-S Spezialisierung
Data Engineering MA

Beschreibung

Im heutigen Softwareentwicklungsprozess werden Prozesse und Arbeit an Softwaresystemen digital erfasst (Project Management, Bug Tracking, Version Control, Build und Test Pipelines). Diese Daten können mithilfe von Process Mining und Software Data Mining extrahiert und aufbereitet werden. Dabei sind diese Daten in ihrer Struktur komplex und in ihrer Anzahl massiv, sowie andauernder zeitlicher Änderung unterlegen. Aus diesen Daten können dann analytische oder visuelle Ergebnisse zum Monitoring oder Management von Softwareentwicklungsprozessen abgeleitet werden.

In diesem Seminar werden Techniken und Methoden zur Erfassung, Aufbereitung und Visualisierung für die explorative, visuellen Analyse von Datensätzen aus dem Software Engineering untersucht, umgesetzt und erprobt.

Besonderer Fokus bei der Datenerfassung sind dabei Techniken zum Mining von Source Code und Metriken aus Versionsverwaltungssystemen und Prozessen und Metriken aus Projektmanagementplattformen. Für die Datenaufbereitung sollen insbesondere Data Cleansing und Machine Learning thematisiert werden. Im Bereich der Visualisierung soll der Fokus auf der Algorithmik und dem Rendering von Softwarevisualisierungsverfahren wie Treemaps und Topic Maps liegen.

In diesem Seminar werden dazu Forschungs- oder Softwareprojekte vorrangig in Einzelarbeit umgesetzt. Im Rahmen der eigenen Interessen kann aus unterschiedlichen Forschungsthemen des Fachgebietes ein Thema gewählt werden. Dabei kann das Projekt je nach Interesse und Thema stärker auf Erfassung, Aufbereitung oder Visualisierung fokussieren.

Voraussetzungen

Das Seminar richtet sich an Studierende im Masterstudiengang Data Engineering und IT-Systems Engineering. Für experimentell orientierte Projektthemen wird auf bestehende Visualisierungskomponenten zurückgegriffen. Darüber hinaus werden Kenntnisse einer Skriptsprache zur Datenverarbeitung (z.B. R oder Python) erwartet. Für Entwicklungsthemen sind dagegen projektabhängig Kenntnisse der objektorientierten Software-Entwicklung, der webbasierten Programmierung (JavaScript, Node.js), der Grundlagen der Computergrafik und auch der Visualisierung (OpenGL, GLSL und WebGL) von Vorteil. Vereinzelt können auch Serverkomponenten Fokus der Themen sein, wofür sich systemnahe Programmierung anbietet (Python, C++, Docker).

Students can participate in German or English.

Literatur

Zu jedem Thema gibt es neben den über das Internet frei zugänglichen Informationen eine Reihe aktueller Fachartikel, die bei der Themenvergabe mit ausgegeben werden. Die weitere Recherche von themenspezifischer Literatur ist Teil der Bearbeitung.

Als Motivation für das Seminar ist folgender Artikel zur Vorbereitung empfohlen:

  • H. Erdogmus, N. Medvicović und F. Paulisch: "50 Years of Software Development", 2018

Lern- und Lehrformen

In dem Seminar wird die forschungsnahe Projektarbeit mit individueller Betreuung durch das Fachgebiet gelehrt.

Materialien und Termine werden über den Moodle Kurs "Advanced Techniques for Analysis and Visualization of Software Data" ausgeteilt und bekanntgegeben. Es wird von jedem Teilnehmer erwartet, dass er in diesem Kurs eingeschrieben ist.

Leistungserfassung

Die Leistungspunkte werden erreicht, wenn die Studierenden:

  • über das Themengebiet, die Problemstellung und den benutzten Ansatz einen Zwischenvortrag abhalten (10%),
  • erfolgreich ein dem Thema entsprechendes Softwareentwicklungsprojekt (50%) planen und durchführen,
  • erfolgreich die Grundlagen und Ergebnisse in einer schriftlichen Ausarbeitung (~6 Seiten doppelspaltig) zusammenfassen (20%),
  • über das Arbeitspaket bzw. einen ausgewählten Aspekt erfolgreich einen Abschlussvortrag (20%) halten.

Termine

Der Termin für die Seminareinführung und die Themenvorstellung ist Mittwoch, 27.4.2022 von 11:00 bis 12.30 Uhr im Raum A-1.2.

Zurück