In der Praxis der Softwareentwicklung und in der Software-Engineering-Forschung spielt Software-Qualität jenseits der funktionalen Korrektheit der Software eine wichtige Rolle. Qualitätsmerkmale wie Robustheit, Performanz, Wartbarkeit und Verständlichkeit tragen erheblich dazu bei, dass Software langfristig produktiv eingesetzt, sicher betrieben und leicht gepflegt werden kann. Programmieranfängerinnen und -anfänger neigen jedoch dazu, die funktionale Korrektheit von Software als alleiniges Kriterium für die erfolgreiche Bearbeitung einer Aufgabe zu betrachten, so dass der resultierende Programmcode oft eine unterdurchschnittliche Qualität aufweist. Dazu trägt sehr wahrscheinlich auch bei, dass gängige Lehr-Werkzeuge zur automatischen Bewertung von Übungs- und Prüfungsaufgaben oft ebenfalls nur automatisierte Tests auf funktionale Korrektheit anbieten. Zuweilen treten noch einfache Rückmeldungen auf Basis von Software-Metriken hinzu, die jedoch für Lernende möglicherweise nicht verständlich oder nur schwer in konkrete Verbesserungsmöglichkeiten umzusetzen sind. Schließlich gibt es noch automatisierte Ansätze zur Prüfung des Code-Stils, die primär die Lesbarkeit und Verständlichkeit von Programmcode bewerten und damit nur eine Teilmenge der relevanten Qualitätsmerkmale abdecken. Allen diesen Ansätzen ist zudem gemein, dass sie sich auf die Erkennung und Benennung von Schwachstellen konzentrieren und diese gegebenenfalls mit einer Bewertung oder einer konkreten Aufforderung zur Behebung des Mangels verknüpfen. Bei Lernenden entsteht dadurch leicht der Eindruck, dass sie lediglich diese Liste von Mängeln abarbeiten müssen, um ihren Programmcode in einen "perfekten" Zustand zu versetzen. Eine tiefere Reflektion der Mängel, die das Verständnis für Qualitätsmerkmale erhöht und damit nachhaltig zu einer Verbesserung der Leistung beiträgt, bleibt dadurch möglicherweise aus.
Um diese Situation zu verbessern untersucht das Labor für Bildungstechnologie der Hochschule Trier gemeinsam mit der Forschungsgruppe "Technology-Enhanced Learning" der Ludwig-Maximilians-Universität München im von der Deutschen Forschungsgemeinschaft (DFG) geförderten Projekt "QualiQuest", wie Lernende bei der Bearbeitung von Programmieraufgaben dazu angeleitet werden können, gezielt über Qualitätsmerkmale ihrer Lösungen nachzudenken. Dazu werden Verfahren entwickelt und erprobt, mit denen spezifische Rückfragen zu eingereichtem Programmcode erzeugt werden können, um Qualitätsaspekte individuell zu adressieren. Zum Einsatz kommen dabei sowohl klassische Verfahren der statischen und dynamischen Programmanalyse als auch moderne KI-Verfahren. Ein besonderes Augenmerk des Projekts liegt darauf, dass die Beantwortung der Fragen wiederum automatisiert ausgewertet und mit Feedback versehen werden kann, um so eine tatsächliche Reflektion und Diskussion von Qualitätsmerkmalen anhand individueller Fälle anzuregen. Ziel ist es, die nachhaltige Verbesserung der Software-Qualität nahtlos und auf skalierbare Weise in einen computergestützten Übungsprozess zu integrieren.
Projektpartner:
Laufzeit des Projekts: 12/2024 - 11/2027
Förderinformationen: https://gepris.dfg.de/gepris/projekt/528518019
Sie verlassen die offizielle Website der Hochschule Trier