Technical Report MSC-2015-24

Title: Static Mining of Synchronization Patterns
Authors: Evgeny Abramovich
Supervisors: Eran Yahav
PDFCurrently accessibly only within the Technion network
Abstract: We present a framework for static mining of synchronization patterns from large scale software repositories. The main idea is to use static analysis for extracting synchronization patterns from a large number of client programs using a concurrent component, and aggregating the extracted patterns to obtain the common synchronization patterns in the code base. These patterns can reveal both the correct usage and examples of incorrect usage to programmers using the concurrent component. Our analysis uses automata-based abstraction to capture sequences of API operations and synchronization operations. By combining information about the sequence of API calls with synchronization operations, we uncover common synchronization patterns used for the underlying components. We address both lock-based synchronization and lock-free patterns. We have implemented our approach in a tool called SynchMiner based on the WALA static analysis framework, and applied it to identify 6 major patterns by analyzing 23 complete real-world concurrent libraries and also different 10000 class files with concurrency.
CopyrightThe above paper is copyright by the Technion, Author(s), or others. Please contact the author(s) for more information

Remark: Any link to this technical report should be to this page (, rather than to the URL of the PDF files directly. The latter URLs may change without notice.

To the list of the MSC technical reports of 2015
To the main CS technical reports page

Computer science department, Technion