摘要

Atomicity violation has proved to be one of the most common pitfalls in concurrency programming. Various techniques were adopted to detect atomicity violations in multithreaded programs. In this paper, a novel Demand driven Atomicity Violation Analysis(DAVA) is proposed to meet the requirements of user-specified atomicity checking. DAVA is a dynamic analysis guided by the target atomic region defined in a user specification. An event-driven framework forms the basis for DAVA. To make the checking more efficient, we implemented dependency analysis over event traces, and used an event slicing procedure to prune the event space. This demand driven analysis can be a good start point for unit testing or regression testing of concurrent Java programs. Experiments are performed on several Java library utilities and a bunch of real world java applications. Experimental results show that DAVA is effective in detecting atomicity violations within the user-specified area.

  • 出版日期2012

全文