SymRustC: A Hybrid Fuzzer for Rust
Wed 19 Jul 2023 15:30 - 17:00 at Microsoft Atrium (Allen Center) - Tool Demonstrations Chair(s): Jonathan Bell, Luís Pina
We present SymRustC, a hybrid fuzzer for Rust. SymRustC is hybrid in the sense that it combines fuzzing and concolic execution. SymRustC leverages an existing tool called SymCC for its concolic execution capability and another existing tool called LibAFL for its fuzzing capability. Since SymCC instruments LLVM IR (Intermediate Representation) for concolic execution and the Rust compiler uses LLVM as a backend, we integrate SymCC with the Rust compiler to instrument Rust programs for concolic execution. LibAFL provides a framework to develop a fuzzer, and we use it to develop a hybrid fuzzer that combines fuzzing and our concolic execution. We discuss our implementation as well as four case studies to demonstrate that SymRustC can generate inputs that discover errors in Rust programs.
Source repository: https://github.com/sfu-rsl/symrustc
Tue 18 JulDisplayed time zone: Pacific Time (US & Canada) change
13:30 - 15:00 | Tool Demo PresentationsTool Demonstrations at Habib Classroom (Gates G01) Chair(s): Jonathan Bell Northeastern University, Luís Pina University of Illinois at Chicago | ||
13:30 6mTalk | DDLDroid: A Static Analyzer for Automatically Detecting Data Loss Issues in Android Applications Tool Demonstrations Yuhao Zhou Nanjing University of Science and Technology, Wei Song Nanjing University of Science and Technology Link to publication DOI Media Attached | ||
13:36 6mTalk | EvoSpex: A Search-based Tool for Postcondition Inference Tool Demonstrations Facundo Molina IMDEA Software Institute, Pablo Ponzio Dept. of Computer Science FCEFQyN, University of Rio Cuarto, Nazareno Aguirre University of Rio Cuarto and CONICET, Argentina, Marcelo F. Frias Dept. of Software Engineering Instituto Tecnológico de Buenos Aires Media Attached | ||
13:42 6mTalk | ECSTATIC: Automatic Configuration-Aware Testing and Debugging of Static Analysis Tools Tool Demonstrations Austin Mordahl University of Texas at Dallas, Dakota Soles The University of Texas at Dallas, Miao Miao The University of Texas at Dallas, Zenong Zhang The University of Texas at Dallas, Shiyi Wei University of Texas at Dallas | ||
13:49 6mTalk | KeenTune: Automated Tuning Tool for Cloud Application Performance Testing and Optimization Tool Demonstrations Qinglong Wang Alibaba Group, Runzhe Wang Alibaba Group, Yuxi Hu Alibaba Group, Xiaohai Shi Alibaba Group, Zheng Liu Alibaba Group; Zhejiang University, Tao Ma Alibaba Group, Houbing Song University of Maryland, Baltimore County, Heyuan Shi Central South University | ||
13:55 6mTalk | EDHOC-Fuzzer: An EDHOC Protocol State Fuzzer Tool Demonstrations Konstantinos (Kostis) Sagonas Uppsala University and Nat. Tech. Univ. of Athens, Thanasis Typaldos National Technical University of Athens DOI Pre-print | ||
14:02 6mTalk | KDAlloc: The KLEE Deterministic Allocator Tool Demonstrations Daniel Schemmel Imperial College London, Julian Büning RWTH Aachen University, Frank Busse Imperial College London, Martin Nowack Imperial College London, Cristian Cadar Imperial College London | ||
14:08 6mTalk | RustSmith: Random Differential Compiler Testing for Rust Tool Demonstrations Mayank Sharma Imperial College London, Pingshi Yu Imperial College London, Alastair F. Donaldson Imperial College London | ||
14:15 6mTalk | SymRustC: A Hybrid Fuzzer for Rust Tool Demonstrations Frédéric Tuong Simon Fraser University, Mohammad Omidvar Tehrani Simon Fraser University, Marco Gaboardi Boston University, Steve Ko Simon Fraser University | ||
14:21 6mTalk | TreeLine and SlackLine: Grammar-Based Performance Fuzzing on Coffee Break Tool Demonstrations | ||
14:27 6mTalk | MetaData262: Automatic Test Suite Selection for Partial JavaScript Implementations Tool Demonstrations Frederico Ramos Instituto Superior Técnico, Diogo Costa Reis Instituto Superior Técnico, Miguel Trigo Instituto Superior Técnico, António Morgado INESC-ID, José Fragoso Santos INESC-ID/Instituto Superior Técnico, Portugal | ||
14:34 6mTalk | PExReport-Maven: Creating Pruned Executable Cross-Project Failure Reports in Maven Build System Tool Demonstrations Media Attached | ||
14:40 6mTalk | RobotBT: Behavior-Tree-Based Test-Case Specification for the Robot Framework Tool Demonstrations Sven Peldszus Ruhr University Bochum, Noubar Akopian Ruhr University Bochum, Thorsten Berger Ruhr University Bochum DOI Media Attached | ||
14:47 6mTalk | Behaviorally Typed State Machines in TypeScript for Heterogeneous Swarms Tool Demonstrations | ||
14:53 6mTalk | Oven: Safe and Live Communication Protocols in Scala, using Synthetic Behavioural Type Analysis Tool Demonstrations Francisco Ferreira Royal Holloway, University of London, Sung-Shik Jongmans Open University of the Netherlands; CWI |
Wed 19 JulDisplayed time zone: Pacific Time (US & Canada) change
15:30 - 17:00 | Tool DemonstrationsTool Demonstrations at Microsoft Atrium (Allen Center) Chair(s): Jonathan Bell Northeastern University, Luís Pina University of Illinois at Chicago | ||
15:30 90mTalk | KeenTune: Automated Tuning Tool for Cloud Application Performance Testing and Optimization Tool Demonstrations Qinglong Wang Alibaba Group, Runzhe Wang Alibaba Group, Yuxi Hu Alibaba Group, Xiaohai Shi Alibaba Group, Zheng Liu Alibaba Group; Zhejiang University, Tao Ma Alibaba Group, Houbing Song University of Maryland, Baltimore County, Heyuan Shi Central South University | ||
15:30 90mTalk | RustSmith: Random Differential Compiler Testing for Rust Tool Demonstrations Mayank Sharma Imperial College London, Pingshi Yu Imperial College London, Alastair F. Donaldson Imperial College London | ||
15:30 90mTalk | PExReport-Maven: Creating Pruned Executable Cross-Project Failure Reports in Maven Build System Tool Demonstrations Media Attached | ||
15:30 90mTalk | EDHOC-Fuzzer: An EDHOC Protocol State Fuzzer Tool Demonstrations Konstantinos (Kostis) Sagonas Uppsala University and Nat. Tech. Univ. of Athens, Thanasis Typaldos National Technical University of Athens DOI Pre-print | ||
15:30 90mTalk | KDAlloc: The KLEE Deterministic Allocator Tool Demonstrations Daniel Schemmel Imperial College London, Julian Büning RWTH Aachen University, Frank Busse Imperial College London, Martin Nowack Imperial College London, Cristian Cadar Imperial College London | ||
15:30 90mTalk | TreeLine and SlackLine: Grammar-Based Performance Fuzzing on Coffee Break Tool Demonstrations | ||
15:30 90mTalk | SymRustC: A Hybrid Fuzzer for Rust Tool Demonstrations Frédéric Tuong Simon Fraser University, Mohammad Omidvar Tehrani Simon Fraser University, Marco Gaboardi Boston University, Steve Ko Simon Fraser University | ||
15:30 90mTalk | ECSTATIC: Automatic Configuration-Aware Testing and Debugging of Static Analysis Tools Tool Demonstrations Austin Mordahl University of Texas at Dallas, Dakota Soles The University of Texas at Dallas, Miao Miao The University of Texas at Dallas, Zenong Zhang The University of Texas at Dallas, Shiyi Wei University of Texas at Dallas | ||
15:30 90mTalk | EvoSpex: A Search-based Tool for Postcondition Inference Tool Demonstrations Facundo Molina IMDEA Software Institute, Pablo Ponzio Dept. of Computer Science FCEFQyN, University of Rio Cuarto, Nazareno Aguirre University of Rio Cuarto and CONICET, Argentina, Marcelo F. Frias Dept. of Software Engineering Instituto Tecnológico de Buenos Aires Media Attached | ||
15:30 90mTalk | Behaviorally Typed State Machines in TypeScript for Heterogeneous Swarms Tool Demonstrations | ||
15:30 90mTalk | DDLDroid: A Static Analyzer for Automatically Detecting Data Loss Issues in Android Applications Tool Demonstrations Yuhao Zhou Nanjing University of Science and Technology, Wei Song Nanjing University of Science and Technology Link to publication DOI Media Attached | ||
15:30 90mTalk | Oven: Safe and Live Communication Protocols in Scala, using Synthetic Behavioural Type Analysis Tool Demonstrations Francisco Ferreira Royal Holloway, University of London, Sung-Shik Jongmans Open University of the Netherlands; CWI | ||
15:30 90mTalk | MetaData262: Automatic Test Suite Selection for Partial JavaScript Implementations Tool Demonstrations Frederico Ramos Instituto Superior Técnico, Diogo Costa Reis Instituto Superior Técnico, Miguel Trigo Instituto Superior Técnico, António Morgado INESC-ID, José Fragoso Santos INESC-ID/Instituto Superior Técnico, Portugal | ||
15:30 90mTalk | RobotBT: Behavior-Tree-Based Test-Case Specification for the Robot Framework Tool Demonstrations Sven Peldszus Ruhr University Bochum, Noubar Akopian Ruhr University Bochum, Thorsten Berger Ruhr University Bochum DOI Media Attached |