Pattern-based design recovery of Java software
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Pattern-based reverse-engineering of design components
Proceedings of the 21st international conference on Software engineering
Pattern-based design recovery with SPOOL
Advances in software engineering
Towards pattern-based design recovery
Proceedings of the 24th International Conference on Software Engineering
Mapping Procedural Patterns to Object-Oriented Design Patterns
Automated Software Engineering
An Approach for Recovering Distributed System Architectures
Automated Software Engineering
A Theory of Object-Oriented Design
Information Systems Frontiers
Design Patterns Application in UML
ECOOP '00 Proceedings of the 14th European Conference on Object-Oriented Programming
Automatic Design Patterns Identification of C++ Programs
EurAsia-ICT '02 Proceedings of the First EurAsian Conference on Information and Communication Technology
Model checking the composition of hypermedia design components
CASCON '00 Proceedings of the 2000 conference of the Centre for Advanced Studies on Collaborative research
Principles in formal specification of object oriented design and architecture
CASCON '01 Proceedings of the 2001 conference of the Centre for Advanced Studies on Collaborative research
Reverse Engineering of the UML Class Diagram from C++ Code in Presence of Weakly Typed Containers
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
OO Design Patterns, Design Structure, and Program Changes: An Industrial Case Study
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
A Declarative Evolution Framework for Object-Oriented Design Patterns
ICSM '01 Proceedings of the IEEE International Conference on Software Maintenance (ICSM'01)
Software Process Representation and Analysis for Framework Instantiation
IEEE Transactions on Software Engineering
Recovering binary class relationships: putting icing on the UML cake
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Defect Frequency and Design Patterns: An Empirical Study of Industrial Code
IEEE Transactions on Software Engineering
Efficient Relational Calculation for Software Analysis
IEEE Transactions 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
Measuring precision for static and dynamic design pattern recognition as a function of coverage
WODA '05 Proceedings of the third international workshop on Dynamic analysis
Relational programming with CrocoPat
Proceedings of the 28th international conference on Software engineering
Recognizing behavioral patterns atruntime using finite automata
Proceedings of the 2006 international workshop on Dynamic systems analysis
Combining fuzzy logic and behavioral similarity for non-strict program validation
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
Automatically discovering design patterns and assessing concern separations for applications
Proceedings of the 2006 ACM symposium on Applied computing
Automatic detection of incomplete instances of structural patterns in UML class diagrams
Nordic Journal of Computing
Reverse-engineering 1-n associations from Java bytecode using alias analysis
Information and Software Technology
An approach to evaluating structural pattern conformance of UML models
Proceedings of the 2007 ACM symposium on Applied computing
Behavioral similarity matching using concrete source code templates in logic queries
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
New Frontiers of Reverse Engineering
FOSE '07 2007 Future of Software Engineering
Web Semantics: Science, Services and Agents on the World Wide Web
Identifying Data Transfer Objects in EJB Applications
WODA '07 Proceedings of the 5th International Workshop on Dynamic Analysis
Visualizing Design Patterns in Their Applications and Compositions
IEEE Transactions on Software Engineering
An empirical study on the evolution of design patterns
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Discovery of SOA patterns via model checking
2nd international workshop on Service oriented software engineering: in conjunction with the 6th ESEC/FSE joint meeting
Evaluating pattern conformance of UML models: a divide-and-conquer approach and case studies
Software Quality Control
Software Engineering
Design Pattern Detection by Using Meta Patterns
IEICE - Transactions on Information and Systems
Design pattern recovery through visual language parsing and source code analysis
Journal of Systems and Software
Design pattern density defined
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Recovering business processes from business applications
Journal of Software Maintenance and Evolution: Research and Practice
Identification of design motifs with pattern matching algorithms
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)
Combating architectural degeneration: a survey
Information and Software Technology
Improving design-pattern identification: a new approach and an exploratory study
Software Quality Control
TECDP: a tool for extracting creational design patterns
Proceedings of the International Conference and Workshop on Emerging Trends in Technology
Generating a catalog of unanticipated schemas in class hierarchies using Formal Concept Analysis
Information and Software Technology
Detecting design pattern using subgraph discovery
ACIIDS'10 Proceedings of the Second international conference on Intelligent information and database systems: Part I
Identification of behavioural and creational design motifs through dynamic analysis
Journal of Software Maintenance and Evolution: Research and Practice
Static extraction of program configuration options
Proceedings of the 33rd International Conference on Software Engineering
Flexible design pattern detection based on feature types
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Language-independent detection of object-oriented design patterns
Computer Languages, Systems and Structures
International Journal of Information System Modeling and Design
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.00 |
The object-oriented design community has recently begun to collect so-called design patterns: cliches plus hints to their recommended use in software construction. The structural design patterns Adapter, Bridge, Composite, Decorator, and Proxy represent packaged problem/context/solution/properties descriptions to common problems in object-oriented design. Localizing instances of these patterns in existing software produced without explicit use of patterns can improve the maintainability of software. In our approach, called the Pat system, design information is extracted directly from C++ header files and stored in a repository. The patterns are expressed as PROLOG rules and the design information is translated into facts. A single PROLOG query is then used to search for all patterns. We examined four applications, including the popular class libraries zApp and LEDA, with Pat. With some restrictions all pattern instances are found; the precision is about 40 percent. Since manual filtering of the output is relatively easy, we consider Pat a useful tool for discovering or recovering design information.