Detailseite
Projekt Druckansicht

LIVE: Empirische Studien über die Auswirkungen von Liveness auf das Programmieren

Fachliche Zuordnung Softwaretechnik und Programmiersprachen
Förderung Förderung von 2020 bis 2024
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 449591262
 
Erstellungsjahr 2024

Zusammenfassung der Projektergebnisse

Liveness in Programmierwerkzeugen ist der Eindruck, ein Programm zu verändern, während es läuft. Viele Werkzeuge einschließlich kommerzieller Programmiersysteme wie MS Excel und Jupyter Notebooks unterstützen Liveness. Während Werkzeugentwickelnde annehmen, dass Liveness die Programmiererfahrung verbessert, ist diese Annahme nur unzureichend empirisch belegt. Dieses fehlende Wissen kann dazu führen, dass Liveness nicht bestmöglich eingesetzt wird und so unnötiger Entwurfs- und Implementierungsaufwand entsteht. In diesem Projekt haben wir untersucht, wie Live-Werkzeuge das Debugging beeinflussen. In zwei kontrollierten Experimenten untersuchten wir die Auswirkungen von Aufgabenkomplexität und verzögerten Interaktionen auf den Einfluss von Live-Werkzeugen. Im Gegensatz zu früheren Experimenten hatten unsere Teilnehmenden substanzielle Erfahrung mit diesen. Das erste Experiment testete, ob der Einfluss von Live-Werkzeugen auf die Debugging-Dauer bei einfachen und komplexen Aufgaben unterschiedlich ist. Das Experiment hat gezeigt, dass Live-Werkzeuge die Debugging-Dauer signifikant verkürzen. Die Haupthypothese, dass die Aufgabenkomplexität den Effekt beeinflusst, hat sich nicht bestätigt. Dennoch weisen die Ergebnisse darauf hin, dass die Aufgabenkomplexität die Auswirkungen beeinflusst, allerdings weniger als der Pilot vermuten ließ. Für Forschende und Entwickelnde zeigen die Ergebnisse, dass Programmierende von Live-Werkzeugen profitieren können, aber auch, dass die Aufgabenkomplexität und die Erfahrung der Teilnehmenden mit Liveness beim Planen von Studien oder der Entwicklung von Werkzeugen berücksichtigt werden sollten. Mit dem zweiten Experiment wollten wir die Ergebnisse des ersten Experiments besser verstehen. Nach der Information-Foraging-Theorie gingen wir davon aus, dass Live-Werkzeuge die wahrgenommenen Kosten für den Zugriff auf dynamische Informationen verringern, sodass Programmierende häufiger auf sie zugreifen, wenn sie hilfreich sind. Daher haben wir getestet, ob Programmierende Live-Werkzeuge seltener verwenden, wenn der Zugriff auf sie durch eine künstliche Verzögerung erschwert wird. Die erhobenen Daten reichen nicht für eine volle Analyse, zeigen aber auch keinen deutlichen Rückgang der Nutzung. Eine laufende post hoc-Analyse anhand von Edit-Run-Zyklen deutet jedoch darauf hin, dass sich die Arbeitsabläufe der Teilnehmenden verändert haben. Um andere Forschende darin zu unterstützen, die Komplexität der Aufgaben in ihren Studien zu verstehen und zu formen, haben wir eine Sammlung von Faktoren erstellt und publiziert, die dabei hilft, die Komplexität von Programmwartungsaufgaben zu beeinflussen. Diese Sammlung erlaubt es Forschenden, sich bewusst für ein Komplexitätsniveau ihrer Aufgaben zu entscheiden. Außerdem führte unser Projekt zu einem neuartigen Konzept, Debugging durch Wettbewerbe zu lehren, und zu verbesserten Anordnungen für weitere Liveness-Studien in unserer Gruppe.

Projektbezogene Publikationen (Auswahl)

 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung