A Framework and Taxonomy for Characterizing the Applicability of Software Architecture Recovery Approaches: A Tertiary-Mapping Study

Approach Heuristic Sub-Type of SAR Approach Approach Name + Reference Direction of Recovery Technique or Tool Availability Empirical Evaluation Applied-to Systems Required Input
Alborz [74], [75] Bottom-up Tool No Precision and Recall Not Specified Source Code, Dynamic Information, Human Expertise
A concept analysis based approach [80] Hybrid Tool No Experimental Simulation A new feature-based evaluation framework Source Code, Textual Information, Dynamic Information, Physical Information, Styles, Viewpoints
Feature based Architecture Recovery [86] Bottom-up Technique No Case Study Aero, Bash, CVS, Mosaic Source Code, Dynamic Information, Human Expertise
Concept Analysis Unnamed [91] Bottom-up Technique No Case Study Chull, BDD, Go, Lucent Code Source Code
URCA [81] Bottom-up Tool Yes Not Specified Not Specified Source Code, Dynamic Information, Human Expertise
Cacophony [87] Bottom-up Technique No Case Study Control panel, Debugger interface, Cross reference facility, Message facility, Communication package Source Code, Human Expertise
Directed Analysis Symphony/Nimeta [88], [89], [90] Bottom-up Tool No Field Study PKUAS, EJB Source Code, Dynamic Information, Styles
Unnamed [83], [84] Bottom-up Tool No Experimental Simulation Call Graph Source Code, Human Expertise
X-Ray [82] Bottom-up Technique No Case Study Image Processing System Source Code, Dynamic Information, Human Expertise, Styles
Dominance Analysis Bauhaus [77], [78], [79] Hybrid Tool No Not Specified Dassault Systèmes Human Expertise
Unnamed (Dominance analysis) [85] Hybrid Technique and Tool No Case Study SDCC, CCL, NPF, Venice Dynamic Information, Human Expertise, Viewpoints
Layers and Matrix ArchVis [76] Bottom-up Technique No Precision and Recall Not Specified Not Specified
LBHFC [92] Bottom-up Technique No Field Study Bash, CVS, CA, WCA, LIMBO Structural Information
UPGMA [93] Bottom-up Technique No Case Study Telecommunications system Object-attribute data matrix
Probabilistic model based on Expectation Maximization [94] Bottom-up Technique and Tool No Case Study EasyMock, JabRef, Javagroups, JEdit, JUnit, Jvlt Lexical information
LBME [95] Bottom-up Technique and Tool No Field Study ArgoUML, GEF, JFreeChart, Lucene, Solr, Tomcat, Weka,BMC, Equality, Karniyarik, SMC Structural Information
WCA [96] Bottom-up Technique No Similarity Metrics Xfig, Bash Structural Information
LIMBO [97], [98], [99] Bottom-up Technique No Similarity Metrics 4 algorithms and 5 datasets Not Specified
ARC [100] Bottom-up Technique No Similarity Metrics MALLET, Weka, Soot IR based information
Weight based Approaches Zone Based Recovery (ZBR) [101], [102] Bottom-up Technique No Case Study EasyMock, JabRef, Javagroups, JEdit, JUnit, Jvlt, JHotDraw, JFreeChart, PMD, FindBugs, ArgoUML, EclipseJdtCore, JdkSwing Textual Information
A Hypergraph Clustering based approach [103] Bottom-up Technique No Precision and Recall CRM Structural Information
CCHD based Approach [104] Bottom-up Technique and Tool No Experimental Simulation Sando, Apache httpd, JEdit, Apache OODT, Hadoop, ArchStudio, and ITK Source Code
HCC [105] Bottom-up Technique No Experimental Simulation DDA, FES, Junit, SAVT, iText, Weka Structural Information
Clustering (Non ML based/Not Specified) A clustering method for SAR based on source code [106] Bottom-up Technique No Experimental Simulation CVS, Mosaic, Bash, Xfig Source Code
WDCG based SAR [107] Top-Down Technique No Experimental Simulation Software clustering quality, authoritativeness, extremity of cluster distribution and stability Structural Information
Unnamed [108] Bottom-up Technique No Precision and Recall Xfig, Bash Not Specified
HYGAR [141] Hybrid Technique No Case Study Lucene, OpenJPA, Bash, Hadoop, ArchStudio Structural Information
HYGAR-II [142] Hybrid Technique Yes Case Study Lucene, OpenJPA, Bash, Hadoop, ArchStudio, Nutch, Struts2 Structural Information
Unnamed [109], [110] Bottom-up Technique No Precision and Recall Mobile Media and Health Watcher Lexical information
Softwarenaut [111], [112] Hybrid Tool Yes Not Specified Hapax semantic analysis framework Source Code, Textual Information, Physical Information, Styles
Knowledge Based Recovery ArchMine [113] Top-Down Technique No Case Study CSBase Not Specified
A proximity measure based SAR approach [114] Not Specified Technique No Case Study Not Specified Structural Information
Software Reflexion Model [115] Bottom-up Technique and Tool No Case Study NetBSD, Restructuring Tool, Excel Source Code
CASE based Approach [116] Bottom-up Tool No Not Specified Not Specified Architectural Information
Architecture recovery based on a software structure [117] Bottom-up Technique and Tool No Field Study Ericsson Not Specified
Mapping Based Recovery ACDC [118] Bottom-up Technique No Field Study TOBEY, Linux Structural Information
ARCADE [119] Bottom-up Technique and Tool Yes Case Study Not Specified Structural Information, Lexical Information
SysMar [120] Bottom-up Technique No Case Study Not Specified Source Code
Program Slicing MDGs based technique [121] Bottom-up Technique No Case Study Compiler, boxer, minitunis, ispell, rcs, bison Not Specified