ThreadSafe identifies concurrency problems in Java code, helping developers avoid costly software defects and helping to increase system stability and reduce operational risk. It builds on Contemplate’s Core Analysis Toolkit (CAT) and is designed to integrate analysis seamlessly with developer workflow including desktop tools such as Eclipse and build server environments.
ThreadSafe also provides metrics on concurrency, visualisations of concurrent code and data flow, and can identify performance bottlenecks. ThreadSafe uses static analysis, which is the generic term given to examining a piece of software without executing it. Its key advantage is that it can look at all the possibilities within the software, including every possible pattern of concurrent thread execution and data value. This is impossible to accomplish with testing.
Core Analysis Toolkit
The Core Analysis Toolkit (CAT) is a collection of frameworks and techniques focused on delivering analysis as close to the developer as possible. It embodies our belief that analysis technology should be no more complicated than is required to provide the high quality results that developers need. This ensures that analysis can be run quickly and often, supporting contemporary agile development practices and delivering results while a developer is still working on the code wherever possible.
Emerging Analysis Lab
Contemplate is continuing to build new analysis techniques and continue the work of the original research project, and over time this work augments the capability of the CAT. One example of the work of the Emerging Analysis Lab is a static analysis engine that examines the interactions of all the threads in a program, and models all of the data flow. It works by creating an abstract model of the heap for all possible executions. The engine is built using advanced techniques in programme analysis such as context sensitive dataflow analysis and deductive database technology. In capability it far surpasses any other documented implementation.
Our team of experts will employ Contemplate’s high-tech analysis technology to investigate and analyse problems in any concurrent Java-based application prior to launch. When clients have challenged us to test applications that they were most confident about, it was a surprise to them that we were able to identify what they considered to be “ticking time bombs”. To safeguard your concurrent Java-based applications running in a complex environment then speak to one of the expert team at Contemplate.