Semi-Automatic Approach

Approach Heuristic Sub-Type of SAR Approach Approach Name + Reference Direction of Recovery Technique or Tool Availability Empirical Evaluation Applied-to Systems Required Input
ArchView [16] Top-Down Technique No Case Study Mozilla Source Code, Dynamic Information, Historical Information, Human Expertise
ArchVis [17] Hybrid Tool No Experimental Simulation A new feature-based evaluation framework Source Code, Textual Information, Dynamic Information, Physical Information, Styles, Viewpoints
ARM [18] Bottom-up Technique No Case Study SupraAnalyse and MATIS systems Source Code, Human Expertise
ARMIN [19], [20] Bottom-up Tool No Case Study Not Specified Source Code, Physical Organization, Human Expertise
Dali [21], [22] Hybrid Tool No Field Study VANISH Application Source Code, Human Expertise
Relational Queries Gupro [23] Bottom-up Tool No Not Specified German insurance company Source Code, Human Expertise
PBS/SBS [24] Bottom-up Tool No Case Study Linux Kernel Source Code, Physical Organization, Human Expertise
QADSAR [25] Bottom-up Technique No Case Study QAD analysis framework Source Code, Human Expertise, Viewpoints
Rules based Approach SARTool [26] Bottom-up Tool No Not Specified Not Specified Source Code, Human Expertise, Viewpoints
Softwarenaut [27], [28] Hybrid Tool Yes Not Specified Hapax semantic analysis framework Source Code, Textual Information, Physical Organization, Human Expertise
Unnamed repair approach [29] Hybrid Technique No Field Study Linux Kernel Source Code, Human Expertise
Logic Queries Intensive [30] Bottom-up Tool No Case Study Two recent versions of SmallWiki Source Code, Human Expertise
ArchVis [31] Hybrid Tool No Experimental Simulation A new feature-based evaluation framework Source Code, Textual Information, Dynamic Information, Physical Information, Styles, Viewpoints
Object Oriented Programs Static approach for OOP systems [32] Bottom-up Technique No Field Study Not Specified Dynamic Information
Abstract Object Language based approach [33] Bottom-up Tool No Precision and Recall Industrial and public domain systems Design Patterns
Lexical and Structural Queries Revealer [34], [35], [36] Bottom-up Tool No Case Study SPARTA Source Code, Textual Information, Human Expertise
OMT based approach [37] Bottom-up Technique and Tool No Precision and Recall Sodalia SpA Source Code
ART [37.5] Top-Down Tool Yes Precision and Recall H261, Samba, Bash, Mosaic Source Code, Human Expertise, Styles
Bauhaus [38], [39], [40] Bottom-up Technique No Case Study Aero, Bash, CVS, Mosaic Source Code, Dynamic Information, Human Expertise
ManSART [41], [42] Bottom-up Tool No Not Specified Not Specified Source Code, Physical Organization, Human Expertise, Styles
Style Matching Recognizer X-Ray [43] Bottom-up Technique No Case Study Control panel, Debugger interface, Cross reference facility, Message facility, Communication package Source Code, Human Expertise
ADDRA [44] Bottom-up Tool No Case Study Athena Architectural Styles
Unnammed [45] Hybrid Technique No Field Study Not Specified Source Code, Architectural Styles
Columbus [46] Bottom-up Tool No Field Study Maisa Source Code
Alborz [47], [48] Bottom-up Technique and Tool No Precision and Recall Not Specified Source Code, Dynamic Information, Human Expertise
ARM [49] Bottom-up Technique No Case Study SupraAnalyse and MATIS systems Source Code, Human Expertise
Graph Pattern Matching Rigi [50], [51], [52] Bottom-up Tool No Experimental Simulation RDS Source Code
Design Patterns and Features based Approach Shimba [53], [54] Bottom-up Tool No Case Study FUJABA Structural Information
Unnamed [55] Bottom-up Technique and Tool No Field Study AWT and JGL Design Patterns
Comparing to State machines reflecting architecture patterns DiscoTect [56] Bottom-up Technique No Case Study AAMS Source Code, Dynamic Information, Human Expertise, Styles
Unnamed [57] Bottom-up Tool No Case Study Telephone switching system Historical Information
Bauhaus [58], [59], [60] Bottom-up Technique No Case Study Aero, Bash, CVS, Mosaic Source Code, Dynamic Information, Human Expertise
PBS/SBS [61] Bottom-up Tool No Case Study Linux Kernel Source Code, Physical Organization, Human Expertise
Entities Mapping using naming conventions PuLSE/SAVE [62] Bottom-up Tool No Case Study Apache Tomcat, Go Phone, SAVE, TSAFE, Migration to a Reference Architecture, Product Line versus Implementations, Component Adequacy, Product Line Potential, Commonalities among Products Source Code, Human Expertise, Viewpoints
RMTool [63], [64] Top-Down Tool No Case Study NetBSD Source Code, Human Expertise
Unnamed repair approach [65], [66] Hybrid Technique No Field Study Linux Kernel Source Code, Human Expertise
Names Matching Algorithm [67] Bottom-up Technique No Respondents Not Specified Source Code File Name
ARES [68] Top-Down Technique and Tool No Case Study TCS Source Code, Human Expertise
Nimeta [69] Hybrid Technique and Tool No Case Study Venice Dynamic Information, Human Expertise, Viewpoints
Others Symphony [70], [71] Hybrid Technique No Case Study SDCC, CCL, NPF Dynamic Information, Human Expertise, Viewpoints
Unnammed [72] Bottom-up Tool No Field Study Linux, Mozilla, Commercial software development system Source Code, Human Organization, Historical Information, Human Expertise
Pat [73] Hybrid Tool Yes Precision and Recall zApp and LEDA Design Patterns
RPA based Approach Bottom-up Tool No Field Study Not Specified Not Specified
A microservice mesh based SAR [139] Bottom-up Technique No Not Specified TrainTicket microservice benchmark Source Code

Mostly-Automatic Approach

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
Dependency Based Recovery MAFM [143] Bottom-up Technique No Not Specified SpringCloud, SpringBlade, SOP, microservice-platform, mogu_blog_v2, bigfans-cloud, mall-swarm, pig, Xueyuan, auto-platfrom@STQ, multi-task@STQ, ci-platform@STQ Structural Information, Source Code