Software Kriterien für komplexe Software auf dem Prüfstand

Redakteur: Katharina Juschkat

Forscher untersuchen, ob die gängigen Maß zur Bewertung von Software-Komplexität wirklich sinnvoll sind und messen dazu die Gehirn-Auslastung von Probanden.

Firmen zum Thema

Für Software gibt es verschiedene Maße, um die Komplexität zu messen. Diese haben Forscher jetzt auf den Prüfstand gestellt.
Für Software gibt es verschiedene Maße, um die Komplexität zu messen. Diese haben Forscher jetzt auf den Prüfstand gestellt.
(Bild: ©monsitj - stock.adobe.com)

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 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.

Die Forscher haben untersucht, 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. Janet Siegmund resümiert: „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.“

Was macht Software komplex?

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.

Prof. Dr. Janet Siegmund von der TU Chemnitz hat mit einem Team untersucht, wie sich die Gehirn-Auslastung beim Erfasssen von unterschiedlich dichtem Quellcode entwickelt.
Prof. Dr. Janet Siegmund von der TU Chemnitz hat mit einem Team untersucht, wie sich die Gehirn-Auslastung beim Erfasssen von unterschiedlich dichtem Quellcode entwickelt.
(Bild: Juliane Franke/TU Chemnitz)

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.

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.

Untersuchung mit Informatik-Studierenden

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.

Softwaremaße sind ungeeignet

„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 Zusammenhang gäbe, müsste die Stärke der Deaktivierung mit den Werten der Maße korrelieren. Die Forschern fanden allerdings keine beziehungsweise nur eine schwache Korrelation mit dem Maß für Informationsaustausch.

Janet Siegmund fasst zusammen: „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.“

(ID:47469260)