The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.02 - February (2001 vol.27)
pp: 156-169
ABSTRACT
<p><b>Abstract</b>—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 out-of-sync with the code. This paper describes a tool that automatically extracts an object model from the classfiles of a Java program. Unlike existing tools, it handles container classes by inferring the types of elements stored in a container and eliding the container itself. This feature is crucial for obtaining models that show the structure of the abstract state and bear some relation to conceptual models. Although the tool performs only a simple, heuristic analysis that is almost entirely local, the resulting object model is surprisingly accurate. The paper explains what object models are and why they are useful; describes the analysis, its assumptions, and limitations; evaluates the tool for accuracy, and illustrates its use on a suite of sample programs.</p>
INDEX TERMS
Object model, class diagram, reverse engineering, program understanding, design conformance, lightweight analysis, type inference.
CITATION
Daniel Jackson, Allison Waingold, "Lightweight Extraction of Object Models from Bytecode", IEEE Transactions on Software Engineering, vol.27, no. 2, pp. 156-169, February 2001, doi:10.1109/32.908960
43 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool