Student Project Awards


Suresh Chandra Memorial Award (M.Techs and Duals)

Pratik Karia and Vaibhav Kurhe

Thesis Title: Debugging Optimized Programs using Black-Box Equivalence Checker

Advisor: Sorav Bansal

Abstract: Debugging optimized programs generated by modern compilers in standard debuggers such as GDB is a desirable capability. Improving the debugging information in optimized programs produced by modern optimizing compilers such as GCC, LLVM/Clang and ICC has the potential to compete with existing approaches that use custom compilers/debuggers and/or require new compiler-debugger interfaces. Typically, persisting the debugging information while generating an optimized program from the original source program becomes difficult and error-prone due to the large and complex nature of analyses and transformations performed by a modern optimizing compiler. We demonstrate the application of a blackbox equivalence checker to improve debugging information in optimized programs without the knowledge of exact transformations done by a compiler. We are able to show a significant improvement in debugging information for the programs in TSVC benchmark using LLVM/Clang and GCC. We present a technique of using a blackbox equivalence checker to correlate the unoptimized and optimized versions of a source program and provide predicates for source variables in terms of registers in the optimized program, which are then converted into DWARF expressions and inserted into the optimized program to improve its debugging information. The updated optimized program can be directly run inside standard debuggers such as GDB.

Presentation slides (PDF)

Thesis (PDF): Pratik Karia, Vaibhav Kurhe

Copyright © 2021 Department of Computer Science and Engineering. All Rights Reserved.