Compiler Testing With Relaxed Memory Models
October 18, 2023 Β· Declared Dead Β· π IEEE/ACM International Symposium on Code Generation and Optimization
"No code URL or promise found in abstract"
Evidence collected by the PWNC Scanner
Authors
Luke Geeson, Lee Smith
arXiv ID
2310.12337
Category
cs.PL: Programming Languages
Cross-listed
cs.AR,
cs.SE
Citations
3
Venue
IEEE/ACM International Symposium on Code Generation and Optimization
Last Checked
4 months ago
Abstract
Finding bugs is key to the correctness of compilers in wide use today. If the behaviour of a compiled program, as allowed by its architecture memory model, is not a behaviour of the source program under its source model, then there is a bug. This holds for all programs, but we focus on concurrency bugs that occur only with two or more threads of execution. We focus on testing techniques that detect such bugs in C/C++ compilers. We seek a testing technique that automatically covers concurrency bugs up to fixed bounds on program sizes and that scales to find bugs in compiled programs with many lines of code. Otherwise, a testing technique can miss bugs. Unfortunately, the state-of-the-art techniques are yet to satisfy all of these properties. We present the TΓ©lΓ©chat compiler testing tool for concurrent programs. TΓ©lΓ©chat compiles a concurrent C/C++ program and compares source and compiled program behaviours using source and architecture memory models. We make three claims: TΓ©lΓ©chat improves the state-of-the-art at finding bugs in code generation for multi-threaded execution, it is the first public description of a compiler testing tool for concurrency that is deployed in industry, and it is the first tool that takes a significant step towards the desired properties. We provide experimental evidence suggesting TΓ©lΓ©chat finds bugs missed by other state-of-the-art techniques, case studies indicating that TΓ©lΓ©chat satisfies the properties, and reports of our experience deploying TΓ©lΓ©chat in industry regression testing.
Community Contributions
Found the code? Know the venue? Think something is wrong? Let us know!
π Similar Papers
In the same crypt β Programming Languages
R.I.P.
π»
Ghosted
R.I.P.
π»
Ghosted
Tensor Comprehensions: Framework-Agnostic High-Performance Machine Learning Abstractions
R.I.P.
π»
Ghosted
Glow: Graph Lowering Compiler Techniques for Neural Networks
R.I.P.
π»
Ghosted
Learnable Programming: Blocks and Beyond
R.I.P.
π»
Ghosted
Scenic: A Language for Scenario Specification and Scene Generation
R.I.P.
π»
Ghosted
Vandal: A Scalable Security Analysis Framework for Smart Contracts
Died the same way β π» Ghosted
R.I.P.
π»
Ghosted
Federated Learning: Strategies for Improving Communication Efficiency
R.I.P.
π»
Ghosted
In-Datacenter Performance Analysis of a Tensor Processing Unit
R.I.P.
π»
Ghosted
Deep Convolutional Neural Networks for Computer-Aided Detection: CNN Architectures, Dataset Characteristics and Transfer Learning
R.I.P.
π»
Ghosted