Evgeny Abramovich, M.Sc. Thesis Seminar
Wednesday, 11.2.2015, 12:30
We present a static analysis for mining synchronization patterns from a large number of code samples. 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 the intended synchronization based on the semantics of the underlying component.
We address both lock-based synchronization and lock-free patterns. Our approach is implemented in a tool based on the WALA static analysis framework. The tool is applied to identify common synchronization patterns by analyzing popular real-world concurrently used libraries and thousands compiled source files from code search engines.