Erste Schritte zu einer Taxonomie von Software-Engineering-Kontexten (Masterarbeit)
Die Arbeit wird betreut von Lutz Prechelt und durchgeführt von Stephanie Hohenberg.
Begriffe und Motivation
Wir definieren eine Software Engineering Subdomain (SE Subdomain)
als die Menge von Situationen, in denen eine gegebene Technik anwendbar ist
oder auf die sich ein gegebenes empirisches Resultat verallgemeinern lässt
und bezeichnen beide Fälle mit "anwendbar".
Anwendbarkeit ist kein binäres Kriterium, sondern ein graduelles in
unscharfer Logik (fuzzy logic).
Der konkrete Wert ist in der Regel nicht bekannt.
Die obige Menge von Situationen lässt sich durch eine Reihe von Kriterien
(ausgedrückt anhand von SE-Kontext-Faktoren, kurz "Faktoren") beschreiben.
Die Gesamtmenge solcher Faktoren über viele
Techniken und Studien hinweg spannt einen Raum aller denkbaren
SE Subdomains auf, in dem sich dann typische SE Subdomains identifizieren
und gruppieren lassen um so zu einer Taxonomie relevanter
Software-Engineering-Kontexte zu kommen.
Diese Taxonomie sollte danach von allen SE-Publikationen verwendet werden,
um auf eine knappe und einheitliche Weise den Anspruch der Publikation an die
Anwendbarkeit zur formulieren.
Aufgabe
Diese Masterarbeit soll erste Schritte in Richtung einer solchen Taxonomie
unternehmen, indem sie Faktoren identifiziert, die schon heute in
der SE-Literatur vorkommen.
Sie beantwortet dazu folgende Fragen
anhand einer Analyse der 129 Artikel des
Technical Research Track der ICSE-Konferenz 2020:
- Welche Faktoren werden in der Einleitung genannt, um den Themenbereich
der Arbeit zu charakterisieren? (Rolle "Thema")
- Welche Faktoren werden bei der Diskussion verwandter Arbeiten genannt,
um die Arbeit von jenen abzugrenzen? (Rolle "Abgrenzung")
- Welche Faktoren werden für die Beschreibung der Einzelheiten der
Technik oder Studie genannt? (Rolle "Detail")
- Welche Faktoren werden bei der Diskussion der Verallgemeinerbarkeit
oder in den Schlussfolgerungen genannt (Rolle "Verallgemeinerbarkeit")?
- Welche Faktoren, die in obigen Fällen nicht genannt werden,
sind implizit trotzdem erkennbar?
Welche Formen treten dabei auf?
- Ungenannte Faktoren betreffen vermutlich besonders häufig einen der folgenden Aspekte:
-
- Anwendungsdomäne der Software (z.B. Informationssystem vs. was nicht interaktives)
- Eigenschaften des Entwicklungsprozesses (z.B. wenig Fluktuation im Team, bestimmte Formen der Qualitätssicherung u.v.a.m. Dies ist eine umfangreiche Kategorie.)
- die Richtigkeit gewisser Interpretationen, die in der Arbeit vorkommen (und zu denen es Situationen gibt, in denen die Interpretation _ nicht _ befriedigend richtig ist, auch wenn Sie im Kontext der Arbeit immer befriedigend richtig war.)
- Wie sucht und findet man all diese Faktoren in konkreten Artikeln?
Es folgt eine kritische Analyse:
- Zusammenfassung der Faktoren in thematische Gruppen
- Betrachtung der Korrelation der Faktorengruppen: Was sind typische SE-Kontexte für diese Arbeiten aus Faktorensicht?
- Gibt es für diese Kontexte bereits gängige Namen?
- Wo nicht: Welche Namen könnten sich eignen?
- Kann man die Betrachtung separat für jede Rolle machen? Was spricht dafür oder dagegen?
- Wie gründlich ist die Charakterisierung des Kontextes in den Arbeiten? Unterscheidet sich das zwischen verschiedenen Arten von Beiträgen?
- …und weitere, die uns unterwegs noch einfallen werden.
Zeitplan
|
Meilensteine, Ziele, Aktivitäten |
Juli |
DONE
- Thema erhalten
- ins Thema eingearbeitet
- Übersicht über Papers gemacht mittels Excel
- Abstracts von (>50) Papers gelesen
|
August |
DONE
- zufällig ausgewählte Papers gelesen und analysiert
- Inhaltsverzeichnis erstellt
- Latex Projekt angelegt
- Text über das 1. Kapitel verfasst zu Motivation; Ziele; Struktur der Masterarbeit
- Related Work angeschaut
|
September |
DONE
- Text über das 3. Kapitel verfasst zum Vorgehen
- Idee: effizienteres Vorgehen durch Reihenfolge nach Awards
- Papers mit ACM SIGSOFT Award gelesen
|
Oktober |
DONE
- 15.Okt Startschuss Arbeit angemeldet
- Papers mit 2 Badges gelesen
- Kontexte mittels Word dokumentiert
|
November |
DONE
- gelesene Paper in Max QDA transferiert
- Codierung der Kontexte und Paper Type
- Markierungen für Notizen, Threats of Validity, Ergebnisse
- Code-Variablen für Zweck und Vorkommen, Dokument Variablen für Awards
- alle Paper mit Awards und Badges gelesen
- Insights mehr dokumentiert
|
Dezember |
DONE
-
Zwischenergebnisse festhalten zu Kontexten mit dem Zweck Verallgemeinbarkeit (bzgl den 59Papers mit Awards)
-
Papers clustern, Statistik über Papertypen erstellen (Charakterisierung)
-
2. Iteration der Papers angefangen
- Umstieg der Dokumentation auf Excel statt MaxQDA
|
Januar |
DONE
- (03.01.2021 Halbzeit (11,5W rum))
- MVP/ Tool zur Datenanalyse implementiert
- Ergebnisse/Daten bereinigt (Excel aufgeräumt, sortiert)
- Datentransfer: Excel > Tool
- 2. Iteration der Paper
- Zwischenpräsentation im BSE-Seminar gehalten
|
Februar |
DONE
- bereits verfasstes Kapitel zum Vorgehen evaluiert und angepasst, Grafiken von der Zwischenpräsentation eingefügt
- Inhaltsverzeichnis evaluiert und umstrukturiert
- bereits verfasste Sektion zur Verallgemeinbarkeit grundlegend neu geschrieben
- Sektion zur Charakterisierung der Paper geschrieben
- Sektion der Anwendbarkeit und Evaluation des Vorgehens entworfen (lediglich Entwurf)
- grundlegende Gedanken zur Datenanalyse gemacht
- Tool erweitert um minimale Graph Visualisierung
- 2. & 3. Iteration für die 59Papers mit Awards beendet
|
März |
TODO
- Relevanz Analyse der Masterarbeit ausarbeiten
- Datentransfer: Excel > Tool
- Datenanalyse, Schlussfolgerungen ziehen
- Bestbeispiele der Paper für Argumentation suchen, kurze Zusammenfassungen der Paper verfassen
- Sektionen zu allen Ergebnissen verfassen
- Taxonomie verfassen
- 25.03 OriginalAbgabe
|
April |
- Taxonomie evaluieren
- restliche Kapitel schreiben, evaluieren, überarbeiten
- Literaturverzeichnis erstellen
- 17.04 Abgabe (persönliches Ziel)
- Masterarbeitsverteidigung
|
Mai |
|
Juni |
- 14.06 verlängerter Abgabe aufgrund von Covid
|
Vorgehen
Schritt 1:
- 1.Iteration: Paper lesen - Reihenfolge nach Awards
- grobe Kontextanalyse, Einordnung des Typen, Kontextfaktoren finden
- Lesen: Abstract, Introduction, Related Work, Future Work, Threat of Validity, Conclusion
- Nutzung von Max QDA
- Einlesen in GTM
- Aufkommende Insights, Gedanken und Fragen besser dokumentieren
Schritt 2:
- 2.Iteration: Paper lesen - Reihenfolge nach Kontexten oder Typen
- genauere Kontextanalyse, kritischere Analyse,
- Lesen/Analyse mit Fokus auf Recherchefragen der Masterarbeit
Schritt 3:
Taxonomie erstellen, Recherchefragen beantworten
Schritt 4: (optional)
Analyse der Interviews von Prof. Dr. Prechelt auf der ICSE 201X
- Audiodateien vorhanden, “Semi”-Transkription notwendig
Erste Struktur der Masterarbeit
Kapitel |
Titel |
Sektionen |
1 |
Einführung |
Motivation; Ziele; Struktur der Masterarbeit |
2 |
Hintergrund |
Definitionen: Qualitätsfaktoren von empirischen Arbeiten, Unterscheidungsfaktoren von empirischen Arbeiten; Verwandte Arbeiten |
3 |
Vorgehen |
Sichtung der Publikationen; Identifizierung von Kontextfaktoren; Klassifizierung von Kontextfaktoren; Charakterisierung von Publikationen; Dokumentierung und Erstellung von Artefakten; Analyse der Artefakte; Anfertigung einer Taxonomie; |
4 |
Durchführung |
1. Iteration: Kontexte zum Zweck Thema; Kontexte zum Zweck Eingrenzung und Abgrenzung; Kontexte zum Zweck Verallgemeinbarkeit
2. Iteration: Kontexte zum Zweck Anwendung; Kontexte zum Zweck Erweiterung; Kontexte zum Zweck Details; Kontexte zum Zweck Verallgemeinbarkeit
3. Iteration: ...
Taxonomie
|
5 |
Evaluation |
Schlussfolgerungen; Beantwortung der Recherchefragen; Evaluation des Vorgehen; Evaluation der Kontexte und der Taxonomie |
6 |
Ergebnisse |
Zusammenfassung; Abgrenzung |
7 |
Abschluss |
Diskussion der Ergebnisse; Ausblick |