Data Sheet

ThreadSafe detects serious defects and helps to improve code and remove risk:

  • Race conditions – which lead to incorrect or unpredictable behaviour that is difficult to reproduce in a debugger.
  • Potential deadlocks – caused by holding locks in wrong places.
  • Unpredictable results – caused by broken handling of concurrent collections, bad error handling, or mixed object synchronization.
  • Safer, more efficient concurrency – by correcting API usage, removing redundant synchronization, and finding opportunities for immutable

Engineered by experts

ThreadSafe helps you write Java that runs safely and efficiently on today’s multi-core processors. It checks for safe and effective use of collections, locks, concurrent data structures and immutability. ThreadSafe helps you safely share data amongst threads by highlighting the most common errors, and identifies code that is considered bad practice.

Understands Java concurrency

ThreadSafe models and checks usage of concurrency features in the Java language and standard APIs. These include use of intrinsic locking (via synchronized keyword); use of java.util.concurrent; and use of other concurrency-related APIs in the JRE such as Thread, Runnable, Timer, and Swing UI events.

Proven analysis technology

ThreadSafe incorporates a suite of analyses to detect the most common and problematic concurrency defects. These have been tuned through collaboration with investment banks and other customers with enterprise-scale deployments of concurrent Java applications.

Fit with development environment

ThreadSafe is tightly integrated with the Eclipse IDE. Contextual information is provided to assist the developer with investigating and resolving concurrency issues within the IDE environment, directly in the code.

Fit with leading code quality tools

Issues identified by ThreadSafe can be viewed, managed and tracked using the SonarQube code quality dashboard. This provides a team with a shared view of issues reported by ThreadSafe across multiple projects.