SyRust: Automatic Testing of Rust Libraries with Semantic-Aware Program Synthesis
Fri 25 Jun 2021 21:30 - 21:35 at PLDI-B - Talks 5B: Defect Detection and Repair
Rust's type system ensures the safety of Rust programs; however,
programmers can side-step some of the strict typing rules by using the
unsafe keyword. A common use of unsafe Rust is by libraries.
Bugs in these libraries undermine the safety of the entire
Rust program. Therefore, it is crucial to thoroughly test library APIs
to rule out bugs. Unfortunately, such testing relies on programmers to
manually construct test cases, which is an inefficient and ineffective
process.
The goal of this paper is to develop a methodology for automatically
generating Rust programs to effectively test Rust library APIs. The
main challenge is to synthesize well-typed Rust programs to
account for proper chaining of API calls and Rust's ownership type
system and polymorphic types. We develop a program synthesis
technique for Rust library API testing, which relies on a novel
logical encoding of typing constraints from Rust's ownership type
system. We implement SyRust, a testing framework for Rust
libraries that automatically synthesizes semantically valid test
cases. Our experiments on $30$ popular open-source
Rust libraries found $4$ new bugs.
Fri 25 JunDisplayed time zone: Eastern Time (US & Canada) change
09:00 - 09:40 | |||
09:00 5mTalk | 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 5mTalk | 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 5mTalk | 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 5mTalk | 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 5mTalk | 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 5mTalk | 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 5mTalk | 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 5mTalk | 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 | |||
21:00 5mTalk | 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 5mTalk | 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 5mTalk | 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 5mTalk | 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 5mTalk | 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 5mTalk | 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 5mTalk | 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 5mTalk | 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 |