TY - GEN
T1 - Fast and accurate static data-race detection for concurrent programs
AU - Kahlon, Vineet
AU - Yu, Yang
AU - Sankaranarayanan, Sriram
AU - Gupta, Aarti
PY - 2007
Y1 - 2007
N2 - We present new techniques for fast, accurate and scalable static data race detection in concurrent programs. Focusing our analysis on Linux device drivers allowed us to identify the unique challenges posed by debugging largescale real-life code and also pinpointed drawbacks in existing race warning generation methods. This motivated the development of new techniques that helped us in improving both the scalability as well as the accuracy of each of the three main steps in a race warning generation system. The first and most crucial step is the automatic discovery of shared variables. Towards that end, we present a new, efficient dataflow algorithm for shared variable detection which is more effective than existing correlation-based techniques that failed to detect the shared variables responsible for data races in majority of the drivers in our benchmark suite. Secondly, accuracy of race warning generation strongly hinges on the precision of the pointer analysis used to compute aliases for lock pointers. We formulate a new scalable context sensitive alias analysis that effectively combines a divide and conquer strategy with function summarization and is demonstrably more efficient than existing BDD-based techniques. Finally, we provide a new warning reduction technique that leverages lock acquisition patterns to yield provably better warning reduction than existing lockset based methods.
AB - We present new techniques for fast, accurate and scalable static data race detection in concurrent programs. Focusing our analysis on Linux device drivers allowed us to identify the unique challenges posed by debugging largescale real-life code and also pinpointed drawbacks in existing race warning generation methods. This motivated the development of new techniques that helped us in improving both the scalability as well as the accuracy of each of the three main steps in a race warning generation system. The first and most crucial step is the automatic discovery of shared variables. Towards that end, we present a new, efficient dataflow algorithm for shared variable detection which is more effective than existing correlation-based techniques that failed to detect the shared variables responsible for data races in majority of the drivers in our benchmark suite. Secondly, accuracy of race warning generation strongly hinges on the precision of the pointer analysis used to compute aliases for lock pointers. We formulate a new scalable context sensitive alias analysis that effectively combines a divide and conquer strategy with function summarization and is demonstrably more efficient than existing BDD-based techniques. Finally, we provide a new warning reduction technique that leverages lock acquisition patterns to yield provably better warning reduction than existing lockset based methods.
UR - http://www.scopus.com/inward/record.url?scp=38149137994&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=38149137994&partnerID=8YFLogxK
U2 - 10.1007/978-3-540-73368-3_26
DO - 10.1007/978-3-540-73368-3_26
M3 - Conference contribution
AN - SCOPUS:38149137994
SN - 3540733671
SN - 9783540733676
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 226
EP - 239
BT - Computer Aided Verification - 19th International Conference, CAV 2007, Proceedings
PB - Springer Verlag
T2 - 19th International Conference on Computer Aided Verification, CAV 2007
Y2 - 3 July 2007 through 7 July 2007
ER -