Trotz dichtem Quellcode nicht mehr Gehirn-Auslastung
Von der Professur Software Engineering der TU Chemnitz und einem internationalen Forschungsteam wurde erstmalig mittels bildgebendem Verfahren untersucht, ob sich Softwaremaße zur Vorhersage der Verständlichkeit von Quellcode eignen – Die Ergebnisse wurden mit dem „Distinguished Paper Award" 2021 auf einer der wichtigsten Softwaretechnik-Konferenzen ausgezeichnet
Mit immer komplexerer Programmierung steigt auch der Anspruch zur Erfassung der Informationen im Quellcode für die Programmiererinnen und Programmierer. Um Qualitäts-Aspekte von Software wie Wartbarkeit, Lesbarkeit und Verständlichkeit zu beurteilen, wurden viele Maße entwickelt. Diese werden auch weit verbreitet in der Praxis angewendet. Beispiele für solche Maße sind die Anzahl der Codezeilen (Lines of Code), die Anzahl der möglichen Ausführungspfade nach McCabe, die Größe des definierten Vokabulars nach Halstead oder die Menge der ausgetauschten Informationen nach DepDegree.
Allerdings konnten Zusammenhänge zwischen diesen Maßen und der Qualität der Software bisher nicht ausreichend belegt werden. Existierende Studien (s. Hintergrund im Anschluss an diese Meldung) zeigten vielmehr oft, dass die Vorhersagekraft dieser Maße für die Softwarequalität eher gering ist.
Ein internationales Forschungsteam unter Federführung von Norman Peitek, Doktorand von Prof. Dr. Janet Siegmund, Inhaberin der Professur Software Engineering der Technischen Universität Chemnitz, hat diese Prozesse nun neurobiologisch im Gehirn untersucht. Dabei wurden erstmalig bildgebende Verfahren eingesetzt, um diese Frage zu klären. An dem Projekt beteiligt waren zudem Dr. André Brechmann, Combinatorial NeuroImaging Core Facility des Leibniz-Instituts für Neurobiologie in Magdeburg, Prof. Dr. Sven Apel, Inhaber des Lehrstuhls für Software Engineering an der Universität des Saarlandes, sowie Professor Chris Parnin vom Department of Computer Science der North Carolina State University.
„Wir haben konkret geschaut, ob Quelltexte wirklich zu mehr kognitiver Last führen, wenn die Softwaremaße das implizieren, also wenn zum Beispiel sehr viele Codezeilen oder Ausführungspfade vorhanden sind. Allerdings haben wir kaum einen Zusammenhang feststellen können. Die Anzahl der Codezeilen, Ausführungspfade und definierten Variablen und Operationen zeigen damit keinen Zusammenhang mit der kognitiven Last“, fasst Janet Siegmund zusammen.
Für ihre neuen Erkenntnisse erhielt das Team den Distinguished Paper Award auf der International Conference on Software Engineering 2021. Dieser Preis wird von der Association for Computing Machinery (ACM) nur für die besten Paper einer Konferenz vergeben.
Kognitive Belastung nicht auf Softwaremaße reduzierbar
Es gibt viele Maße in der Softwaretechnik, um die Komplexität beim Verstehen durch die Programmiererin oder den Programmierer vorherzusagen. Dazu gehören zum Beispiel die Anzahl der Codezeilen. Denn je mehr Zeilen ein Code hat, desto schlechter wartbarer, verständlicher oder lesbarer ist er in den bisherigen Annahmen.
Weitere Kategorien sind die Anzahl der möglichen Ausführungspfade, die Anzahl der definierten Variablen und Operationen oder die Informationen, die im Code hin und her geschoben werden. Hier gilt jeweils nach der bisherigen Überzeugung: je mehr, desto schlechter für die Vorhersage.
Ins Gehirn geschaut – Erstmalige Anwendung bildgebender Verfahren für diese Forschungsfrage
Um herauszufinden, ob das tatsächlich zutrifft, schauten Janet Siegmund, Norman Peitek und das Team direkt dorthin, wo die kognitiven Prozesse verarbeitet werden: ins Gehirn. Die Datenerhebung fand am Leibniz-Institut für Neurobiologie im fMRT-Scanner statt, also einem sogenannten Funktionellen Magnetresonanz-Tomographen. Dabei handelt es sich um ein bildgebendes Verfahren, um physiologische Funktionen im Inneren des Körpers sichtbar zu machen. Die fMRT-Scanner werden vor allem eingesetzt, um Funktionen des Gehirns genauer zu untersuchen.
In dieser Untersuchung wurden Studierende in einem Informatik-Studium gebeten, verschiedene kurze Programme zu verstehen und das Ergebnis des Programms zu bestimmen. Um unspezifische Hirnareale zu identifizieren, gab es Kontroll-Aufgaben, bei denen die Probandinnen und Probanden Klammern im Quelltext zählen sollten. Um sie nach einer Aufgabe abzulenken, gab es eine weitere spezielle Aufgabe, sodass die Hirnaktivität wieder auf ein Grundniveau absenken konnte.
Diese Studie wurde akribisch vorbereitet, indem die Quelltexte der eigentlichen Studie ausführlich auf ihre verschiedenen Eigenschaften getestet wurden. So sollte eine gewisse Variation in den Softwaremaßen bestehen, damit die Probandinnen und Probanden die Aufgaben in einer gewissen Zeit lösen konnten und dabei tatsächlich das Verstehen von Quelltext stattfinden konnte. So sollte sichergestellt werden, dass das Ergebnis auch nicht erraten werden kann.
Nur schwacher Zusammenhang zwischen Informationsaustausch und kognitiver Last
„Beim Blick ins Gehirn fiel den Forscherinnen und Forschern auf, dass die typischen Hirnareale, die auch bei den vorigen Studien gefunden wurde, wieder aktiv waren. Das bedeutet, dass das lang geplante Design von Verständnis- und Kontrollaufgaben sehr valide und konsistent ist und eine wichtige Grundlage für die Erforschung kognitiver Prozesse ist. Auch andere Forscherteams haben dieses experimentelle Design bereits angewendet“, erklärt Janet Siegmund.
„Ein wesentliches Ergebnis der Untersuchung war, dass der Informationsaustausch nur schwach mit der kognitiven Last zusammenzuhängen scheint. Das ist nicht ausreichend, um wirklich von einer guten Vorhersage der kognitiven Last sprechen können“, sagt Siegmund. Darüber hinaus schauten sich Forscherinnen und Forscher noch 40 weitere übliche Softwaremaße an. Nirgends fand das Team wirklich stichhaltige Zusammenhänge.
Um zu diesen Ergebnissen zu kommen, schaute das Team darauf, ob eine Korrelation zwischen der Deaktivierung von Arealen aus dem sogenannten „Default Mode Network“ mit den verschiedenen Softwaremaßen gibt. Das Default Mode Network hängt mit der kognitiven Last zusammen. Je stärker man sich konzentriert, desto stärker ist es deaktiviert. Wenn es einen Zusammenhäng gäbe, müsste die Stärke der Deaktivierung mit den Werten der Maße korrelieren. Die Forscherinnen und Forschern fanden allerdings keine beziehungsweise nur eine schwache Korrelation mit dem Maß für Informationsaustausch.
„Unsere Ergebnisse zeigen, dass Softwaremaße eher nicht geeignet sind, um kognitive Prozesse, die für Lesbarkeit, Verständlichkeit, und Wartbarkeit eine wichtige Rolle spielen, zu beschreiben. Das ist ein wichtiger Baustein für die Praxis, in der sich oft auf Softwaremaße verlassen wird, um Entscheidungen über Codequalität zu machen“, fasst Janet Siegmund zusammen.
Hintergrund: Untersuchungen zu den Zusammenhängen zwischen diesen Maßen und der Qualität der Software
Automatically Assessing Code Unerstandability: How Far Are We? Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering. Vo. 153, 2019, Pages 17-26.
DOI: https://doi.org/10.1109/ASE.2017.8115654
Asher Trockman et al.: “Automatically Assessing Code Understandability” Reanalyzed: Combined Metrics Matter: MSR '18: Proceedings of the 15th International Conference on Mining Software RepositoriesMay 2018 Pages 314–318.
DOI: https://doi.org/10.1145/3196398.3196441
Janet Feigenspan, Sven Apel, Jörg Liebig, Christian Kästner. Exploring Software Measures to Assess Program Comprehension. Proceedings of the 5th International Symposium on Empirical Software Engineering and Measurement (ESEM), pages 1–10, paper 3. IEEE Computer Society, 2011. PDF
Hintergrund: Der ACM SIGSOFT Distinguished Paper Award
Der ACM SIGSOFT Distinguished Paper Award kannim Rahmen von Konferenzen vergeben werden. Die International Conference on Software Engineering (ICSE) ist eine der drei wichtigsten internationalen Fachkonferenzen für Softwaretechnik. Insgesamt gab es für diese Konferenz in diesem Jahr 615 Einreichungen. Davon wurden 138 angenommen. Maximal zehn Prozent der akzeptierten Paper können mit dem „ACM SIGSOFT Distinguished Paper Award“ ausgezeichnet werden. In diesem Jahr erhielten 13 Paper diesen Award.
Multimedia: Im Podcast TUCpersönlich spricht Siegmund über dieses besondere Forschungsinteresse, wie sie den Wechsel zwischen Passau, ihrer vorherigen Wirkungsstätte, und Chemnitz erlebt und welche Erfahrungen sie im Ausland gemacht hat.
Weitere Informationen erteilt Prof. Dr. Janet Siegmund, Professur Software Engineering der TU Chemnitz, Tel. +49 371 531 34310, E-Mail janet.siegmund@informatik.tu-chemnitz.de.
Matthias Fejes
29.04.2021