Der Mikroprozess des Programmierens zur Anwendung in ......Institut für Informatik Freie...
Transcript of Der Mikroprozess des Programmierens zur Anwendung in ......Institut für Informatik Freie...
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!