ThreadSafe
DeveloperContemplate
Stable release
1.3 / March 28, 2014; 12 years ago (2014-03-28)
Operating systemCross-platform: Linux, OS X, Windows
TypeStatic code analysis
LicenseProprietary software
Websitewww.contemplateltd.com/threadsafe

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 to identify and avoid software failures in concurrent applications running in complex environments.[1][2][5][6]

Features

edit

ThreadSafe detects Java concurrency defects:[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 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

edit

ThreadSafe detects violations of the concurrency-related rules in the CERT Oracle Secure Coding Standard for Java.[8]

See also

edit

References

edit
  1. ^ a b Grazi, Victor (August 28, 2013). "ThreadSafe Concurrency Static Analysis Tool Announces First Public Release". InfoQ.com.
  2. ^ a b c d Taft, Darryl (September 4, 2013). "Contemplate Delivers ThreadSafe Java Concurrency Static Analysis Tool". DevX.com.
  3. ^ a b c Atkey, Robert (January 14, 2014). "Discover and Diagnose Java Concurrency Problems Using Contemplate's ThreadSafe". InfoQ.com.
  4. ^ a b c Atkey, Robert; Sannella, Donald (2015). "ThreadSafe: Static Analysis for Java Concurrency". Electronic Communications of the EASST. 72. doi:10.14279/tuj.eceasst.72.1025.995.
  5. ^ Roy, Ritobaan (May 1, 2013). "Software Errors: New Technology Briefing For CFOs". CFO Insight. Archived from the original on October 14, 2013.
  6. ^ Rubens, Paul (March 12, 2014). "Why Software Testing Can't Save You From IT Disasters". Reference to ThreadSafe on page 2. CIO.com. Archived from the original on March 14, 2014. Retrieved April 18, 2014.
  7. ^ Raible, Matt (June 26, 2014). "Contemplate ThreadSafe Introduces Deadlock Detection". InfoQ.com.
  8. ^ "SEI CERT Oracle Coding Standard for Java". Software Engineering Institute, Carnegie Mellon University. Retrieved March 18, 2016.
edit


📚 Artikel Terkait di Wikipedia

Threadsafe

Threadsafe may refer to: Thread safety, a computer programming concept applicable to multi-threaded programs ThreadSafe, a source code analysis tool for

Thread safety

control Concurrent data structure Exception safety Priority inversion ThreadSafe Kerrisk, Michael (2010). The Linux Programing Interface. No Starch Press

Reentrancy (computing)

Referential transparency Kerrisk 2010, p. 657. "Writing reentrant and threadsafe code". Programming for AIX. IBM. Retrieved 2025-05-12. Ralston 2000, p

Mutual exclusion

system calls used to sleep an entire process. Until such calls became threadsafe, there was no proper mechanism for sleeping a single thread within a process

Treiber stack

using Treiber's algorithm * * @author Brian Goetz and Tim Peierls */ @ThreadSafe public class ConcurrentStack <E> { AtomicReference<Node<E>> top = new

List of tools for static code analysis

languages. Squale 2011-05-26 Yes; LGPL A platform to manage software quality. ThreadSafe 2014-03-28 No; proprietary A static analysis tool focused on finding concurrency

Java concurrency

Concurrency pattern Fork–join model Memory barrier Memory models Thread safety ThreadSafe Java ConcurrentMap Goetz et al. 2006, pp. 15–17, §2 Thread Safety. Bloch

IBM RPG

set, but also supports UTF-8, UTF-16 and many other character sets. The threadsafe aspects of the language are considered idiosyncratic by some as the compiler