Zum Inhalt springen

ThreadSafe

aus Wikipedia, der freien Enzyklopädie
ThreadSafe

ThreadSafe für Eclipse
Basisdaten
Entwickler Contemplate
Aktuelle Version 1.3
(28. März 2014)
Betriebssystem plattformunabhängig: Linux, OS X, Windows
Programmier­sprache Java
Kategorie Statische Code-Analyse
Lizenz Proprietäre Software
ThreadSafe unter contemplateltd.com

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

ThreadSafe entdeckt schwerwiegende Multithreading-Programmfehler in Java:[2][3][4]

  • Race Conditions – die falsche oder unvorhersehbare Ergebnisse verursachen können, die in einem Debugger nur schwer zu reproduzieren sind.
  • Deadlocks[7] – 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.[2][3][4] Es gibt auch eine ThreadSafe-Version, die von der Kommandozeile aus benutzt werden kann.

Überprüfung der Standard-Einhaltung

[Bearbeiten | Quelltext bearbeiten]

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

Gemeinsam vertriebene Produkte

[Bearbeiten | Quelltext bearbeiten]

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

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. 1 2 Victor Grazi: ThreadSafe Concurrency Static Analysis Tool Announces First Public Release. InfoQ.com, 28. August 2013, abgerufen am 8. Juli 2014 (englisch).
  2. 1 2 3 4 Darryl Taft: Contemplate Delivers ThreadSafe Java Concurrency Static Analysis Tool. DevX.com, 4. September 2013, abgerufen am 8. Juli 2014 (englisch).
  3. 1 2 3 Robert Atkey: Discover and Diagnose Java Concurrency Problems Using Contemplate’s ThreadSafe. InfoQ.com, 14. Januar 2014, abgerufen am 8. Juli 2014 (englisch).
  4. 1 2 3 Robert Atkey, Donald Sannella: ThreadSafe: Static Analysis for Java Concurrency. In: Electronic Communications of the EASST. 72. Jahrgang. European Association of Software Science and Technology, 2015, doi:10.14279/tuj.eceasst.72.1025.995 (englisch).
  5. ↑ Software Errors: New Technology Briefing For CFOs (Seite dauerhaft nicht mehr abrufbar, festgestellt im Mai 2026. Suche im Internet Archive)
  6. ↑ Paul Rubens: Why Software Testing Can’t Save You From IT Disasters. CIO.com, 12. März 2014, abgerufen am 8. Juli 2014 (englisch).
  7. ↑ Matt Raible: Contemplate ThreadSafe Introduces Deadlock Detection. InfoQ.com, 26. Juni 2014, abgerufen am 8. Juli 2014 (englisch).
  8. ↑ SEI CERT Oracle Coding Standard for Java. Software Engineering Institute, Carnegie Mellon University, abgerufen am 18. März 2016 (englisch).
  9. ↑ Conquering Complex Java Concurrency Bugs with CodeSonar. GrammaTech White Paper, April 2014, archiviert vom Original am 14. Juli 2014; abgerufen am 8. Juli 2014 (englisch).