Debugging Information Validation

Yuanbo Li, Shuo Ding, Qirun Zhang, Davide Italiano

Introduction

Almost all modern production software is compiled with optimization. Debugging optimized code is a desirable functionality. For example, developers usually perform post-mortem debugging on the coredumps produced by optimized code. Moreover, some runtime behaviors are observable only in optimized code. Designing reliable debugging techniques for optimized code has been well-studied in the past. However, little is known about the correctness of the information presented when debugging optimized code. This page summarizes our initial findings.

Implementation

Reported Bugs

The following table gives an overview of the bugs found by our technique.


Compiler Bug Counts
GCC 27
LLVM 36
Rust 2


Last Updated: 2020-03.