Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Managing design trade-offs for a program understanding and transformation tool
Journal of Systems and Software - Double issue on reengineering complex systems
Lightweight lexical source model extraction
ACM Transactions on Software Engineering and Methodology (TOSEM)
GD '97 Proceedings of the 5th International Symposium on Graph Drawing
Assessing Architectural Complexity
CSMR '98 Proceedings of the 2nd Euromicro Conference on Software Maintenance and Reengineering ( CSMR'98)
Design Recovery by Automated Search for Structural Design Patterns in Object-Oriented Software
WCRE '96 Proceedings of the 3rd Working Conference on Reverse Engineering (WCRE '96)
Lightweight extraction of object models from bytecode
Proceedings of the 21st international conference on Software engineering
Round-trip engineering with design patterns, UML, Java and C++
Proceedings of the 21st international conference on Software engineering
Lightweight Extraction of Object Models from Bytecode
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
From use cases to code - rigorous software development with UML
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
From use cases to code---rigorous software development with UML
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Towards pattern-based design recovery
Proceedings of the 24th International Conference on Software Engineering
Object-oriented processing of Java source code
Software—Practice & Experience
Story driven modeling: a practical guide to model driven software development
Proceedings of the 27th international conference on Software engineering
A practical pattern recovery approach based on both structural and behavioral analysis
Journal of Systems and Software - Special issue: Software engineering education and training
Experiments on Design Pattern Discovery
PROMISE '07 Proceedings of the Third International Workshop on Predictor Models in Software Engineering
Identifying Data Transfer Objects in EJB Applications
WODA '07 Proceedings of the 5th International Workshop on Dynamic Analysis
Software Engineering
Fast and precise points-to analysis
Information and Software Technology
Formal specification of the variants and behavioural features of design patterns
Journal of Systems and Software
DPVK - An Eclipse Plug-in to Detect Design Patterns in Eiffel Systems
Electronic Notes in Theoretical Computer Science (ENTCS)
A matrix-based approach to recovering design patterns
IEEE Transactions on Systems, Man, and Cybernetics, Part A: Systems and Humans
Generating a catalog of unanticipated schemas in class hierarchies using Formal Concept Analysis
Information and Software Technology
Identification of behavioural and creational design motifs through dynamic analysis
Journal of Software Maintenance and Evolution: Research and Practice
Parallel points-to analysis for multi-core machines
Proceedings of the 6th International Conference on High Performance and Embedded Architectures and Compilers
Automated verification of design patterns: A case study
Science of Computer Programming
Hi-index | 0.00 |
In this paper we show how to recover design information from Java source code. We take a pattern-based approach and proceed in a step by step manner deriving several layers of increasing abstraction. A compiler collects information about inheritance hierarchies and method call relations. It also looks for particular source text patterns coming from naming conventions or programming guidelines.The result of the compile phase is a graph acting as the starting graph of a graph grammar that describes our design recovery process. We define criteria for the automatic detection of associations and aggregations between classes, as well as for some of the popular design patterns such as composite or strategy.