SPLASH 2022
Mon 5 - Sat 10 December 2022 Auckland, New Zealand
Fri 9 Dec 2022 13:30 - 14:00 at Seminar Room G007 - Debugging Chair(s): Neville Grech

Microarchitectural code analyzers, i.e., tools that estimate the throughput of machine code basic blocks, are important utensils in the tool belt of performance engineers. Recent tools like llvm-mca, uiCA, and Ithemal use a variety of techniques and different models for their throughput predictions. When put to the test, it is common to see these state-of-the-art tools give very different results. These inconsistencies are either errors, or they point to different and rarely documented assumptions made by the tool designers.

In this paper, we present AnICA, a tool taking inspiration from differential testing and abstract interpretation to systematically analyze inconsistencies among these code analyzers. Our evaluation shows that AnICA can summarize thousands of inconsistencies in a few dozen descriptions that directly lead to high-level insights into the different behavior of the tools. In several case studies, we further demonstrate how AnICA automatically finds and characterizes known and unknown bugs in llvm-mca, as well as a quirk in AMD’s Zen microarchitectures.

Fri 9 Dec

Displayed time zone: Auckland, Wellington change

13:30 - 14:30
DebuggingOOPSLA at Seminar Room G007
Chair(s): Neville Grech University of Malta
13:30
30m
Talk
AnICA: Analyzing Inconsistencies in Microarchitectural Code Analyzers
OOPSLA
Fabian Ritter Saarland University, Germany, Sebastian Hack Saarland University, Germany
DOI
14:00
30m
Talk
Seq2Parse: Neurosymbolic Parse Error Repair
OOPSLA
Georgios Sakkas University of California at San Diego, Madeline Endres University of Michigan, Philip Guo University of California at San Diego, Westley Weimer University of Michigan, Ranjit Jhala University of California at San Diego
DOI