ThreadSafe
ThreadSafe for Eclipse | |
Developer(s) | Contemplate |
---|---|
Stable release | 1.3 / March 28, 2014 |
Operating system | Cross-platform: Linux, OS X, Windows |
Type | Static code analysis |
License | Proprietary software |
Website | ThreadSafe at contemplateltd.com |
ThreadSafe is a source code analysis tool that identifies application risks and security vulnerabilities associated with concurrency in Java code bases, using whole-program interprocedural analysis.[1][2][3][4] ThreadSafe is used by major investment banks and other companies to identify and avoid software failures in concurrent applications running in complex environments.[1][2][5] These are among the most insidious of software defects because they can't be reliably detected by testing.[6]
Features
ThreadSafe detects serious Java concurrency defects and helps to improve code and remove risk:[2][3][4]
- Race conditions – which lead to incorrect or unpredictable behaviour that is difficult to reproduce in a debugger.
- Deadlocks[7] – caused by circular waits between threads waiting for shared resources.
- Unpredictable results – caused by incorrect handling of concurrent collections, bad error handling, or mixed object synchronization.
- Performance bottlenecks – caused by incorrect API usage, redundant synchronization, and unnecessary use of shared mutable state.
ThreadSafe is tightly integrated with the Eclipse software development environment and with the SonarQube software quality management platform. Contextual information is provided within the development environment to assist the developer with the investigation and resolution of concurrency issues, directly in the code.[2][3][4] A command-line version is available for users of IDEs other than Eclipse and for build process integration.
Checking adherence to standards
ThreadSafe detects violations of many of the concurrency-related rules in the CERT Oracle Secure Coding Standard for Java.[8]
Jointly marketed products
ThreadSafe is available as a fully integrated plug-in to GrammaTech's CodeSonar suite of program analysis tools.[9]
See also
References
- 1 2 Grazi, Victor (August 28, 2013). "ThreadSafe Concurrency Static Analysis Tool Announces First Public Release". InfoQ.com.
- 1 2 3 4 Taft, Darryl (September 4, 2013). "Contemplate Delivers ThreadSafe Java Concurrency Static Analysis Tool". DevX.com.
- 1 2 3 Atkey, Robert (January 14, 2014). "Discover and Diagnose Java Concurrency Problems Using Contemplate's ThreadSafe". InfoQ.com.
- 1 2 3 Atkey, Robert; Sannella, Donald (2015). "ThreadSafe: Static Analysis for Java Concurrency". Electronic Communications of the EASST (European Association of Software Science and Technology) 72. doi:10.14279/tuj.eceasst.72.1025.995. Retrieved March 18, 2016.
- ↑ Roy, Ritobaan (May 1, 2013). "Software Errors: New Technology Briefing For CFOs". CFO Insight. Archived from the original on October 14, 2013.
It claims to have developed technology [refers to ThreadSafe, as explained in caption of image, missing from archived version] that can identify errors in software code that don't pop up regularly enough to be detected by conventional tools.
- ↑ Rubens, Paul (March 12, 2014). "Why Software Testing Can't Save You From IT Disasters". Reference to ThreadSafe on page 2. CIO.com.
- ↑ Raible, Matt (June 26, 2014). "Contemplate ThreadSafe Introduces Deadlock Detection". InfoQ.com.
- ↑ "SEI CERT Oracle Coding Standard for Java". Software Engineering Institute, Carnegie Mellon University. Retrieved March 18, 2016.
- ↑ "Conquering Complex Java Concurrency Bugs with CodeSonar". GrammaTech White Paper. April 2014. (registration required (help)).