UCL Discovery Stage
UCL home » Library Services » Electronic resources » UCL Discovery Stage

Compiler Testing with Relaxed Memory Models

Geeson, L; Smith, L; (2024) Compiler Testing with Relaxed Memory Models. In: 2024 IEEE/ACM International Symposium on Code Generation and Optimization (CGO). (pp. pp. 334-348). IEEE: Edinburgh, United Kingdom. Green open access

[thumbnail of paper.pdf]
Preview
PDF
paper.pdf - Accepted Version

Download (386kB) | Preview

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.

Type: Proceedings paper
Title: Compiler Testing with Relaxed Memory Models
Event: 2024 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)
Dates: 2 Mar 2024 - 6 Mar 2024
ISBN-13: 9798350395099
Open access status: An open access version is available from UCL Discovery
DOI: 10.1109/CGO57630.2024.10444836
Publisher version: http://dx.doi.org/10.1109/cgo57630.2024.10444836
Language: English
Additional information: This version is the author accepted manuscript. For information on re-use, please refer to the publisher’s terms and conditions.
Keywords: D.1.3 Concurrent Programming, B.1.2.b Formal models, B.1.4.b Languages and compilers, D.2.5.r Testing tools
UCL classification: UCL
UCL > Provost and Vice Provost Offices > UCL BEAMS
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science
URI: https://discovery-pp.ucl.ac.uk/id/eprint/10191895
Downloads since deposit
656Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item