Lightweight Extraction of Object Models from Bytecode
Abstract
A program's object model captures the essence of its design.For some programs, no object model was developed during design; for others, an object model exists but may be outof-sync with the code.This paper describes a tool that automatically extracts an object model from the classfiles of a Java program.Although the tool performs only a simple, heuristic analysis that is almost entirely local, the resulting object model is surprisingly accurate.The paper explains the form of the object model, the assumptions upon which the analysis is based, and its limitations, and evaluates the tool on a suite of sample programs.1