Compiler Testing With Relaxed Memory Models

Guardado en:
Detalles Bibliográficos
Publicado en:arXiv.org (Jan 29, 2024), p. n/a
Autor principal: Geeson, Luke
Otros Autores: Smith, Lee
Publicado:
Cornell University Library, arXiv.org
Materias:
Acceso en línea:Citation/Abstract
Full text outside of ProQuest
Etiquetas: Agregar Etiqueta
Sin Etiquetas, Sea el primero en etiquetar este registro!

MARC

LEADER 00000nab a2200000uu 4500
001 2879447993
003 UK-CbPIL
022 |a 2331-8422 
035 |a 2879447993 
045 0 |b d20240129 
100 1 |a Geeson, Luke 
245 1 |a Compiler Testing With Relaxed Memory Models 
260 |b Cornell University Library, arXiv.org  |c Jan 29, 2024 
513 |a Working Paper 
520 3 |a 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. 
653 |a Source programs 
653 |a Semantics 
653 |a Source code 
653 |a Compilers 
653 |a Art techniques 
653 |a Concurrency 
653 |a State-of-the-art reviews 
700 1 |a Smith, Lee 
773 0 |t arXiv.org  |g (Jan 29, 2024), p. n/a 
786 0 |d ProQuest  |t Engineering Database 
856 4 1 |3 Citation/Abstract  |u https://www.proquest.com/docview/2879447993/abstract/embedded/7BTGNMKEMPT1V9Z2?source=fedsrch 
856 4 0 |3 Full text outside of ProQuest  |u http://arxiv.org/abs/2310.12337