Write a Blog >>
PLDI 2021
Sun 20 - Sat 26 June 2021 PLDI
Fri 25 Jun 2021 09:35 - 09:40 at PLDI-B - Talks 5B: Defect Detection and Repair
Fri 25 Jun 2021 21:35 - 21:40 at PLDI-B - Talks 5B: Defect Detection and Repair

Data races are among the worst bugs in software in that they exhibit non-deterministic symptoms and are notoriously difficult to detect. The problem is exacerbated by interactions between threads and events in real-world applications. We present a novel static analysis technique, O2, to detect data races in large complex multithreaded and event-driven software. O2 is powered by “origins”, an abstraction that unifies threads and events by treating them as entry points of code paths attributed with data pointers. Origins in most cases are inferred automatically, but can also be specified by developers. More importantly, origins provide an efficient way to precisely reason about shared memory and pointer aliases.

Together with several important design choices for race detection, we have implemented O2 for both C/C++ and Java/Android applications and applied it to a wide range of open-source software. O2 has found new races in every single real-world code base we evaluated with, including Linux kernel, Redis, OVS, Memcached, Hadoop, Tomcat, ZooKeeper and Firefox Android. Moreover, O2 scales to millions of lines of code in a few minutes, on average 70x faster (up to 568x) compared to an existing static analysis tool from our prior work, and reduces false positives by 77%. We also compared O2 with the state-of-the-art static race detection tool, RacerD, showing highly promising results. At the time of writing, O2 has revealed more than 40 unique previously unknown races that have been confirmed or fixed by developers.

Fri 25 Jun

Displayed time zone: Eastern Time (US & Canada) change

09:00 - 09:40
Talks 5B: Defect Detection and RepairPLDI at PLDI-B +12h
09:00
5m
Talk
Test-Case Reduction and Deduplication Almost for Free with Transformation-Based Compiler Testing
PLDI
Alastair F. Donaldson Imperial College London, Paul Thomson Google, Vasyl Teliman National Technical University of Ukraine, Stefano Milizia Imperial College London, André Perez Maselco Federal University of ABC, Antoni Karpiński Warsaw University of Technology
DOI
09:05
5m
Talk
Execution Reconstruction: Harnessing Failure Reoccurrences for Failure Reproduction
PLDI
Gefei Zuo University of Michigan, Jiacheng Ma University of Michigan, Andrew Quinn University of Michigan, Pramod Bhatotia TU Munich, Pedro Fonseca Purdue University, Baris Kasikci University of Michigan
DOI
09:10
5m
Talk
Concolic Program Repair
PLDI
Ridwan Salihin Shariffdeen National University of Singapore, Yannic Noller National University of Singapore, Lars Grunske Humboldt University of Berlin, Abhik Roychoudhury National University of Singapore
DOI Pre-print
09:15
5m
Talk
Automated Conformance Testing for JavaScript Engines via Deep Compiler Fuzzing
PLDI
Guixin Ye Northwest University, Zhanyong Tang Northwest University, Shin Hwei Tan Southern University of Science and Technology, Dingyi Fang Northwest University, Xiaoyang Sun University of Leeds, Lizhong Bian Alipay, Songfang Huang Alibaba DAMO Academy, Haibo Wang University of Leeds, Zheng Wang University of Leeds, UK
DOI
09:20
5m
Talk
Path-Sensitive Sparse Analysis without Path Conditions
PLDI
Qingkai Shi Hong Kong University of Science and Technology, Peisen Yao Hong Kong University of Science and Technology, Rongxin Wu Xiamen University, Charles Zhang Hong Kong University of Science and Technology
DOI
09:25
5m
Talk
Repairing Serializability Bugs in Distributed Database Programs via Automated Schema Refactoring
PLDI
Kia Rahmani Purdue University, Kartik Nagar IIT Madras, Benjamin Delaware Purdue University, Suresh Jagannathan Purdue University
DOI
09:30
5m
Talk
SyRust: Automatic Testing of Rust Libraries with Semantic-Aware Program Synthesis
PLDI
Yoshiki Takashima Carnegie Mellon University, Ruben Martins Carnegie Mellon University, Limin Jia Carnegie Mellon University, Corina S. Păsăreanu Carnegie Mellon University
DOI
09:35
5m
Talk
When Threads Meet Events: Efficient and Precise Static Race Detection with Origins
PLDI
Bozhen Liu Texas A&M University, Peiming Liu Texas A&M University, Yanze Li Texas A&M University, Chia-Che Tsai Texas A&M University, Dilma Da Silva Texas A&M University, Jeff Huang Texas A&M University
DOI
21:00 - 21:40
Talks 5B: Defect Detection and RepairPLDI at PLDI-B
21:00
5m
Talk
Test-Case Reduction and Deduplication Almost for Free with Transformation-Based Compiler Testing
PLDI
Alastair F. Donaldson Imperial College London, Paul Thomson Google, Vasyl Teliman National Technical University of Ukraine, Stefano Milizia Imperial College London, André Perez Maselco Federal University of ABC, Antoni Karpiński Warsaw University of Technology
DOI
21:05
5m
Talk
Execution Reconstruction: Harnessing Failure Reoccurrences for Failure Reproduction
PLDI
Gefei Zuo University of Michigan, Jiacheng Ma University of Michigan, Andrew Quinn University of Michigan, Pramod Bhatotia TU Munich, Pedro Fonseca Purdue University, Baris Kasikci University of Michigan
DOI
21:10
5m
Talk
Concolic Program Repair
PLDI
Ridwan Salihin Shariffdeen National University of Singapore, Yannic Noller National University of Singapore, Lars Grunske Humboldt University of Berlin, Abhik Roychoudhury National University of Singapore
DOI Pre-print
21:15
5m
Talk
Automated Conformance Testing for JavaScript Engines via Deep Compiler Fuzzing
PLDI
Guixin Ye Northwest University, Zhanyong Tang Northwest University, Shin Hwei Tan Southern University of Science and Technology, Dingyi Fang Northwest University, Xiaoyang Sun University of Leeds, Lizhong Bian Alipay, Songfang Huang Alibaba DAMO Academy, Haibo Wang University of Leeds, Zheng Wang University of Leeds, UK
DOI
21:20
5m
Talk
Path-Sensitive Sparse Analysis without Path Conditions
PLDI
Qingkai Shi Hong Kong University of Science and Technology, Peisen Yao Hong Kong University of Science and Technology, Rongxin Wu Xiamen University, Charles Zhang Hong Kong University of Science and Technology
DOI
21:25
5m
Talk
Repairing Serializability Bugs in Distributed Database Programs via Automated Schema Refactoring
PLDI
Kia Rahmani Purdue University, Kartik Nagar IIT Madras, Benjamin Delaware Purdue University, Suresh Jagannathan Purdue University
DOI
21:30
5m
Talk
SyRust: Automatic Testing of Rust Libraries with Semantic-Aware Program Synthesis
PLDI
Yoshiki Takashima Carnegie Mellon University, Ruben Martins Carnegie Mellon University, Limin Jia Carnegie Mellon University, Corina S. Păsăreanu Carnegie Mellon University
DOI
21:35
5m
Talk
When Threads Meet Events: Efficient and Precise Static Race Detection with Origins
PLDI
Bozhen Liu Texas A&M University, Peiming Liu Texas A&M University, Yanze Li Texas A&M University, Chia-Che Tsai Texas A&M University, Dilma Da Silva Texas A&M University, Jeff Huang Texas A&M University
DOI