SureLogic Java concurrency-focused analysis tools

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

SureLogic Java concurrency-focused analysis tools

Tim Halloran
For the past few years my team at SureLogic has been developing Java analysis tools for concurrency and other deep properties. The tools have been in use by a small community of demanding and savvy users. We got lots of useful feedback during several years of development, and, with strong encouragement from these users, we are now ready to release a fairly mature tool set to the wider community via

We are offering a "community license" arrangement -- at no cost -- for individual developers, open source projects, academic research and education, and small professional teams. Larger firms and government users can easily obtain "enterprise licenses" through our merchant portal with Square -- see details at

I'm posting here (somewhat as SPAM) because I think some folks on this list might be interested in trying out the tools. We really want your feedback. Note that the tools are really focused on Java and Android program development -- and are less useful for util.concurrent developers (e.g. they don't understand sun.misc.Unsafe and such).

One of the benefit of this late-breaking release is that we already have a large set of case studies, comprehensive reference documentation, tutorial documents, and a number of video demonstrations. Please take a look at

There are three tools in the release: 

- JSure is an analysis-based verification tool focused on concurrency and other selected "deep" quality attributes. The tool can verify all the annotations from the book Java Concurrency in Practice (@ThreadSafe, @Immutable, @GuardedBy) as well as many others focused on null references, effects, static program structure, aliasing, and several common design patterns. JSure is designed for scale, soundness (no false negatives for most of the supported attributes), usability by team members, and straightforward integration into your development and evaluation tooling and processes. JSure is not a heuristic pattern-matching tool, and false positives are rare.

- Flashlight is a concurrency-focused dynamic analysis tool to help developers and testers understand code that runs. It is designed to smoothly adjust from comprehensive data capture in development to lightweight monitoring in operations. The tool collects a wealth of concurrency-focused data that can help you uncover both performance and correctness problems in your code as well as better understand its behavior. Flashlight uses a suite of dynamic analyses to address questions related to shared state, use of locks, use of threads, potential deadlock, waits and blockage times, false sharing, and many other properties. Users can write custom queries when need arises.

- Sierra is an integration framework for heuristic static analysis tools. It is designed to help integrate off-the-shelf "bug finder" tools (such as FindBugs and PMD) into a team process. Its strengths are easy and repeatable selection and search among findings with good visualization, longitudinal matching and diffing, status tracking, and team support. We mention the tool here for completeness, but Sierra is probably of less interest to this group.

Thanks and please feel free to contact me if you have any questions.

Best regards,
Tim Halloran
[hidden email]
SureLogic, Inc.
5808 Forbes Avenue, Pittsburgh PA 15217-1602
(412) 722-3338

Concurrency-interest mailing list
[hidden email]