Object-oriented modeling and design
Object-oriented modeling and design
Object-oriented development: the fusion method
Object-oriented development: the fusion method
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Designing object systems: object-oriented modelling with Syntropy
Designing object systems: object-oriented modelling with Syntropy
Aspect: detecting bugs with abstract dependences
ACM Transactions on Software Engineering and Methodology (TOSEM)
Software reflexion models: bridging the gap between source and high-level models
SIGSOFT '95 Proceedings of the 3rd ACM SIGSOFT symposium on Foundations of software engineering
Lightweight lexical source model extraction
ACM Transactions on Software Engineering and Methodology (TOSEM)
Pattern-based design recovery of Java software
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Objects, components, and frameworks with UML: the catalysis approach
Objects, components, and frameworks with UML: the catalysis approach
The Unified Modeling Language reference manual
The Unified Modeling Language reference manual
Alcoa: the alloy constraint analyzer
Proceedings of the 22nd international conference on Software engineering
Extracting and Restructuring the Design of Large Systems
IEEE Software
Generalized aliasing as a basis for program analysis tools
Generalized aliasing as a basis for program analysis tools
Reveal: a tool to reverse engineer class diagrams
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
Precise identification of composition relationships for UML class diagrams
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Reverse-engineering 1-n associations from Java bytecode using alias analysis
Information and Software Technology
Code Generation on Steroids: Enhancing COTS Code Generators via Generative Aspects
IWICSS '07 Proceedings of the Second International Workshop on Incorporating COTS Software into Software Systems: Tools and Techniques
Composition inference for UML class diagrams
Automated Software Engineering
Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion
Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Static extraction and conformance checking of the runtime architecture of object-oriented systems
Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Static extraction of sound hierarchical runtime object graphs
Proceedings of the 4th international workshop on Types in language design and implementation
Software Engineering
A field study in static extraction of runtime architectures
Proceedings of the 8th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Questions about object structure during coding activities
Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering
Developer refinement of runtime architectural structure
Proceedings of the 2010 ICSE Workshop on Sharing and Reusing Architectural Knowledge
Analyzing security architectures
Proceedings of the IEEE/ACM international conference on Automated software engineering
Object graphs with ownership domains: an empirical study
Aliasing in Object-Oriented Programming
Hi-index | 0.00 |
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.