=Paper= {{Paper |id=None |storemode=property |title=Analyse von Programmieraufgaben durch Softwareproduktmetriken |pdfUrl=https://ceur-ws.org/Vol-956/S2_Paper3.pdf |volume=Vol-956 |dblpUrl=https://dblp.org/rec/conf/seuh/StrieweG13 }} ==Analyse von Programmieraufgaben durch Softwareproduktmetriken== https://ceur-ws.org/Vol-956/S2_Paper3.pdf
 Analyse von Programmieraufgaben
  durch Softwareproduktmetriken
                                   Michael Striewe, Michael Goedicke
                                        Universität Duisburg-Essen
                         {michael.striewe,michael.goedicke}@s3.uni-due.de


Zusammenfassung                                            Softwaremetriken zur Beobachtung des Lernprozes-
                                                           ses und der dabei erzeugten Produkte einsetzbar sind.
Der Einsatz von Softwareproduktmetriken zur Beob-
                                                           Der vorliegende Artikel stellt letzteres in den Fokus
achtung und Beurteilung von Softwareprojekten ist
                                                           und befasst sich daher ausschließlich mit Softwarepro-
ein oft diskutiertes Thema. Es gibt vielfältige Vor- und
                                                           duktmetriken. Aus praktischen Erwägungen heraus
Nachteile, die beim Einsatz zu berücksichtigen sind.
                                                           beziehen sich die im Folgenden diskutierten Ansätze
Der vorliegende Artikel diskutiert an Fallbeispielen,
                                                           und Ergebnisse auf Anfängervorlesungen zur Program-
wie Metriken zur Lehrunterstützung in einer Lehr-
                                                           mierung. Eine Generalisierung auf fortgeschrittene
veranstaltung zur Programmierung genutzt werden
                                                           Lehrveranstaltungen zur Programmierung sowie Soft-
können.
                                                           ware Engineering im Allgemeinen bedarf zweifellos
                                                           weiterer Forschungsarbeit, die weit über den Rahmen
Einleitung                                                 dieses Artikels hinaus geht.
Softwareentwicklung kann über Kennzahlen, die                Der Artikel ist wie folgt gegliedert: Zunächst werden
durch den Einsatz von Metriken erhoben werden, be-         einige Szenarien skizziert, in denen Metriken zur Lehr-
obachtet und bewertet werden. Dabei kann sowohl            unterstützung angewandt werden können. Im selben
das entwickelte Softwareprodukt als auch der Entwick-      Abschnitt werden zudem grundsätzliche Analyseme-
lungsprozess Ziel der Beobachtung und Bewertung            thoden und existierende Ansätze genannt. Anschlie-
sein (Conte u. a., 1986). Der Einsatz von Metriken         ßend werden Metriken vorgestellt, die bei der Analyse
wird vielfach kritisch diskutiert: Auf der einen Seite     von Programmieraufgaben genutzt werden können.
steht die Aussage, dass ohne Messung keine Kontrolle       Danach werden mehrere Fallbeispiele diskutiert, in
möglich ist (z.B. (DeMarco, 1986)) und auf der ande-       denen eine Auswahl der Metriken auf tatsächliche
re Seite die Erkenntnis, dass die Messung das Ergebnis     Lösungen von Programmieraufgaben angewandt wur-
selber beeinflussen kann und viele Metriken gar nicht      den. Aus den daraus gewonnenen Erkenntnissen wird
das messen, was sie zu messen vorgeben (z.B. (Kaner        am Ende des Beitrags ein Fazit gezogen.
u. Bond, 2004)). Insgesamt kann der Einsatz von Soft-
waremetriken aber als etabliert betrachtet werden.         Szenarien, Methoden und Verwandte
   Nicht nur in der industriellen Praxis, sondern auch     Arbeiten
in der Lehre werden Softwareprodukte entwickelt.           Es sind verschiedene Einsatzszenarien denkbar, in de-
Es handelt sich hierbei zwar nicht um Produkte im          nen Softwareproduktmetriken bei der Analyse von
ökonomischen Sinne, aber doch um Artefakte, de-            Programmieraufgaben und ihren Lösungen zum Ein-
ren Eigenschaften mit denselben Metriken messbar           satz kommen können. Sie unterscheiden sich sowohl
sind. Zudem ist der Begriff der Kontrolle in Form von      nach ihrer Zielsetzung als auch der Analysebasis: Als
Lernfortschrittskontrollen ein zentraler Bestandteil       Zielsetzung gibt es die Rückmeldung an die Studieren-
der Lehre. Es erscheint daher sinnvoll, Werkzeuge zur      den, die Rückmeldung an die Lehrenden und die sys-
Unterstützung der Lehre zu konzipieren, mit denen          teminternen Nutzung zur automatischen Steuerung
Kennzahlen automatisch gewonnen und analysiert             von Lernprozessen, während bei der Analysebasis zu
werden können. Dies ist insbesondere in E-Learning-        unterscheiden ist, ob Aussagen über eine individuelle
und Blended-Learning-Szenarien wichtig, in denen ei-       Lösung oder die Gesamtheit der Lösungen einer Auf-
ne (teil-)automatisierte Führung durch den Lernstoff       gabe getroffen werden sollen. Aus diesen Merkmalen
angeboten werden soll und daher nicht immer ein            lassen sich zahlreiche Kombinationen bilden, z.B.:
Lehrender zur Verfügung steht, der die Leistungsfähig-
keit seiner Studierenden einschätzt und ihnen passen-      •   Durch die Analyse einzelner Lösungen und die
de Übungsaufgaben zuweist. Um hier eine Automa-                Aufbereitung der Ergebnisse für die Studierenden
tisierung zu erreichen sollte untersucht werden, wie           können Aussagen zum Verhältnis von studenti-




   A. Spillner, H. Lichter (Hrsg.): SEUH 13                                                                59
    scher Lösung und Musterlösung getroffen werden.       gespannt, der dann untersucht wird. Die Analyse des
    Studierenden kann so zum Beispiel der Hinweis         Raumes kann dabei wie oben skizziert auf Software-
    gegeben werden, dass ihre Lösung zwar alle funk-      produktmetriken basieren, oder aber auch auf Ähnlich-
    tionalen Anforderungen erfüllt, jedoch deutlich       keitsmaßen zwischen Lösungen. Ein möglicher Ein-
    umfangreicher als die Musterlösung ist. Dies muss     satzbereich ist dabei die Plagiatserkennung, bei der es
    nicht mit einer negativen Bewertung der Lösung        nicht um die Eigenschaften der Lösungen selber geht,
    einhergehen, sondern kann auch als Hinweis ver-       sondern nur um die Nähe der Lösungen zueinander
    standen werden, der die Studierenden zur Verbes-      (Leach, 1995). Die Nützlichkeit von Maßvergleichen
    serung ihrer Lösung anregen soll.                     in diesem Bereich ist jedoch strittig, so dass es auch
                                                          zahlreiche Ansätze gibt, die Textvergleiche heranzie-
•   Durch die Analyse aller Lösungen und die Aufbe-       hen.
    reitung der Ergebnisse für die Studierenden kann         Der Einsatz von Softwareproduktmetriken zur Qua-
    diesen angezeigt werden, ob sie eine typische Lö-     litätssicherung und Unterstützung der Benotung wur-
    sung gewählt haben, oder ob sie sich in bestimm-      de ebenfalls schon in Ansätzen untersucht (Mengel
    ten Merkmalen deutlich von anderen Lösungen           u. Yerramilli, 1999). Rückt die Kontrolle des Lernfort-
    unterscheidet. Auch dies kann den Studierenden        schritts oder die Generierung von Rückmeldungen in
    einen Hinweis darauf geben, in welche Richtung        den Fokus, können auch komplexe mathematische Ver-
    sie ihre Lösungen verbessern können.                  fahren oder maschinelles Lernen zum Einsatz kommen
•   Lehrende können dieselben Daten nutzen, um            (Martín u. a., 2009; Gross u. a., 2012). Im vorliegen-
    Häufungen bei Lösungsmerkmalen zu entdecken           den Beitrag werden jedoch einfachere Techniken der
    und damit einander ähnliche Lösungen zu finden.       Datenanalyse eingesetzt.
    Handelt es sich dabei um Fehlerschwerpunkte,
    können diese in Lehrveranstaltungen gezielt auf-      Einige Metriken
    gegriffen werden. Handelt es sich dagegen um          Bei Softwareproduktmetriken wird zwischen Metri-
    gute Lösungen, die jedoch von der Musterlösung        ken zur Messung von Umfang und Größe, Metriken
    messbar abweichen, kann dies Hinweise auf einen       zur Messung von Struktur und Komplexität sowie
    alternativen Lösungsweg geben, der in einer zwei-     Metriken zur Messung von Anwendung und Nutzen
    ten Musterlösung berücksichtigt werden könnte.        unterschieden. Die ersten beiden Kategorien lassen
                                                          sich dabei den sogenannten internen Attributen von
•   Ebenfalls durch die Analyse aller Lösungen und        Softwareartefakten zuordnen, während die dritte Ka-
    den Vergleich dieser Mengen über verschiedene         tegorie sogenannte externe Attribute berücksichtigt
    Aufgaben hinweg können Aussagen über generel-         (Conte u. a., 1986; Fenton u. Pfleeger, 1998). Da in
    le Merkmale der jeweiligen Aufgaben getroffen         letzterer Kategorie die Interaktion eines Artefakts mit
    werden. Zum Beispiel lässt sich so der minimale       der Umwelt (d.h. zum Beispiel die Nutzerfreundlich-
    Umfang einer korrekten Lösung ableiten oder Auf-      keit) gemessen wird, kann diese für die automatisierte
    gaben können anhand des Mittelwertes verschie-        Generierung von Kennzahlen nur begrenzt verwendet
    dener Kennzahlen miteinander verglichen werden.       werden.
    Letzteres ist insbesondere auch in vollautomati-         Im Folgenden werden einige Softwareproduktmetri-
    sierten Systemen nutzbar, die auf diese Weise rele-   ken vorgestellt, die für die Anwendung auf Programm-
    vante Eigenschaften von Aufgaben lernen können.       code in objekt-orientierten Programmiersprachen ge-
  Die letzte Kategorie steht im Fokus des vorliegen-      eignet sind. Dabei wird insbesondere untersucht, ob
den Beitrags. Dabei wird davon ausgegangen, dass          sie speziellen Anforderungen aus dem Kontext von
der Einsatz von Metriken in diesem Fall nur dann          Lehrveranstaltungen gerecht werden:
zu aussagekräftigen Ergebnissen kommt, wenn eine
                                                          •   Da in Übungsaufgaben häufig Codevorlagen ein-
größere Menge von Aufgabenlösungen analysiert wer-
                                                              gesetzt werden, muss der Einfluss des vorgegebe-
den kann. Erst dann erscheint eine Verallgemeinerung
                                                              nen Programmcodes auf das Ergebnis der Metrik
der durch Kennzahlen gewonnen Aussagen auf die
                                                              zuverlässig bestimmt werden können, um eine
Aufgabe insgesamt sinnvoll, da in einer freien Auf-
                                                              Verfälschung oder Verwässerung der Ergebnisse
gabenform wie Programmieraufgaben eine zu kleine
                                                              zu verhindern.
Stichprobe kaum als repräsentativ angesehen werden
kann. Aus der Gesamtheit aller Kennzahlen für eine        •   Die Metriken müssen zudem geeignet sein, die
große Menge von Lösungen sind dagegen Aussagen                Verfolgung eines didaktisch sinnvollen Ziels zu
über die Aufgabe zu erwarten, die beispielsweise auch         unterstützen, d.h. Kennzahlen liefern, die im Rah-
zur Qualitätssicherung genutzt werden können, wenn            men der Lehre überhaupt relevant sind.
Aufgaben zu einem späteren Zeitpunkt erneut einge-
setzt werden sollen.                                      Anzahl der Anweisungen
  Bei der Analyse von großen Mengen von Lösungen          Die Zählung der Anweisungen im Programmcode
wird durch diese in der Regel ein Lösungsraum auf-        („statements“ in Abgrenzung zu „expressions“) stellt




    60                                                             A. Spillner, H. Lichter (Hrsg.): SEUH 13
eine sehr einfache Umfangsmetrik dar. Im Gegensatz        Zyklomatische Komplexität
zur Zählung von Codezeilen („lines of code“) hat sie      Die zyklomatische Komplexität (McCabe, 1976) ist
den Vorteil, dass sie resistent gegenüber Formatie-       eine Metrik zur Komplexität des Kontrollflussgraphen
rungsänderungen am Programmcode ist und die Län-          eines Programms. Sie basiert auf der Anzahl der Kno-
ge eventueller Code-Kommentare nicht berücksichtigt.      ten und Kanten dieses Graphen und damit auf der
Das Ergebnis dieser Metrik wird daher nur durch tat-      Entscheidungsstruktur des Programms. Das Ergebnis
sächliche inhaltliche Änderungen am Programmcode          entspricht der maximalen Anzahl linear unabhängiger
beeinflusst. Allerdings haben nicht alle Änderungen       Pfade eines Programms und ist damit insbesondere
am Programmcode Einfluss auf die Metrik, da Erwei-        unabhängig vom Hinzufügen oder Entfernen von An-
terungen oder Vereinfachungen an Ausdrücken („ex-         weisungen, die keine Entscheidungsknoten darstellen.
pressions“) nicht berücksichtigt werden.                  Sie gehört damit zu den Metriken, die die logische
  Die Metrik kann auch bei Aufgaben mit vorgegebe-        Struktur eines Programms unabhängig von seinem
nen Codevorlagen verwendet werden, da die Anzahl          Umfang beurteilen.
der dort vorgegebenen Anweisungen ebenfalls gemes-           Wie die oben diskutierte Anzahl der Anweisungen
sen und gegebenenfalls vom Ergebnis für studentische      kann auch diese Metrik bei Aufgaben mit vorgege-
Lösungen abgezogen werden kann. Ferner können             benen Codevorlagen verwendet werden, indem die
die Kennzahlen didaktisch verwendet werden, da die        Komplexität dieser Vorlagen vorab bestimmt wird. Da
Vermeidung unnötig aufwändiger und umfangreicher          die Vermeidung unnötig komplexer Lösungen zu den
Lösungen zu den Lernzielen einer Veranstaltung ge-        Lernzielen einer Veranstaltung gehören kann, lassen
hören kann. Zudem hilft die Metrik zum Beispiel bei       sich die Ergebnisse der Metrik auch direkt verwenden.
der Bestimmung der Schwierigkeit einer Aufgabe, da           Die Metrik lässt sich auch ohne Aufbau des komplet-
mehr Anweisungen im Programmcode in der Regel             ten Kontrollflussgraphen eines Programms berechnen,
einen erhöhten Zeitaufwand bei der Erstellung der         indem alle if-Abfragen, bedingten Ausdrücke, Schlei-
Lösung bedeuten.                                          fen, case-Anweisungen, catch-Anweisungen (für Ja-
                                                          va) und logische Operatoren gezählt werden.
Halstead-Metriken
                                                          Objektorientierte Metriken
Die nach ihrem Autor benannten Halstead-Metriken
(Halstead, 1977) basieren ebenfalls auf der Messung       Es gibt weitere, speziell auf die Messung typischer
der Länge eines Programms, ziehen aber zusätzlich         Eigenschaften objektorientierter Programme ausge-
noch die Menge der verschiedenen verwendeten Ope-         richtete Metriken, z.B. zur Kopplung zwischen Klas-
ratoren und Operanden in Betracht. Somit kann nicht       sen, Kohäsion innerhalb von Klassen oder Sichtbarkeit
nur der Umfang des Programms (Summe der Anzahl            von vererbten Methoden (e Abreu u. Carapuça, 1994;
der Operanden und Operatoren), sondern auch der           Chidamber u. Kemerer, 1994). Da einige dieser Me-
Umfang des verwendeten sogenannten Vokabulars             triken so definiert sind, dass sie vom Umfang eines
(Anzahl unterschiedlicher Operanden und Operato-          Programms unabhängig sind, lassen sie sich zur Be-
ren) bestimmt werden. Beide Werte können verschie-        wertung der Komplexität und logischen Struktur eines
den miteinander in Beziehung gesetzt werden.              Programms verwenden.
                                                             Ähnlich wie bei den oben diskutierten Halstead-
  Bei der Analyse von Programmieraufgaben mit die-
                                                          Metrik besteht die Schwierigkeit, dass die ermittelten
ser Metrik ergibt sich das Problem, dass der Umfang
                                                          Merkmale bei Programmieraufgaben durch Codevor-
des Vokabulars durch die Codevorlage nach unten
                                                          lagen weitgehend vorgegeben sein könnten. Gerade
begrenzt ist, auch wenn die Studierenden selber in
                                                          in Anfängervorlesungen ist es üblich, z.B. Felder einer
ihrem Code ein kleineres Vokabular verwenden. Bei
                                                          Klasse und Methodensignaturen vorzugeben und nur
der Berechnung der Metrik müsste daher sorgfältig
                                                          die Methodenrümpfe programmieren zu lassen. Zu-
zwischen dem vorgegebenen Code und dem von Stu-
                                                          dem sind solche Aufgaben in der Regel so begrenzt,
dierenden erstellten Code getrennt werden, was je
                                                          dass die zu erstellenden Beziehungen zwischen Klas-
nach Komplexität der Codevorlage nicht immer sau-
                                                          sen überschaubar sind und die Studierenden kaum
ber möglich ist. Zudem ist nicht offensichtlich, ob der
                                                          Wahlmöglichkeiten haben. Erst bei Aufgaben mit deut-
Umfang des Vokabulars in direkten Bezug zu einem
                                                          lich mehr Freiheit für die Studierenden können diese
möglichen Lernziel gesetzt werden kann. Bestenfalls
                                                          Metriken daher sinnvoll angewandt werden. Dann al-
kann noch angenommen werden, dass den Studieren-
                                                          lerdings lassen sie sich gut in Beziehung zu einzelnen
den mit fortschreitenden Programmierkenntnissen ein
                                                          Lernzielen setzen, da zum Beispiel die Erzielung einer
größeres Vokabular bekannt ist, dass bei schwierigen
                                                          hohen Kohäsion ein direktes Thema des objektorien-
Aufgaben dann auch zum Einsatz kommt. Da Aufga-
                                                          tierten Designs sein kann.
ben jedoch oft auch auf ein begrenztes Thema (z.B.
Implementierung von Vererbungsstrukturen) abzielen,
kann nicht einmal vorausgesetzt werden, dass fort-        Fallbeispiele
geschrittene Aufgaben tatsächlich ein umfangreiches       Im Folgenden wird an einigen Fallbeispielen diskutiert,
Vokabular erfordern.                                      wie konkrete Fragestellungen aus dem Aufgabenent-




   A. Spillner, H. Lichter (Hrsg.): SEUH 13                                                               61
wurf für eine Lehrveranstaltung durch den Einsatz         unterschiedliche Lösungen dieselben Kennzahlen auf-
von Metriken beantwortet werden können. Als Metri-        weisen können und an derselben Position sowohl be-
ken kommen dabei stets die zyklomatische Komple-          standene als auch nicht bestandene Lösungen liegen
xität und die Anzahl der Anweisungen zum Einsatz,         können.
d.h. eine Kombination aus Umfangs- und Komplexi-             Es ist zu erkennen, dass die erste Übungsaufgabe
tätsbeobachtung. Auf die Verwendung von speziellen        (Abbildung 1; im Folgenden entsprechend der Benen-
objektorientierten Metriken wurde verzichtet, da al-      nung in der Lehrveranstaltung als „Miniprojekt 4“ be-
le untersuchten Daten aus einer Anfängervorlesung         zeichnet) im Vergleich zu den anderen Aufgaben den
stammen.                                                  geringsten Freiheitsgrad aufweist. Fast alle Lösungen
   Alle Fallbeispiele beziehen sich auf Aufgaben aus      liegen in einem kompakten Bereich zwischen 200 und
der Erstsemestervorlesung „Programmierung“ im Win-        etwas mehr als 300 Anweisungen und weisen einen
tersemester 2011/12 . Bei allen Aufgaben wurde die        Komplexitätswert zwischen knapp 70 und 100 auf. Die
Einreichung von Lösungen in der Programmiersprache        untere Grenze des Bereichs ergibt sich dabei automa-
Java erwartet und den Studierenden war es erlaubt,        tisch aus Umfang und Komplexität der bereitgestellten
beliebig viele Lösungen zu einer Aufgabe einzurei-        Codevorlage.
chen. Bei einzelnen Aufgaben kamen so bis zu 1400            Einen deutlich höheren Freiheitsgrad weist Minipro-
Lösungen zusammen, wobei im Schnitt 3,6 Lösun-            jekt 5 (Abbildung 2) auf. Umfang und Komplexität der
gen pro Studierendem eingingen. Für die Analysen          Codevorlage entsprachen zwar in etwa den Werten
wurden solche Lösungen ausgefiltert, bei denen die        aus Miniprojekt 4, aber die Lösungen verteilen sich in
Metriken aufgrund von syntaktischen Fehlern im Pro-       einem deutlich größeren Raum. Bis zu einem Umfang
grammcode nicht bestimmt werden konnten. Dupli-           von 700 Anweisungen und einem Komplexitätswert
kate von Lösungen wurden nicht ausgefiltert, führen       von 200 ist der gesamte Lösungsraum abgedeckt, je-
aber zwangsläufig zu identischen Ergebnissen in den       doch in einem ähnlich schmalen Band wie bei Mini-
Metriken. Die Einreichung der Lösungen durch die          projekt 4. Dass es sich bei beiden Aufgaben um echte
Studierenden und die Berechnung der Kennzahlen            Freiheitsgrade und nicht nur die notwendige Differenz
aus den Metriken erfolgte über das Werkzeug JACK          zwischen unvollständiger Codevorlage und minima-
(Striewe u. a., 2009). Die Kennzahlen wurden den          ler korrekter Lösung handelt zeigt sich dadurch, dass
Studierenden nicht mitgeteilt, sondern nur für die        es in beiden Aufgaben bereits im unteren Drittel der
rückblickende Analyse nach dem Semester verwen-           gemessenen Werte bestandene Lösungen gibt.
det.                                                         Dieselbe Beobachtung gilt auch für Miniprojekt 6
                                                          (Abbildung 3), auch wenn hier weniger hohe Werte
Freiheitsgrade von Aufgaben                               für die Zahl der Anweisungen erreicht werden. Bemer-
Beim Stellen von Übungs- und Prüfungsaufgaben ist         kenswert ist hier jedoch die etwas breitere Streuung
relevant, wie viele Freiheitsgrade die Aufgaben den       des Korridors, in dem die Lösungen liegen. Während
Studierenden beim Erstellen einer Lösung lassen. Je       in den ersten beiden betrachteten Aufgaben also eine
enger begrenzt die Aufgabenstellungen sind, desto         recht starke Korrelation zwischen Umfang und Kom-
leichter sind sie in der Regel zu korrigieren, da sich    plexität galt, lässt diese Aufgabe den Studierenden
die Lehrenden in weniger verschiedene Lösungsan-          mehr Freiheiten zu umfangreicheren, aber weniger
sätze hineindenken müssen. Welche didaktischen Vor-       komplexen Lösungen beziehungsweise kleineren, aber
und Nachteile sich aus eng begrenzten oder freieren       komplexeren Ansätzen.
Aufgaben ergeben und in welcher Phase des Lern-              Bis hierhin kann also festgehalten werden, dass die
prozesses welche Aufgaben am besten geeignet sind,        Messung der Zahl der Anweisungen und der zyklo-
soll hier nicht weiter diskutiert werden. Stattdessen     matischen Komplexität es erlaubt, Aussagen über den
soll beleuchtet werden, wie durch die Anwendung           Freiheitsgrad einer Aufgabe zu treffen und somit ge-
von Softwareproduktmetriken für Umfang und Kom-           gebenenfalls gezielt Aufgaben auszuwählen.
plexität überhaupt gemessen werden kann, welchen             Als Nebenbemerkung ist in allen drei Fällen zu be-
Freiheitsgrad eine Aufgabe hat.                           obachten, dass es in der „oberen“ Hälfte der Verteilung
   Die Abbildungen 1 bis 3 zeigen drei Verteilungsdia-    (d.h. in der jeweils oberen Hälfte des Wertebereichs
gramme für Lösungen zu drei Übungsaufgaben, die           der beiden verwendeten Metriken) je einen Punkt mit
in der zweiten Hälfte des Wintersemesters 2011/12         einer besonders hohen Zahl von Lösungen gibt, der bis
gestellt wurden und die durch die Studierenden als        zu knapp 20% aller Lösungen repräsentiert. Für diese
Hausaufgaben bearbeitet wurden. Aufgetragen sind          auffällige Häufung konnten zwei Ursachen ermittelt
jeweils Kreise, deren Position sich aus der Anzahl der    werden: Zum einen konnten sich Studierende wäh-
Anweisungen und der zyklomatischen Komplexität er-        rend der Bearbeitungsphase der Aufgabe Ratschläge
gibt. Je mehr Lösungen auf dieselbe Position fallen,      und Hilfestellung von Tutoren holen, die sich ihrer-
umso größer ist der dort dargestellte Kreis. Dabei wird   seits an der Musterlösung einer Aufgabe orientierten.
unterschieden, ob die Lösung als bestanden gewertet       Die Merkmale dieser Musterlösung lassen sich in der
wurde oder nicht. Insbesondere ist zu beachten, dass      Verteilung der studentischen Lösungen entsprechend




   62                                                              A. Spillner, H. Lichter (Hrsg.): SEUH 13
Abbildung 1: Verteilungsdiagramm für 1309 Lösungen zu einer Übungsaufgabe („Miniprojekt 4“). Größere Kreise
bedeuten mehr Lösungen mit denselben metrischen Kennzahlen. Es wurden maximal 43 Lösungen mit denselben
Kennzahlen eingereicht.




Abbildung 2: Verteilungsdiagramm für 815 Lösungen zu einer Übungsaufgabe („Miniprojekt 5“). Größere Kreise
bedeuten mehr Lösungen mit denselben metrischen Kennzahlen. Es wurden maximal 155 Lösungen mit denselben
Kennzahlen eingereicht.




   A. Spillner, H. Lichter (Hrsg.): SEUH 13                                                          63
Abbildung 3: Verteilungsdiagramm für 600 Lösungen zu einer Übungsaufgabe („Miniprojekt 6“). Größere Kreise
bedeuten mehr Lösungen mit denselben metrischen Kennzahlen. Es wurden maximal 85 Lösungen mit denselben
Kennzahlen eingereicht.


wiederfinden. Zum anderen kursierten in den studenti-     senen Verhältnis zum zugehörigen Miniprojekt stehen
schen Internetforen inoffizielle Musterlösungen, an de-   und tatsächlich einen Ausschnitt aus diesem bilden.
nen sich ebenfalls Studierende orientiert haben. Wie         Um den Studierenden den Einstieg in die Testatauf-
oben beschrieben, wurden die Daten nicht um Plagia-       gaben zu erleichtern und zudem grobe Fehler beim
te bereinigt. Stichproben zeigten jedoch, dass es sich    Stellen der Testataufgaben zu vermeiden, orientierten
bei den Anhäufungen nicht ausschließlich um Plagiate      sich diese sehr eng an den zugehörigen Miniprojek-
einer einzelnen Lösung handelt.                           ten. Es kam stets eine sehr ähnliche Codevorlage zum
                                                          Einsatz und auch der narrative Kontext der Aufgabe
Relatives Aufgabenniveau                                  war stets identisch mit dem des Miniprojektes. Der
Das didaktische Konzept der untersuchten Lehrver-         eigentliche Kern der Aufgabe war den Studierenden
anstaltung sah vor, dass zu jedem der oben disku-         jedoch nicht vorab bekannt, d.h. es musste im Testat
tierten Miniprojekte eine kleinere Prüfungsaufgabe in     immer Funktionalität implementiert werden, die im
Form eines Testats gestellt wird. Dieses war jeweils      Miniprojekt nicht diskutiert wurde. Daraus ergeben
innerhalb von 45 Minuten im PC-Pool der Universi-         sich auch die Risiken bei der Aufgabenstellung, die
tät unter Prüfungsbedingungen zu bearbeiten. Da der       es durch den Einsatz von Metriken abzuschätzen gilt:
PC-Pool nicht ausreichend viele Plätze bietet, um alle    Zum einen können unterschiedliche Funktionalitäten
Studierenden gleichzeitig zu prüfen, mussten die Tes-     mehr oder weniger Aufwand erfordern, was einzelnen
tate in Gruppen abgenommen werden. Daher mussten          Gruppen Vor- bzw. Nachteile bringt und zum anderen
stets mehrere Aufgabenvarianten erstellt werden, da-      kann die Funktionalität in Relation zum Miniprojekt
mit Teilnehmer der ersten Gruppe nicht Details der        eher aufwendig oder eher einfach zu implementieren
Aufgabenstellung an die späteren Gruppen weiterge-        sein. Die konzeptionelle Arbeit, die von den Studieren-
ben konnten. Aus diesem Szenario ergeben sich zwei        den beim Entwurf ihrer Lösung erbracht werden muss,
Anforderungen, die die Überprüfung eines relativen        lässt sich freilich über die Metriken des Ergebnisses
Aufgabenniveaus sinnvoll erscheinen lassen: Erstens       nicht bestimmen und folglich in den Betrachtungen
muss sichergestellt sein, dass durch die verschiedenen    auch nicht berücksichtigt werden.
Varianten keine Gruppe benachteiligt wird, indem ih-        Die Abbildungen 4 und 5 zeigen die Verteilungsdia-
re Aufgabe mehr Aufwand erfordert als die Aufgaben        gramme zu zwei Varianten von Testat 4. Die Verteilung
anderer Gruppen. Zweitens muss sichergestellt sein,       der dritten Variante, an der deutlich weniger Studie-
dass die Testataufgaben insgesamt in einem angemes-       rende teilnahmen, sieht vergleichbar aus und wir aus




   64                                                              A. Spillner, H. Lichter (Hrsg.): SEUH 13
Abbildung 4: Verteilungsdiagramm für 378 Lösungen zu einer Prüfungsaufgabe („Testat 4, Variante 1“). Die
Aufgabe griff die Aufgabenstellung aus Miniprojekt 4 (siehe Abbildung 1) auf. Zur Verteilung einer zweiten
Aufgabenvariante vgl. Abbildung 5.




Abbildung 5: Verteilungsdiagramm für 298 Lösungen zu einer Prüfungsaufgabe („Testat 4, Variante 2“). Die
Aufgabe griff die Aufgabenstellung aus Miniprojekt 4 (siehe Abbildung 1) auf. Zur Verteilung der ersten Aufga-
benvariante vgl. Abbildung 4.




   A. Spillner, H. Lichter (Hrsg.): SEUH 13                                                            65
Platzgründen nicht dargestellt. Es ist zu erkennen,        metischen Mittel 63,38 Punkte. Im Miniprojekt 5 wur-
dass beide Varianten im Kern dieselbe Verteilung auf-      den im arithmetischen Mittel 48,57 Punkte erreicht;
weisen. Insbesondere gibt es in beiden Aufgaben einen      in allen drei Varianten der Testate im arithmetischen
sehr schmalen Korridor nicht bestandener Lösungen          Mittel 45,28 Punkte. Das vermutete höhere relative
im „unteren“ Bereich und eine größere Anhäufung            Aufgabenniveau bei Testat 5 im Vergleich zu Minipro-
bestandener Lösungen im „oberen“ Bereich der Ver-          jekt 5 spiegelt sich also nicht in der Veränderung der
teilung. Es kann daher davon ausgegangen werden,           Punktzahlen wider. Lediglich im Vergleich der beiden
dass die beiden Aufgaben zumindest im Bezug auf den        Testate untereinander tritt die erwartete Punkteände-
Umfang und die Komplexität der Lösung identische           rung auf.
Anforderungen an die Studierenden gestellt haben.             Die Schwierigkeit der Bestimmung des relativen
Wie oben bereits angesprochen, kann diese Aussage          Aufgabenniveaus unterstreicht auch Abbildung 7, die
nur dann auf das Aufgabenniveau insgesamt erwei-           die Verteilung für die erste Variante von Testat 6 wi-
tert werden, wenn vorausgesetzt werden kann, dass          dergibt. Bei den Komplexitätswerten liegt diese in der
die Herleitung der Lösung für beide Gruppen gleich         Mitte des Bereichs für Miniprojekt 6; bei der Anzahl
schwierig ist. Bei der Interpretation der Verteilungen     der Anweisungen im unteren Bereich. Im Vergleich
ist es also insbesondere als deutliches Warnsignal zu      mit Testat 4 weist sie insbesondere eine höhere Kom-
werten, wenn bei als gleichwertig vorgesehenen Auf-        plexität, aber einen geringeren Umfang der Lösungen
gaben deutliche Unterschiede in den Metriken auf-          aus. Im Bezug auf Miniprojekt 6 kann also ein leichte-
treten. Die Gleichheit von Umfang und Komplexität          res Niveau angenommen werden, während im Bezug
muss dagegen nicht zwangsläufig auch ein identisches       auf Testat 4 unklar ist, ob die höhere Komplexität oder
Aufgabenniveau bedeuten.                                   der geringere Umfang mehr zum Niveau der Aufgabe
   Die Frage nach dem Verhältnis der Testataufgaben        beiträgt. In Miniprojekt 6 wurde im arithmetischen
zum Miniprojekt kann durch einen Vergleich mit Ab-         Mittel 50,84 Punkte erreicht, in allen Testatvarianten
bildung 1 beziehungsweise durch einen Vergleich der        zusammen im arithmetischen Mittel 65,34 Punkte.
Kennzahlen beantwortet werden: Der Komplexitäts-           Dies legt nahe, dass das Testat wie erwartet ein niedri-
wert liegt mit 70 bis 90 nahezu mittig in den Grenzen      geres Niveau hatte als das Miniprojekt und im übrigen
des Miniprojektes und die Zahl der Anweisungen mit         in etwa gleichwertig zu Testat 4 war.
Werten zwischen 230 und 270 ebenfalls mittig im               Aus diesen Überlegungen lässt sich also festhalten,
Rahmen des Miniprojektes. Es kann daher davon aus-         dass die Messung der Zahl der Anweisungen und der
gegangen werden, dass die Testataufgaben bezogen           zyklomatischen Komplexität es erlaubt, Aussagen über
auf Umfang und Komplexität sehr genau das Aufga-           das relative Niveau einer Aufgabe zu machen. Dies
benniveau des Miniprojektes getroffen haben.               könnte in E-Learning-Systemen beispielsweise genutzt
   Für das Testat 5 (Abbildung 6; hier betrachtet an der   werden, um automatisch den Schwierigkeitsgrad von
dritten Aufgabenvariante dieses Testats) lässt sich eine   Aufgaben zu bestimmten und Studierenden damit ge-
leicht abweichende Beobachtung treffen: Der von der        zielt schwierigere oder leichtere Aufgaben anbieten
Verteilung abgedeckte Bereich liegt zwar im Korridor       zu können. Noch einmal sei an dieser Stelle darauf
von Miniprojekt 5 und weißt (bei deutlicher kleiner        hingewiesen, dass es andere Einflussfaktoren auf das
Größe) eine ähnliche Form auf, liegt aber nicht mit-       Niveau einer Aufgabe gibt, die sich über die disku-
tig innerhalb der Werte des Miniprojektes, sondern         tierten Metriken nicht abbilden lassen, so dass die
deutlich nach „oben“ verschoben. Relativ zur Schwie-       Verwendung von Softwareproduktmetriken trotz ihrer
rigkeit des Miniprojektes kann hier also ein höheres       Nützlichkeit nicht als alleiniges Mittel zum Einsatz
Aufgabenniveau angenommen werden.                          kommen sollte. Naheliegend ist beispielsweise die Er-
   Auch der Vergleich der Testate 4 und 5 unterein-        weiterung des Ansatzes auf Softwaremetriken, die
ander kann unter dem Gesichtspunkt des relativen           nicht das Produkt, sondern den Erstellungsprozess
Aufgabenniveaus angestellt werden. Die Verteilungen        messen und somit beispielsweise Auskunft darüber
beider Testate weisen im Diagramm eine ähnliche            geben können, über welchen Zeitraum hinweg oder
Form auf und decken in etwa dieselbe Fläche ab, wo-        in welchen Einzelschritten eine Lösung erstellt wurde.
bei Testat 5 etwas breiter gestreut ist. Aufgrund des      Auch aus diesen Metriken kann eine Aussage über das
deutlichen Abstands der Cluster kann trotzdem ange-        Niveau einer Aufgabe erwartet werden.
nommen werden, dass Testat 5 ein höheres Niveau
aufweist als Testat 4.                                     Fazit und Ausblick
   Da die Lehrenden nicht zwangsläufig dasselbe Be-        In diesem Beitrag wurde anhand von Fallbeispielen
wertungsschema für Miniprojekte und Testate anleg-         untersucht, welche Aussagen über Programmieraufga-
ten, lassen sich diese Annahmen nicht unmittelbar          ben aus der Analyse ihrer Lösungen mit Softwarepro-
über die im Mittel erreichten Punktzahlen bestätigen       duktmetriken gewonnen werden können. Es konnte
oder widerlegen: Im Miniprojekt 4 wurden im arith-         festgestellt werden, dass mithilfe von Metriken zum
metischen Mittel 71,29 von 100 möglichen Punkten           Umfang und zur Komplexität von Programmen Aussa-
erreicht; im Testat 4 über alle drei Varianten im arith-   gen über den Freiheitsgrad einer Aufgabe sowie das




   66                                                               A. Spillner, H. Lichter (Hrsg.): SEUH 13
Abbildung 6: Verteilungsdiagramm für 162 Lösungen zu einer Prüfungsaufgabe („Testat 5, Variante 3“). Die
Aufgabe griff die Aufgabenstellung aus Miniprojekt 5 (siehe Abbildung 2) auf.




Abbildung 7: Verteilungsdiagramm für 222 Lösungen zu einer Prüfungsaufgabe („Testat 6, Variante 1“). Die
Aufgabe griff die Aufgabenstellung aus Miniprojekt 6 (siehe Abbildung 3) auf.




   A. Spillner, H. Lichter (Hrsg.): SEUH 13                                                       67
Niveau der Aufgabe im Vergleich zu anderen Aufgaben      [Fenton u. Pfleeger 1998] F ENTON, Norman E. ; P FLEE -
getroffen werden können.                                   GER , Shari L.: Software Metrics: A Rigorous and
   Daraus ergeben sich unmittelbare Einsatzmöglich-        Practical Approach. 2nd. Boston, MA, USA : PWS
keiten in Werkzeugen zur Lehrunterstützung sowie           Publishing Co., 1998. – ISBN 0534954251
weitere Forschungsansätze: Die gewonnenen Daten
können unmittelbar genutzt werden, um Aufgaben zu        [Gross u. a. 2012] G ROSS, Sebastian ; M OKBEL, Bas-
klassifizieren und somit in einem E-Learning-System        sam ; H AMMER, Barbara ; P INKWART, Niels: Feed-
(teil-)automatisiert zur Bearbeitung vorzuschlagen.        back Provision Strategies in Intelligent Tutoring Sys-
Im einfachsten Fall könnten Studierende dabei ein          tems Based on Clustered Solution Spaces. In: D ESEL,
System explizit nach leichteren oder schwierigeren         Jörg (Hrsg.) ; H AAKE, Joerg M. (Hrsg.) ; S PANNAGEL,
Aufgaben fragen. Daraus ergibt sich auch ein unmit-        Christian (Hrsg.): DeLFI 2012: Die 10. e-Learning
telbarer Forschungsansatz, indem die Studierenden          Fachtagung Informatik. Hagen, Germany, 2012. –
anschließend um eine (subjektive) Einschätzung der         ISBN 978–3885796015, S. 27–38
Schwierigkeit gebeten werden. Kennzahlen, Ergebnis-      [Halstead 1977] H ALSTEAD, Maurice H.: Elements of
sen und subjektive Bewertungen können dann zur             software science. Elsevier, 1977
weiteren Validierung der Erkenntnisse dieses Artikels
miteinander verglichen werden. Auch die oben dis-        [Kaner u. Bond 2004] KANER, Cem ; B OND, Walter P.:
kutierten weiteren Einflussfaktoren sollten in diesen      Software Engineering Metrics: What Do They Mea-
Betrachtungen Berücksichtigung finden.                     sure and How Do We Know? In: In METRICS 2004.
   Ferner kann untersucht werden, ob aus der Position      IEEE CS, Press, 2004
einer einzelnen Lösung in Relation zum Verteilungs-
diagramm der jeweiligen Aufgabe weitere Erkenntnis-      [Leach 1995] L EACH, Ronald J.:          Using
se, beispielsweise zur Generierung individueller Rück-     metrics   to  evaluate  student    programs.
meldungen an die Studierenden, gewonnen werden             In: SIGCSE Bull. 27 (1995), S. 41–43.
können. Über den Einsatz von Softwareproduktme-            http://dx.doi.org/10.1145/201998.202010. –
triken hinaus können dabei auch weitere Metriken           DOI 10.1145/201998.202010. – ISSN 0097–8418
zum Entwicklungsprozess der Lösung zum Einsatz           [Martín u. a. 2009] M ARTÍN, David ; C ORCHADO, Emi-
kommen, mit denen beispielsweise eine Folge von            lio ; M ARTICORENA, Raúl: A Code-comparison of
mehreren Einreichungen mit inkrementellen Verbesse-        Student Assignments based on Neural Visualisation
rungen der Lösung untersucht wird. Dies würde auch         Models. In: C ORDEIRO, José A. M. (Hrsg.) ; S HISH -
die Bereiche der Analyse abdecken, die in diesem Ar-       KOV , Boris (Hrsg.) ; V ERBRAECK , Alexander (Hrsg.)
tikel nicht besprochen wurden.                             ; H ELFERT, Markus (Hrsg.) ; INSTICC (Veranst.):
   Danksagung Die Autoren danken Alexander Jung            Proceedings of the First International Conference on
für seine umfangreiche Recherche zu Softwarepro-           Computer Supported Eductation (CSEDU), 23 - 26
duktmetriken im Rahmen seiner Bachelor-Arbeit.             March 2009, Lisboa, Portugal Bd. 1 INSTICC, IN-
                                                           STICC Press, 2009. – ISBN 978–989–8111–82–1, S.
Literatur                                                  47–54
[e Abreu u. Carapuça 1994] A BREU, Fernando B. ;
  C ARAPUÇA, Rogério: Object-Oriented Software Engi-     [McCabe 1976] M C C ABE, Thomas J.: A Complexity
  neering: Measuring and Controlling the Development       Measure.     In: IEEE Transactions on Softwa-
  Process. 1994                                            re Engineering, 2 (1976), Nr. 4, S. 308–320.
                                                           http://dx.doi.org/10.1109/TSE.1976.233837.
[Chidamber u. Kemerer 1994] C HIDAMBER, Shyam R.           –   DOI 10.1109/TSE.1976.233837. –       ISSN
  ; K EMERER, Chris F.: A metrics suite for object         0098–5589
  oriented design. In: IEEE Transactions on Softwa-
  re Engineering 20 (1994), jun, Nr. 6, S. 476 –493.     [Mengel u. Yerramilli 1999] M ENGEL, Susan A. ; Y ER -
                                                           RAMILLI, Vinay: A case study of the static analysis of
  http://dx.doi.org/10.1109/32.295895. – DOI
  10.1109/32.295895. – ISSN 0098–5589                      the quality of novice student programs. In: The pro-
                                                           ceedings of the thirtieth SIGCSE technical symposium
[Conte u. a. 1986] C ONTE, Samuel D. ; D UNSMORE,          on Computer science education. New York, NY, USA :
  Hubert E. ; S HEN, Vincent Y.: Software enginee-         ACM, 1999 (SIGCSE ’99). – ISBN 1–58113–085–6,
  ring metrics and models. Redwood City, CA, USA :         S. 78–82
  Benjamin-Cummings Publishing Co., Inc., 1986. –
  ISBN 0–8053–2162–4                                     [Striewe u. a. 2009] S TRIEWE, Michael ; B ALZ, Mo-
                                                           ritz ; G OEDICKE, Michael: A Flexible and Modular
[DeMarco 1986] D E M ARCO, Tom: Controlling Soft-          Software Architecture for Computer Aided Assess-
  ware Projects: Management, Measurement, and Esti-        ments and Automated Marking. In: Proceedings of
  mates. Upper Saddle River, NJ, USA : Prentice Hall       the First International Conference on Computer Sup-
  PTR, 1986. – ISBN 0131717111                             ported Eductation (CSEDU), 23 - 26 March 2009,
                                                           Lisboa, Portugal Bd. 2 INSTICC, 2009, S. 54–61




   68                                                             A. Spillner, H. Lichter (Hrsg.): SEUH 13