ThreadSafe
# ThreadSafe

ThreadSafe analysiert Java-Sourcecode, um Risiken und Sicherheitslücken zu entdecken, die von Multithreading-Programmfehlern stammen. Investmentbanken und andere Firmen benutzen ThreadSafe, um Software-Pannen in nebenläufigen Anwendungen zu lokalisieren und zu vermeiden. Solche Programmfehler sind am heimtückischsten, weil sie beim Testen nicht verlässlich entdeckt werden können.

## Funktionen

ThreadSafe entdeckt schwerwiegende Multithreading-Programmfehler in Java:

* Race Conditions – die falsche oder unvorhersehbare Ergebnisse verursachen können, die in einem Debugger nur schwer zu reproduzieren sind.
* Deadlocks – die durch zyklische Wartesituationen entstehen, wobei jeder Thread auf eine Ressource wartet, die bereits von einer anderen reserviert ist.
* Unvorhersehbare Ergebnisse – durch fehlerhafte Behandlung von nebenläufigen Collections, schlechte Laufzeitfehler-Handhabung oder uneinheitliche Synchronisation von Objekten.
* Leistungs-Engpässe – durch fehlerhafte API-Benutzung, überflüssige Synchronisation oder unnötige Verwendung von gemeinsam benutzten mutablen Objekten.

ThreadSafe ist eng mit der Eclipse Software-Entwicklungsumgebung sowie mit der SonarQube Software-Qualitätskontroll-Plattform integriert. Information über festgestellte Fehler wird in der Entwicklungsumgebung angezeigt, direkt im Sourcecode, um dem Softwareentwickler zu helfen, Nebenläufigkeits-Probleme zu ermitteln und zu beheben. Es gibt auch eine ThreadSafe-Version, die von der Kommandozeile aus benutzt werden kann.

## Überprüfung der Standard-Einhaltung

ThreadSafe entdeckt Verstöße gegen zahlreiche nebenläufigkeitsbezogene Regeln im CERT Oracle Secure Coding Standard for Java.

## Gemeinsam vertriebene Produkte

ThreadSafe wird auch von GrammaTech als integrierte Erweiterung des CodeSonar Sourcecode-Analyse-Werkzeugs vertrieben.

