Best Paper Award Hofmeister et al. (2017)

Einer unserer Absolventen, Johannes Hofmeister, hat gerade zusammen mit seinen Ko-Autoren und Betreuern Janet Siegmund und Daniel Holt den „Best Paper Award“ auf der „24. IEEE International Conference on Software Analysis, Evolution and Reengineering“ (SANER 2017) vom 21.-24.2.2017 in Klagenfurt gewonnen. Über 90 Beiträge standen dort im Wettbewerb. Herzlichen Glückwunsch zu diesem Erfolg, der eine gelungene Kombination von Informatik und Psychologie darstellt!

Das psychologische Paper, das auf der Bachelorarbeit von Johannes Hofmeister aufbaut, beschäftigt sich mit einer für Programmierer wichtigen Frage: Soll man Variablennamen kurz (und damit kryptisch: „Z1“) oder lang (und damit besser verständlich: „Zähler_für_Einheiten“) wählen? Das ist vor allem bei der Fehlersuche interessant: Bei welcher Vorgehensweise werden Fehler schneller gefunden? Im Ergebnis zeigt sich, dass Fehlerdiagnostik mit Kürzeln schwerer fällt als mit (verständlichen) Worten und sich der anfängliche Mehraufwand später lohnt. Hier das Abstrakt der Arbeit:

„Programmierer verbringen einen Großteil ihrer Zeit mit dem Lesen und Verstehen von Quellcode. Dabei spielen die Namen von Variablen, Klassen und Funktionen (die sog. Bezeichner) eine entscheidende Rolle. Es gibt viele verschiedene Stile und Vorschläge aus den Programmierer-Communities, wie Bezeichner benannt werden sollten, jedoch fehlt diesen oft eine empirische Grundlage. So bleibt etwa offen, ob Bezeichner besonders lang oder besonders kurz sein sollten, um das Verständnis beim Lesen von Code zu fördern. Befürworter der jeweiligen Stile bringen verschiedene Argumente vor: Besonders kurze Bezeichner seien „weniger zu lesen“ und böten eine bessere Übersicht; Längere Bezeichnern seien jedoch semantisch reichhaltiger und einfacher verstehbar.

In der vorliegenden Arbeit haben wir untersucht, wie sich verschiedene Benennungsstile für Bezeichner auf das Programmverständnis auswirken. Dazu berücksichtigten wir besonders deren Länge und Semantik und identifizierten drei Versuchsbedingungen: Einzelne Buchstaben, Bezeichner, Abkürzungen und Echtworte.

72 professionelle C# Programmierer nahmen an dieser experimentellen Studie teil. Ihre Aufgabe war das Auffinden von inhaltlichen Fehlern (Bugs) in mehreren kurzen Programmcodes. Dabei setzten wir ein Within-Subjects Design ein, indem jedem Teilnehmer mehrere Programme mit den jeweiligen Bezeichner-Stilen präsentiert wurden. Als abhängige Variable wurde die Zeit bis zum Auffinden des Fehlers gemessen.

Die Studie zeigte, dass Fehler in Code mit echten Worten als Bezeichnern im Schnitt zu 19% schneller gefunden wurden (im Vergleich zu Abkürzungen und Buchstaben). Zwischen Abkürzungen und Buchstaben selbst gab es keinen signifikanten Unterschied.

Wir interpretieren unsere Daten als Hinweis darauf, dass Fehler in Programmen schwerer zu finden sind, wenn Code Buchstaben und Abkürzungen als Bezeichner beinhaltet. Worte als Bezeichner scheinen das Programmverständnis zu unterstützen und scheinen der Qualität von Software zuträglich zu sein.“

Quelle: Hofmeister, J., Siegmund, J., & Holt, D. V. (2017). Shorter identifier names take longer to comprehend. In IEEE Proceedings of 24th International Conference on Software Analysis, Evolution, and Reengineering (SANER), February 20-24, 2017 (pp. 217–227). Klagenfurt, Austria (hier als PDF).

Kategorien:

Archive
Kategorien