| Title: | A scalable mixed-level approach to dynamic analysis of C and C++ programs |
| Author: | Guo, Philip Jia |
| Other Contributors: | Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. |
| Advisor: | Michael D. Ernst. |
| Department: | Massachusetts Institute of Technology. Dept. of Electrical Engineering and Computer Science. |
| Publisher: | Massachusetts Institute of Technology |
| Issue Date: | 2006 |
| Abstract: | This thesis addresses the difficult task of constructing robust and scalable dynamic program analysis tools for programs written in memory-unsafe languages such as C and C++, especially those that are interested in observing the contents of data structures at run time. In this thesis, I first introduce my novel mixed-level approach to dynamic analysis, which combines the advantages of both source- and binary-based approaches. Second, I present a tool framework that embodies the mixed-level approach. This framework provides memory safety guarantees, allows tools built upon it to access rich source- and binary-level information simultaneously at run time, and enables tools to scale to large, real-world C and C++ programs on the order of millions of lines of code. Third, I present two dynamic analysis tools built upon my framework - one for performing value profiling and the other for performing dynamic inference of abstract types - and describe how they far surpass previous analyses in terms of scalability, robustness, and applicability. Lastly, I present several case studies demonstrating how these tools aid both humans and automated tools in several program analysis tasks: improving human understanding of unfamiliar code, invariant detection, and data structure repair. |
| Description: |
Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2006. Includes bibliographical references (p. 107-112). |
| URI: | http://hdl.handle.net/1721.1/36767 |
| Keywords: | Electrical Engineering and Computer Science. |
| Files | Size | Format | View | Description |
|---|---|---|---|---|
| Preview, non-printable (open to all) | 5.811Mb |
View/ |
Preview, non-printable (open to all) | |
| Full printable version (MIT only) | 5.811Mb |
View/ |
Full printable version (MIT only) |