University of Illinois at Urbana-Champaign
Hybrid Static/Dynamic Type Safety for C/C++ Programs
Abstract
dc:descriptionC/C++ are the languages of choice for development of many widely used system softwares. However, these languages do not provide the strong safety guarantees that safe languages such as Java do. Programming mistakes can introduce type errors that are not caught at compile time. These errors may subsequently be triggered at runtime, and their sources maybe hard to detect. This thesis presents the design and implementation for a dynamic type checker for C/C++ programs. It is built using the LLVM compiler infras- tructure and provides type safety for programs that have been compiled to the LLVM IR. The thesis also discusses the design of static analysis to reduce the overhead of the dynamic type checker. We present an implementation of the static analysis and discuss how its results can be used to optimize the dynamic type checker. We also present performance evaluation on various benchmarks and system software. We present results that show that we can catch most errors with relatively low overhead.
Degree
thesis:*- Name thesis:degree_name
- M.S.
- Level thesis:degree_level
- Thesis
- Discipline thesis:degree_discipline
- Computer Science
- Grantor
- University of Illinois at Urbana-Champaign
- Year dc:date
- 2011
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Aggarwal, Arushi
- Contributors dc:contributor
-
- Adve, Vikram S.
Subjects
dc:subject × 2Rights
dc:rights- Statement dc:rights
-
- Copyright 2011 Arushi Aggarwal
- Language dc:language
- en
Identifiers
dc:identifier.*- Handle dc:identifier
- http://hdl.handle.net/2142/26250
- OAI identifier oai:identifier
- oai:www.ideals.illinois.edu:2142/26250