WhatsAt: Dynamic Heap Type Inference for Program Understanding and Debugging

Loading...
Thumbnail Image

Date

Authors

Polishchuk, Marina
Liblit, Ben
Schulze, Chloe W.

Advisors

License

DOI

Type

Technical Report

Journal Title

Journal ISSN

Volume Title

Publisher

University of Wisconsin-Madison Department of Computer Sciences

Grantor

Abstract

C programs can be difficult to debug due to lax type enforcement and low-level access to memory. We present a dynamic analysis for C that checks heap snapshots for consistency with program types. Our approach builds on ideas from physical subtyping and conservative garbage collection. We infer a program-defined type for each allocated storage location or identify ?untypable? blocks that reveal heap corruption or type safety violations. The analysis exploits symbolic debug information if present, but requires no annotation or recompilation beyond a list of defined program types and allocated heap blocks. We have integrated our analysis into the GNU Debugger (gdb), and describe our initial experience using this tool with several small to medium-sized programs.

Description

Keywords

Related Material and Data

Citation

TR1583

Sponsorship

Endorsement

Review

Supplemented By

Referenced By