Fast And Precise Symbolic Analysis Of Concurrency Bugs In Device Drivers
ASE(2015)
摘要
Concurrency errors, such as data races, make device drivers notoriously hard to develop and debug without automated tool support. We present WHOOP, a new automated approach that statically analyzes drivers for data races. WHOOP is empowered by symbolic pairwise lockset analysis, a novel analysis that can soundly detect all potential races in a driver. Our analysis avoids reasoning about thread interleavings and thus scales well. Exploiting the race-freedom guarantees provided by WHOOP, we achieve a sound partial-order reduction that significantly accelerates CORRAL, an industrial-strength bug-finder for concurrent programs. Using the combination of WHOOP and CORRAL, we analyzed 16 drivers from the Linux 4.0 kernel, achieving 1.5-20 x speedups over standalone CORRAL.
更多查看译文
关键词
data races,device drivers,WHOOP,automated approach,symbolic pairwise lockset analysis,statical analysis,data races all,thread interleavings,race-freedom guarantees,partial-order reduction,CORRAL,industrial-strength bug-finder,concurrent programs,concurrent errors,debugging,Linux 4.0 kernel,concurrency bugs
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要