Author: Miracula

Typische Bugs in nebenläufigen Java-Anwendungen automatisiert erkennen und testen

Fehler in nebenläufigen Programmen sind wegen des Nicht-Determinismus bei deren Ausführung oft schwer zu reproduzieren und stellen daher besonders hohe Anforderungen an das Testen. Diese Fehler folgen oft bekannten Fehlermustern und entstehen durch nicht beabsichtigte Kontextwechsel in ungesperrten kritischen Abschnitten.
Sie können auf zwei unterschiedliche Arten erkannt werden: durch die Analyse des Quellcodes auf Fehlermuster oder durch das Ausführen des Programms mit möglichst
vielen oder sehr gezielten Kontextwechseln. Kombinationen von existierenden Werkzeugen für statische und dynamische Code-Analyse können helfen, viele der Fehler zum Großteil automatisiert und früh im Entwicklungsprozess aufzudecken.