Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Der Mikroprozess des Programmierenszur Anwendung in der Fehleranalyse
Sebastian JekutschInstitut für InformatikFreie Universität Berlin
Sebastian Jekutsch ([email protected]) 3
Sebastian Jekutsch ([email protected]) 4
Loriots „Zwei Cousinen“
Minute 0:30 1:00 1:30 2:00 2:30
[:c]
[w]
[Ө]
Korrekturen
Auffälligkeiten
steigendeBelastung
Au
ssp
rach
e
Sebastian Jekutsch ([email protected]) 5
Belastungsverhalten beim Prg.en
• Fehlverhalten• Kopieren - Einfügen - Ändern (Copy/Paste/Change, CPC)?• Zu viele offene Stellen?
• Symptomverhalten• Langsamer werden?• Häufiges Wechseln des Fokus?
• Bewältigungsverhalten• Häufigeres Testen?• Re-orientieren nach einer Unterbrechung?
• Welche (sonstigen) Praktiken sind dies? • Qualitativ, explorativ aus den Videos zu ermitteln
• Kann man es benutzen, um daraus zu lernen?• Es wäre nett, wenn der Computer dabei hilft
SUSPEKT!
Sebastian Jekutsch ([email protected]) 6
Mikroprozess des Programmierens
• Der Mikroprozess des Programmierens (µPP) ist• die tatsächliche Abfolge• der einzelnen Tätigkeiten des Programmierers• um ein Ziel (= funktionierendes Programm) zu erreichen
• Tätigkeiten?• Datei öffnen und schließen• Code ändern• Testen / Programm laufen lassen• Abspeichern• Code / Dokumentation lesen• Nachdenken• Pause machen• …
Sebastian Jekutsch ([email protected]) 7
Fehleranalyse im µP (Analogie)
• Eine Art Anti-Praktik: Zu lange LKW/Bus fahren.
• Gesetzliche Regelungen für Fahrpersonal:• Höchstens 9 Stunden
pro Arbeitstag• nach 4,5 Stunden mindestens
45 Minuten Pause• in zwei Wochen höchstens
90 Stunden, u.s.w.
• Beugt Müdigkeit vor, z.B. Sekundenschlaf
• Kontrolle mittels Mikroprozessaufzeichnung
Sebastian Jekutsch ([email protected]) 8
• Automatische Aufzeichnung des µPP• Sensoren sammeln
primitive Ereignisse
• Aufzeichnungsausschnitt:
Mikroprozessaufzeichnung
ElectroCodeoGram
Sebastian Jekutsch ([email protected]) 9
Mikroprozesserkennung (1)
• Einteilung der Basisereignisse in kurze Episoden• welche wieder zu Episoden zusammengefasst werden usw.
Sebastian Jekutsch ([email protected]) 10
Beispielepisode: Copy/Paste/Change
Der Programmierer fügt in die Datei “Base.java” eine Unterroutinenamens „getDetailsDescriptions“ ein mittels Kopieren einesanderen Codefragments, Einfügen und anschließendem Ändern. Es bleibt ein Übersetzungsfehler zurück.
Sebastian Jekutsch ([email protected]) 11
Mikroprozesserkennung (2)
Sebastian Jekutsch ([email protected]) 12
Automatische Episodenerkennung
Sebastian Jekutsch ([email protected]) 13
Mikroprozessanalyse
• Aktivitäten auf einer „Lebenslinie“ darstellen:
• „Video“ der Änderungen einer Codestelle:
Sebastian Jekutsch ([email protected]) 14
Ergebnisse
• Leider noch keine…• aber viele Hypothesen und Vermutungen, basierend auf
(eigene) Erfahrungen und Beobachtungen• Spezialisierung auf bestimmte Situationen und Praktiken
• Das Ziel ist klar: Korrelationen finden zwischen• typischen Episoden = (Kleinst-)Praktiken und• Defekteinbauten = Fehlermachen
Sebastian Jekutsch ([email protected]) 15
Workshop „Praktiken des Programmierens“
• Auch Informatiker beobachten Menschen• meist aber nur ihresgleichen
• Auch Informatiker interessieren sich für qualitative Forschung• quantifizieren aber eigentlich lieber• und erfreuen sich an Automatisierungen
• Interdisziplinäre Arbeit: Was kommt aus der Informatikecke?• Werkzeuge zur Beobachtung, Aufzeichnung und Analyse • Wissen über Programmierung. Interpretationsfähigkeit• Anwendungsblick: Wie kann man das Programmieren
verbessern und dem Programmierer helfen?
• ☺ PowerPoint Know-How
Sebastian Jekutsch ([email protected]) 16
Danke schön!