Debugging With Behavioral Watchpoints Akshay Kumar

Saved in:
Bibliographic Details
Title: Debugging With Behavioral Watchpoints Akshay Kumar
Contributors: The Pennsylvania State University CiteSeerX Archives
Source: http://www.eecg.toronto.edu/~ashvin/publications/thesis-akshay.pdf.
Publication Year: 2013
Collection: CiteSeerX
Subject Terms: Contents
Description: Finding, understanding, and fixing bugs in software systems is challenging. Dynamic binary trans-lation (DBT) systems provide a powerful facility for building program analysis and debugging tools. However, DBT abstractions are too low-level and provide limited contextual information to instrumentation tools, making it hard to implement such tools. In this theis, we introduce behavioral watchpoints, a new software-based watchpoint frame-work that simplifies the implementation of DBT-based program analysis and debugging tools. Behavioral watchpoints have two key features: 1) they provide contextual information at the instruction level which are directly available with watchpoints and 2) they enable specializing instruction-level instrumentation with individual data structures. We describe three applications that were easily developed using our watchpoint framework: detecting buffer overflows, detecting read-before-write and memory freeing bugs and detecting memory leaks. We implemented behav-ioral watchpoints using Granary, a DBT framework for instrumenting operating system kernels. We evaluated the overheads of watchpoints for analyzing and debugging operating system kernel
Document Type: text
File Description: application/pdf
Language: English
Relation: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.643.4134
Availability: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.643.4134
http://www.eecg.toronto.edu/~ashvin/publications/thesis-akshay.pdf
Rights: Metadata may be used without restrictions as long as the oai identifier remains attached to it.
Accession Number: edsbas.B910DD66
Database: BASE
Description
Abstract:Finding, understanding, and fixing bugs in software systems is challenging. Dynamic binary trans-lation (DBT) systems provide a powerful facility for building program analysis and debugging tools. However, DBT abstractions are too low-level and provide limited contextual information to instrumentation tools, making it hard to implement such tools. In this theis, we introduce behavioral watchpoints, a new software-based watchpoint frame-work that simplifies the implementation of DBT-based program analysis and debugging tools. Behavioral watchpoints have two key features: 1) they provide contextual information at the instruction level which are directly available with watchpoints and 2) they enable specializing instruction-level instrumentation with individual data structures. We describe three applications that were easily developed using our watchpoint framework: detecting buffer overflows, detecting read-before-write and memory freeing bugs and detecting memory leaks. We implemented behav-ioral watchpoints using Granary, a DBT framework for instrumenting operating system kernels. We evaluated the overheads of watchpoints for analyzing and debugging operating system kernel