Der Mikroprozess des Programmierens zur Anwendung in ......Institut für Informatik Freie...

Post on 25-Mar-2021

1 views 0 download

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 (jekutsch@inf.fu-berlin.de) 3

Sebastian Jekutsch (jekutsch@inf.fu-berlin.de) 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 (jekutsch@inf.fu-berlin.de) 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 (jekutsch@inf.fu-berlin.de) 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 (jekutsch@inf.fu-berlin.de) 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 (jekutsch@inf.fu-berlin.de) 8

• Automatische Aufzeichnung des µPP• Sensoren sammeln

primitive Ereignisse

• Aufzeichnungsausschnitt:

Mikroprozessaufzeichnung

ElectroCodeoGram

Sebastian Jekutsch (jekutsch@inf.fu-berlin.de) 9

Mikroprozesserkennung (1)

• Einteilung der Basisereignisse in kurze Episoden• welche wieder zu Episoden zusammengefasst werden usw.

Sebastian Jekutsch (jekutsch@inf.fu-berlin.de) 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 (jekutsch@inf.fu-berlin.de) 11

Mikroprozesserkennung (2)

Sebastian Jekutsch (jekutsch@inf.fu-berlin.de) 12

Automatische Episodenerkennung

Sebastian Jekutsch (jekutsch@inf.fu-berlin.de) 13

Mikroprozessanalyse

• Aktivitäten auf einer „Lebenslinie“ darstellen:

• „Video“ der Änderungen einer Codestelle:

Sebastian Jekutsch (jekutsch@inf.fu-berlin.de) 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 (jekutsch@inf.fu-berlin.de) 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 (jekutsch@inf.fu-berlin.de) 16

Danke schön!