Sie befinden Sich nicht im Netzwerk der Universität Paderborn. Der Zugriff auf elektronische Ressourcen ist gegebenenfalls nur via VPN oder Shibboleth (DFN-AAI) möglich. mehr Informationen...
Ergebnis 26 von 1189
Proceedings of ACM on programming languages, 2023-06, Vol.7 (PLDI), p.1801-1825, Article 180
2023

Details

Autor(en) / Beteiligte
Titel
Program Reconditioning: Avoiding Undefined Behaviour When Finding and Reducing Compiler Bugs
Ist Teil von
  • Proceedings of ACM on programming languages, 2023-06, Vol.7 (PLDI), p.1801-1825, Article 180
Ort / Verlag
New York, NY, USA: ACM
Erscheinungsjahr
2023
Link zum Volltext
Quelle
ACM Digital Library Complete
Beschreibungen/Notizen
  • We introduce program reconditioning, a method for allowing program generation and differential testing to be used to find miscompilation bugs, and test-case reduction to be used to simplify bug-triggering programs, even when (a) the programming language of interest features undefined behaviour (UB) and (b) no tools exist to detect and avoid this UB. We present two program generation tools based on our reconditioning idea: GLSLsmith for the OpenGL Shading Language (GLSL), a widely-used language for graphics programming, and WGSLsmith for the WebGPU Shading Language (WGSL), a new language for web-based graphics rendering. GLSL features many UBs, but unlike for languages such as C and C++ no tools exist to detect them automatically. While the WGSL language specification features very limited UB, early WGSL implementations do exhibit UB, for reasons of initial implementation simplicity, making it challenging to test them to quickly detect and eliminate unrelated miscompilation bugs. Thanks to reconditioning, we show that GLSLsmith and WGSLsmith allow differential testing and test-case reduction to be applied to compilers for GLSL and WGSL for the first time, despite the unavailability of UB detection techniques for these languages. Through a large testing campaign, we have found 24 and 33 bugs in GLSL and WGSL compilers, respectively. We present experiments showing that when reconditioning is disabled, compiler testing leads to a high rate of test programs that appear to trigger miscompilation bugs, but actually just feature UB. We also present a novel approach to managing floating-point roundoff error using reconditioning, implemented for both GLSL and WGSL.
Sprache
Englisch
Identifikatoren
ISSN: 2475-1421
eISSN: 2475-1421
DOI: 10.1145/3591294
Titel-ID: cdi_crossref_primary_10_1145_3591294

Weiterführende Literatur

Empfehlungen zum selben Thema automatisch vorgeschlagen von bX