Advanced Techniques for Analysis and Visualization of Software Data (Sommersemester 2022)
Lecturer:
Prof. Dr. Jürgen Döllner
(Computergrafische Systeme)
,
Daniel Atzberger
(Computergrafische Systeme)
,
Tim Cech
(Computergrafische Systeme)
,
Willy Scheibel
(Computergrafische Systeme)
General Information
- Weekly Hours: 4
- Credits: 6
- Graded:
yes
- Enrolment Deadline: 01.04.2022 - 30.04.2022
- Examination time §9 (4) BAMA-O: 29.07.2022
- Teaching Form: Seminar / Project
- Enrolment Type: Compulsory Elective Module
- Course Language: German
- Maximum number of participants: 15
Programs, Module Groups & Modules
- 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: Data Analytics
- HPI-DATA-K Konzepte und Methoden
- DATA: Data Analytics
- HPI-DATA-T Techniken und Werkzeuge
- DATA: Data Analytics
- HPI-DATA-S Spezialisierung
- CODS: Complex Data Systems
- HPI-CODS-K Konzepte und Methoden
- CODS: Complex Data Systems
- HPI-CODS-T Techniken und Werkzeuge
- CODS: Complex Data Systems
- HPI-CODS-S Spezialisierung
Description
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.
Requirements
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.
Literature
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
Learning
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.
Examination
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.
Dates
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