[concurrency-interest] SureLogic Java concurrency-focused analysis tools

Tim Halloran hallorant at gmail.com
Thu Oct 22 13:18:30 EDT 2015

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 http://surelogic.com

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 http://surelogic.com/licensing.html

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. http://surelogic.com/jsure.html

- 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. http://surelogic.com/sierra.html

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

Best regards,
Tim Halloran
tim.halloran at surelogic.com
SureLogic, Inc.
5808 Forbes Avenue, Pittsburgh PA 15217-1602
(412) 722-3338
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cs.oswego.edu/pipermail/concurrency-interest/attachments/20151022/82a4e940/attachment.html>

More information about the Concurrency-interest mailing list