Fri 17 Jun 2022 11:00 - 11:20 at Macaw - Compilation Chair(s): Deian Stefan

High-level synthesis (HLS), which refers to the automatic compilation of software into hardware, is rapidly gaining popularity. In a world increasingly reliant on application-specific hardware accelerators, HLS promises hardware designs of comparable performance and energy efficiency to those coded by hand in a hardware description language such as Verilog, while maintaining the convenience and the rich ecosystem of software development. However, current HLS tools cannot always guarantee that the hardware designs they produce are equivalent to the software they were given, thus undermining any reasoning conducted at the software level. Furthermore, there is mounting evidence that existing HLS tools are quite unreliable, sometimes generating wrong hardware or crashing when given valid inputs.

To address this problem, we present the first HLS tool that is mechanically verified to preserve the behaviour of its input software. Our tool, called Vericert, extends the CompCert verified C compiler with a new hardware-oriented intermediate language and a Verilog back end, and has been proven correct in Coq. Vericert supports most C constructs, including all integer operations, function calls, local arrays, structs, unions, and general control-flow statements. An evaluation on the PolyBench/C benchmark suite indicates that Vericert generates hardware that is around an order of magnitude slower (only around 2× slower in the absence of division) and about the same size as hardware generated by an existing, optimising (but unverified) HLS tool.

https://dl.acm.org/doi/10.1145/3485494
this URL might only work when visiting from a https://dl.acm.org/doi/ URL.

Fri 17 Jun

Displayed time zone: Pacific Time (US & Canada) change

10:40 - 12:00
CompilationSIGPLAN Track at Macaw
Chair(s): Deian Stefan University of California at San Diego
10:40
20m
Talk
(OOPSLA 2020) Counterexample-Guided Correlation Algorithm for Translation Validation
SIGPLAN Track
Shubhani Gupta , Abhishek Rose IIT Delhi, Sorav Bansal IIT Delhi and CompilerAI Labs
11:00
20m
Talk
(OOPSLA 2021) Formal verification of high-level synthesis
SIGPLAN Track
Yann Herklotz Imperial College London, James D. Pollard Imperial College London, Nadesh Ramanathan Imperial College London, John Wickerson Imperial College London
Link to publication DOI Authorizer link Pre-print
11:20
20m
Talk
(OOPSLA 2021) Well-typed programs can go wrong: a study of typing-related bugs in JVM compilers
SIGPLAN Track
Stefanos Chaliasos Imperial College London, Thodoris Sotiropoulos Athens University of Economics and Business, Georgios-Petros Drosos Athens University of Economics and Business, Charalambos Ioannis Mitropoulos Technical University of Crete, Dimitris Mitropoulos University of Athens, Diomidis Spinellis Athens University of Economics and Business & Delft University of Technology
Link to publication DOI Authorizer link Pre-print
11:40
20m
Talk
(POPL 2021) Formally Verified Speculation and Deoptimization in a JIT Compiler
SIGPLAN Track
Aurèle Barrière Univ Rennes, IRISA, Sandrine Blazy Univ Rennes, IRISA, Olivier Flückiger Northeastern University, David Pichardie Meta, Jan Vitek Northeastern University; Czech Technical University