ACM SIGPLAN Notices · 2006 · 417 citations · 61 references
ComputingComputer EngineeringComputer ScienceAlgorithmsOperating SystemsProgramming LanguagesConcurrency AnalysisConcurrent ProgrammingControl-flow AnalysisData-flow AnalysisStatic AnalysisStatic Code AnalysisConcurrency Bug DetectionConcurrency Bug LocalizationConcurrency BugsData Race AnalysisRace Condition AnalysisRace Condition DetectionStatic Concurrency AnalysisStatic Race Detection
We present a novel technique for static race detection in Java programs, comprised of a series of stages that employ a combination of static analyses to successively reduce the pairs of memory accesses potentially involved in a race. We have implemented our technique and applied it to a suite of multi-threaded Java programs. Our experiments show that it is precise, scalable, and useful, reporting tens to hundreds of serious and previously unknown concurrency bugs in large, widely-used programs with few false alarms.
61
Graph-Based Algorithms for Boolean Function Manipulation
Bryant · IEEE Transactions on Computers · 1986 · 8.9K citations · Full text
David Gay, Philip Levis, Robert von Behren et al. · ACM SIGPLAN Notices · 2014 · 1.7K citations
Stefan Savage, Michael T. Burrows, Greg Nelson et al. · ACM Transactions on Computer Systems · 1997 · 1.6K citations · Full text
David Gay, Philip Levis, Robert von Behren et al. · 2003 · 860 citations