ThreadSafe

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
ThreadSafe
ThreadSafe for 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] Investmentbanken und andere Firmen benutzen ThreadSafe, um Software-Pannen in nebenläufigen Anwendungen zu lokalisieren und zu vermeiden.[1][2][4] Solche Programmfehler sind am heimtückischsten, weil sie beim Testen nicht verlässlich entdeckt werden können.[5]

Funktionen[Bearbeiten]

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

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

Überprüfung der Standard-Einhaltung[Bearbeiten]

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

Gemeinsam vertriebene Produkte[Bearbeiten]

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

Einzelnachweise[Bearbeiten]

  1. a b Victor Grazi: ThreadSafe Concurrency Static Analysis Tool Announces First Public Release. InfoQ.com. 28. August 2013. Abgerufen am 8. Juli 2014.
  2. a b c d Darryl Taft: Contemplate Delivers ThreadSafe Java Concurrency Static Analysis Tool. DevX.com. 4. September 2013. Abgerufen am 8. Juli 2014.
  3. a b c Robert Atkey: Discover and Diagnose Java Concurrency Problems Using Contemplate's ThreadSafe. InfoQ.com. 14. Januar 2014. Abgerufen am 8. Juli 2014.
  4. Ritobaan Roy: Software Errors: New Technology Briefing For CFOs. CFO Insight. 1. Mai 2013. Archiviert vom Original am 14. Oktober 2013. Abgerufen am 8. Juli 2014: „It claims to have developed technology [dies bezieht sich auf ThreadSafe, wie in der Bildunterschrift erklärt wird, die in der archivierten Version fehlt] that can identify errors in software code that don't pop up regularly enough to be detected by conventional tools.“
  5. Paul Rubens: Why Software Testing Can't Save You From IT Disasters. CIO.com. 12. März 2014. Abgerufen am 8. Juli 2014.
  6. Matt Raible: Contemplate ThreadSafe Introduces Deadlock Detection. InfoQ.com. 26. Juni 2014. Abgerufen am 8. Juli 2014.
  7. The CERT Oracle Secure Coding Standard for Java. Software Engineering Institute, Carnegie Mellon University. Abgerufen am 6. Juni 2014.
  8. Conquering Complex Java Concurrency Bugs with CodeSonar. GrammaTech White Paper. April 2014. Abgerufen am 8. Juli 2014.

Weblinks[Bearbeiten]