RustSmith: Random Differential Compiler Testing 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 RustSmith, the first Rust randomised program generator for end-to-end testing of Rust compilers. RustSmith generates programs that conform to the advanced type system of Rust, respecting rules related to borrowing and lifetimes, and that are guaranteed to terminate normally yielding a well-defined result. This makes Rust suitable for differential testing between compilers or across optimisation levels. We report on our experience applying RustSmith to a series of historic versions of the official Rust compiler, rustc, showing that RustSmith can detect historical insidious compiler bugs that evaded detection for some time, and to an alternative Rust compiler implementation, mrustc. We also present the results of a controlled experiment assessing statement and mutation coverage in comparison to that achieved by the rustc optimisation test suite.
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 |