We present the design and implementation of SWORD, a scalable and fully automated static data race detector for Java, implemented as a plugin in the Eclipse IDE. SWORD is the first whole program race detector that can scale to millions of lines of code in a few minutes while achieving good precision in practice. The cornerstone of SWORD is a new algorithm that judiciously combines points-to analysis and happens-before analysis efficiently, without losing precision. We have evaluated SWORD on an extensive collection of large-scale open source Java projects. Our results show that SWORD detects more races and reports fewer false positives than the state-of-art race detector, RacerD. Moreover, SWORD requires no human effort to annotate code regions as required by RacerD. SWORD also displays comprehensive bug traces and racing pair information on the GUI, which make debugging the races easier. A demo video is available at https://youtu.be/XQ0CBy7mMaY.
Fri 31 MayDisplayed time zone: Eastern Time (US & Canada) change
11:00 - 12:30 | ConcurrencyTechnical Track / Demonstrations / Papers at St-Denis / Notre-Dame Chair(s): Tuba Yavuz University of Florida | ||
11:00 20mTalk | Safe Automated Refactoring for Intelligent Parallelization of Java 8 StreamsTechnical TrackIndustry Program Technical Track Raffi Khatchadourian City University of New York (CUNY) Hunter College, Yiming Tang City University of New York (CUNY) Graduate Center, Mehdi Bagherzadeh Oakland University, Syed Ahmed Oakland University Pre-print Media Attached | ||
11:20 20mTalk | Detecting Atomicity Violations for Event-Driven Node.js ApplicationsTechnical TrackIndustry Program Technical Track Xiaoning Chang Institute of Software, Chinese Academy of Sciences, Wensheng Dou Institute of Software, Chinese Academy of Sciences, Yu Gao Institute of Software, Chinese Academy of Sciences, China, Jie Wang Institute of Software, Chinese Academy of Sciences, Jun Wei Institute of Software, Chinese Academy of Sciences, China, Tao Huang Institute of Software Chinese Academy of Sciences | ||
11:40 20mTalk | Parallel Refinement for Multi-Threaded Program VerificationTechnical Track Technical Track Liangze Yin National University of Defense Technology, Wei Dong , Wanwei Liu National University of Defense Technology, Ji Wang | ||
12:00 20mTalk | SWORD: A Scalable Whole Program Race Detector for JavaDemos Demonstrations | ||
12:20 10mTalk | Discussion Period Papers |