You are here: SE » ThesesHome » ThesisTrialError

Bachelorarbeit (abgeschlossen)

Automatisches Erkennen von Trial-and-Error-Episoden beim Programmieren

calvintae.jpg

Projekte

Error prevention in software development

Art

50% Konzeption, 50% Implementation

Problembeschreibung

Nicht selten wird beim Programmieren einfach geraten, z.B. bei den Indexgrenzen einer Zählschleife: Beginnt es bei 0? Endet es bei count+1? Muss es <= statt < heißen? Man testet das Programm kurz, rät eine andere Zählbedingung, testet wieder… solange bis es zu passen scheint. Oftmals ist es Bequemlichkeit (schnell mal Testen ist leichter als gründlich drüber nachdenken), oftmals aber auch Unwissen. Aus diesen Gründen gelten solche Programmiertechniken als besonders fehlerträchtig, zumal das Testen vermutlich auch nicht ausreichend war. Im Rahmen der Forschung über Fehlerursachen sollen solche Verhaltensweisen untersucht werden. Dazu sollten Trial-and-Error-Episoden möglichst automatisch erkannt werden können, um nachträglich zu prüfen, ob die entsprechend erstellten Codeteile eine erhöhte Defektrate haben oder nicht.

Aufgabe

Ziel dieser Arbeit ist es, einen geeigneten Trial-and-Error-Episodenerkenner auf Basis des Mikroprozesses, also der Aktivitäten eines Programmierers, zu realisieren. Dazu ist zunächst zu klären, wie Trial-and-Error-Phasen aussehen können. Die Erkennung ist danach im Rahmen der Mikroprozessaufzeichnung mit dem ElectroCodeoGram zu realisieren, welches schon eine Schnittstelle für Episodenerkenner bereit stellt.

Der Ablauf der Arbeit ist grob wie folgt:
  1. Einarbeitung in das Forschungsthema und die vorliegenden Anforderungen und Probleme
  2. Formale Beschreibung, was eine Trial-and-Error-Episode ist aufgrund von Befragungen oder Beobachtungen. Dieser Teil der Arbeit kann deutlich ausgeweitet werden, wenn es dazu begründeten Anlass gibt. Die Implementierung kann dann sogar wegfallen.
  3. Kennenlernen der technischen Umgebung
  4. Entwurf und Begründung der entsprechenden Entscheidungen
  5. Implementation und ausreichende Dokumentation
  6. Einsatz in einer kleinen Fallstudie
Die Arbeit schließt wie üblich mit einer Ausarbeitung und einem Vortrag ab.

Durchführung

Die Arbeit wurde durchgeführt von Hannes Restel und betreut von SebastianJekutsch und LutzPrechelt.

Detailliertere Informationen sind hier zu bekommen:

Ergebnis

> die fertige Ausarbeitung
> die referenzierten Videos
> die Software
> Glossar und Begriffserklärungen