This paper describes experiences with the design and implementation of the NPIC program analysis system. We describe how the object-oriented design of the intermediate representation provides front end and analysis independence using the abstract factory pattern, and illustrate how using multiple inheritance allows it to be extended to support program analysis. We also describe how the intermediate representation can be serialized to and from a file. The techniques described in this work provide useful insight into the construction of an object-oriented program analysis system.
Index Terms:
Program Analysis, Multiple Inheritance, Pointer Analysis
Citation:
Michael Hind, Anthony Pioli, "Traveling Through Dakota: Experiences with an Object-Oriented Program Analysis System," tools, pp.49, Technology of Object-Oriented Languages and Systems (TOOLS 34'00), 2000