Труды Института системного программирования РАН (Oct 2018)

Adjustable method with predicate abstraction for detection of race conditions in operating systems

  • P. S. Andrianov,
  • V. S. Mutilin,
  • A. V. Khoroshilov

DOI
https://doi.org/10.15514/ISPRAS-2016-28(6)-5
Journal volume & issue
Vol. 28, no. 6
pp. 65 – 86

Abstract

Read online

The paper presents a configurable method of static data race detection that is trying to keep a balance between resource consumption and a number of false alarms. The method is based on well known Lockset approach. It uses simplified memory model to be fast enough. At the same time it includes advanced techniques aimed to achieve acceptable false alarms rate. The key techniques are thread analysis and predicate abstraction based refinement. The method was implemented in CPALockator tool built on top of CPAchecker framework. The tool was evaluated on Linux kernel modules and it has detected several actual data races, which were approved by developers and were fixed in upstream Linux kernel.

Keywords