Codeanalyse
Inhaltsverzeichnis
Beschreibung
Viele technische Hochschulen bieten Programmierkurse an. Studierende lernen dort Grundlagen der Programmerstellung, und zwar für Programmiersprachen wie Java, C++, PHP usw. Häufig bestehen solche Kurse aus einer Kombination aus Vorlesung und Übung: während eine Vorlesung notwendige theoretische Grundlagen vermittelt, können die Studierenden diese in den Übungen anwenden und in Programme umsetzen.
Programmieren ist eine praktische Tätigkeit, die man insbesondere durch kontinuierliches Üben lernt. Die Überprüfung von Programmen ist jedoch aufwändig. Typischerweise senden Studierende ihre Lösungen an die Tutoren. Diese führen dann eine Reihe von Prüfungen durch: hat die Datei das richtige Format, ist das Programm vom Compiler übersetzbar, liefern vorgegebene Eingabewerten erwartete Ausgabewerte, endet das Programm regulär uvm. Diese Untersuchung kostet viel Zeit. Um jedem Studierenden daher für jedes Programm schneller Feedback geben zu können, setzen Lehrende immer mehr auf automatisierte Testwerkzeuge. Diese sollen vor allem einfache Tätigkeiten übernehmen - z.B. feststellen, ob der vorliegende Quellcode überhaupt vom Compiler übersetzt werden kann - und damit die Analyse der Programme unterstützen.
Ziele
- Automatisches Testen eingereichter Programme
- Automatische Überprüfung von Programmierrichtlinien
Organisation
Recht
Technik
Beispiele
- Praktomat im eCULT-Projekt an der HS Ostfalia
- Praktomat an der Uni Karlsruhe
Bewertung
Vorteile
- Automatischer Abgleich der Lösungen mit erwarteten Ergebnissen
- Direktes Feedback zur individuellen Lösung
Nachteile
Kombination mit weiteren Szenarien
Einsetzbar zur Überprüfung von Programmen im Übungsbetrieb, aber auch in Tutorien oder gemeinsamen Lernszenarien.
Literatur
- Jens Krinke, Maximilian Störzer, Andreas Zeller: Web-basierte Programmierpraktika mit Praktomat, in: Softwaretechnik-Trends, Vol. 22, (3), 2002, Download als PDF