Fundamentals of software engineering
Fundamentals of software engineering
Information retrieval: data structures and algorithms
Information retrieval: data structures and algorithms
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Pattern-based design recovery of Java software
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Supporting Scenario-Based Requirements Engineering
IEEE Transactions on Software Engineering
Pattern-based reverse-engineering of design components
Proceedings of the 21st international conference on Software engineering
Object-oriented design patterns recovery
Journal of Systems and Software
Fuzzy logic based interactive recovery of software design
Proceedings of the 24th International Conference on Software Engineering
Applying Plan Recognition Algorithms To Program Understanding
Automated Software Engineering
Modernizing Legacy Systems: Software Technologies, Engineering Process and Business Practices
Modernizing Legacy Systems: Software Technologies, Engineering Process and Business Practices
Leveraging Legacy System Dollars for E-Business
IT Professional
A Scenario-Driven Approach to Trace Dependency Analysis
IEEE Transactions on Software Engineering
Modeling Object-Oriented Program Execution
ECOOP '94 Proceedings of the 8th European Conference on Object-Oriented Programming
No Java without Caffeine: A Tool for Dynamic Analysis of Java Programs
Proceedings of the 17th IEEE international conference on Automated software engineering
Declarative Reasoning about the Structure of Object-Oriented Systems
TOOLS '98 Proceedings of the Technology of Object-Oriented Languages and Systems
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)
Towards the Reverse Engineering of UML Sequence Diagrams
WCRE '03 Proceedings of the 10th Working Conference on Reverse 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
Requirements Engineering
Recovering Behavioral Design Models from Execution Traces
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
Scenario-Based Assessment of Nonfunctional Requirements
IEEE Transactions on Software Engineering
Static control-flow analysis for reverse engineering of UML sequence diagrams
PASTE '05 Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
ICPC '06 Proceedings of the 14th IEEE International Conference on Program Comprehension
Recognizing behavioral patterns atruntime using finite automata
Proceedings of the 2006 international workshop on Dynamic systems analysis
Reverse Engineering of Design Patterns from Java Source Code
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Efficient and Accurate Software Pattern Detection
APSEC '06 Proceedings of the XIII Asia Pacific Software Engineering Conference
Feature Identification: An Epidemiological Metaphor
IEEE Transactions on Software Engineering
Toward the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software
IEEE Transactions on Software Engineering
Design Pattern Detection Using Similarity Scoring
IEEE Transactions on Software Engineering
A comparison of logic-based infrastructures for concern detection and extraction
Proceedings of the 3rd workshop on Linking aspect technology and evolution
DeMIMA: A Multilayered Approach for Design Pattern Identification
IEEE Transactions on Software Engineering
A fast algorithm to locate concepts in execution traces
SSBSE'11 Proceedings of the Third international conference on Search based software engineering
Hi-index | 0.00 |
Design patterns offer design motifs, solutions to object-oriented design problems. Design motifs lead to well-structured designs and thus are believed to ease software maintenance. However, after use, they are often ‘lost’ and are consequently of little help during program comprehension and other maintenance activities. Therefore, several works proposed design pattern identification approaches to recover occurrences of the motifs. These approaches mainly used the structure and organization of classes as input. Consequently, they have a low precision when considering behavioural and creational motifs, which pertain to the assignment of responsibilities and the collaborations among objects at runtime. We propose MoDeC, an approach to describe behavioural and creational motifs as collaborations among objects in the form of scenario diagrams. We identify these motifs using dynamic analysis and constraint programming. Using a proof-of-concept implementation of MoDeC and different scenarios for five other Java programs and Builder, Command, and Visitor, we show that MoDeC has a better precision than the state-of-the-art static approaches. Copyright © 2009 John Wiley & Sons, Ltd.