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

dc.contributorStroustrup, Bjarne
dc.creatorWagner, Luke A.
dc.date.accessioned2010-01-14T23:55:22Z
dc.date.accessioned2010-01-16T00:17:53Z
dc.date.accessioned2017-04-07T19:54:41Z
dc.date.available2010-01-14T23:55:22Z
dc.date.available2010-01-16T00:17:53Z
dc.date.available2017-04-07T19:54:41Z
dc.date.created2009-08
dc.date.issued2010-01-14
dc.description.abstractTo 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).
dc.identifier.urihttp://hdl.handle.net/1969.1/ETD-TAMU-2009-08-908
dc.language.isoen_US
dc.subjectProgram analysis
dc.subjectC++
dc.subjectTraversal
dc.titleTraversal, Case Analysis, and Lowering for C++ Program Analysis
dc.typeBook
dc.typeThesis

Files