Publication | Closed Access
Towards pattern-based design recovery
92
Citations
0
References
2002
Year
Unknown Venue
Software MaintenanceEngineeringSoftware EngineeringSource Code AnalysisComputer-aided DesignSoftware AnalysisFormal VerificationSocial SciencesDesign RecoverySoftware Design PatternDesign PatternsDesign ReuseDesignComputer ScienceStatic Program AnalysisSoftware DesignCode RefactoringJgl LibrariesArchitectural DesignProgram AnalysisSoftware TestingFormal MethodsSoftware Architecture RecoverySystem Software
The authors present a method and tool that semi‑automatically recognize design pattern instances to aid design recovery and program understanding, addressing scalability issues from numerous pattern variants. Their approach uses an incremental recognition algorithm that leverages reverse‑engineer supplied domain knowledge and a specialized annotated abstract syntax graph to analyze software systems without a single pass. A quantitative comparison on the Java AWT and JGL libraries demonstrates the effectiveness of the approach.
A method and a corresponding tool is described which assist design recovery and program understanding by recognising instances of design patterns semi-automatically. The approach taken is specifically designed to overcome the existing scalability problems caused by many design and implementation variants of design pattern instances. Our approach is based on a new recognition algorithm which works incrementally rather than trying to analyse a possibly large software system in one pass without any human intervention. The new algorithm exploits domain and context knowledge given by a reverse engineer and by a special underlying data structure, namely a special form of an annotated abstract syntax graph. A comparative and quantitative evaluation of applying the approach to the Java AWT and JGL libraries is also given.