Return to search

Traversal, Case Analysis, and Lowering for C++ Program Analysis

To work effectively, programmers need tools to support their typical development
activities, such as the creation, analysis, and transformation of source code.
Analysis and transformation tools can be difficult to write for modern programming
languages and, without a reusable framework, each tool must separately implement
nontrivial algorithms like name lookup and type checking. This thesis describes an
extension to one such framework, named Pivot, that focuses on programs written in
C++. This extension, named Filter, assists the tool builder in traversal, case analysis,
and lowering of the data structure representing C++ programs. Comparisons described
in the thesis show a 2-4x code reduction when solving basic problems (e.g., searching
for uses of a given declaration) using the extension and a performance overhead that
drops below 2x for larger problems (e.g., checking C++ layout compatibility).

Identiferoai:union.ndltd.org:tamu.edu/oai:repository.tamu.edu:1969.1/ETD-TAMU-2009-08-908
Date14 January 2010
CreatorsWagner, Luke A.
ContributorsStroustrup, Bjarne
Source SetsTexas A and M University
Languageen_US
Detected LanguageEnglish
TypeBook, Thesis, Electronic Thesis
Formatapplication/pdf

Page generated in 0.002 seconds