C4.5: programs for machine learning
C4.5: programs for machine learning
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Machine Learning
Pattern-based reverse-engineering of design components
Proceedings of the 21st international conference on Software engineering
Reverse engineering: a roadmap
Proceedings of the Conference on The Future of Software Engineering
Towards pattern-based design recovery
Proceedings of the 24th International Conference on Software Engineering
Reverse Engineering and Design Recovery: A Taxonomy
IEEE Software
Columbus - Reverse Engineering Tool and Schema for C++
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
SHriMP Views: An Interactive Environment for Exploring Java Programs
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
Polymetric Views-A Lightweight Visual Approach to Reverse Engineering
IEEE Transactions on Software Engineering
A Comparison of Reverse Engineering Tools Based on Design Pattern Decomposition
ASWEC '05 Proceedings of the 2005 Australian conference on Software Engineering
CodeCrawler: an information visualization tool for program comprehension
Proceedings of the 27th international conference on Software engineering
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Using dependency models to manage complex software architecture
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A Comparative Framework for Design Recovery Tools
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
Supporting Migration to Services using Software Architecture Reconstruction
STEP '05 Proceedings of the 13th IEEE International Workshop on Software Technology and Engineering Practice
Reverse Engineering of Design Patterns from Java Source Code
ASE '06 Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering
Design Pattern Detection Using Similarity Scoring
IEEE Transactions on Software Engineering
Web Semantics: Science, Services and Agents on the World Wide Web
Can design pattern detection be useful for legacy systemmigration towards SOA?
Proceedings of the 2nd international workshop on Systems development in SOA environments
Mining typical patterns from databases
Information Sciences: an International Journal
Cluster analysis of Java dependency graphs
Proceedings of the 4th ACM symposium on Software visualization
DeMIMA: A Multilayered Approach for Design Pattern Identification
IEEE Transactions on Software Engineering
Towards a Benchmark for Evaluating Reverse Engineering Tools
WCRE '08 Proceedings of the 2008 15th Working Conference on Reverse Engineering
Design Pattern Formalization Techniques
Design Pattern Formalization Techniques
Software Architecture Reconstruction: A Process-Oriented Taxonomy
IEEE Transactions on Software Engineering
Identification of design motifs with pattern matching algorithms
Information and Software Technology
DPDX--Towards a Common Result Exchange Format for Design Pattern Detection Tools
CSMR '10 Proceedings of the 2010 14th European Conference on Software Maintenance and Reengineering
Bauhaus: a tool suite for program analysis and reverse engineering
Ada-Europe'06 Proceedings of the 11th Ada-Europe international conference on Reliable Software Technologies
Impact of refactoring on quality code evaluation
Proceedings of the 4th Workshop on Refactoring Tools
Combining clustering and pattern detection for the reengineering of component-based software systems
Proceedings of the joint ACM SIGSOFT conference -- QoSA and ACM SIGSOFT symposium -- ISARCS on Quality of software architectures -- QoSA and architecting critical systems -- ISARCS
Understanding the relevance of micro-structures for design patterns detection
Journal of Systems and Software
Understanding design patterns — what is the problem?
Software—Practice & Experience
Hi-index | 0.07 |
It is well known that software maintenance and evolution are expensive activities, both in terms of invested time and money. Reverse engineering activities support the obtainment of abstractions and views from a target system that should help the engineers to maintain, evolve and eventually re-engineer it. Two important tasks pursued by reverse engineering are design pattern detection and software architecture reconstruction, whose main objectives are the identification of the design patterns that have been used in the implementation of a system as well as the generation of views placed at different levels of abstractions, which let the practitioners focus on the overall architecture of the system without worrying about the programming details it has been implemented with. In this context we propose an Eclipse plug-in called MARPLE (Metrics and Architecture Reconstruction Plug-in for Eclipse), which supports both the detection of design patterns and software architecture reconstruction activities through the use of basic elements and metrics that are mechanically extracted from the source code. The development of this platform is mainly based on the exploitation of the Eclipse framework and plug-ins as well as of different Java libraries for data access and graph management and visualization. In this paper we focus our attention on the design pattern detection process.