Rekonstruktion von Software-Architekturen

ZusammenfassungSoftware-Architekturen werden aus verschiedenen Sichten beschrieben, die abhängig von den Anliegen sind, die mit der Beschreibung verfolgt werden. In vielen Fällen ist die Software-Architektur eines Systems nicht ausreichend beschrieben. Sichten müssen dann rekonstruiert werden, um für Planung von Änderungen zur Verfügung zu stehen.Dieser Artikel fasst die in der wissenschaftlichen Literatur vorgeschlagenen Techniken zur Rekonstruktion von Software-Architektursichten zusammen und stellt sie den Sichten des Architekturentwurfs gegenüber. Anhand der Gegenüberstellung identifiziert er Forschungsbedarf.AbstractSoftware architectures are described by different views which depend upon the concerns of the respective stakeholders. Far too often, software architectures are not documented sufficiently. In such cases, an architecture description must be reconstructed when changes to the system are to be made.This article summarizes the current state of the art of techniques and methods for software architecture reconstruction and relates them to the viewpoints that have been proposed in architecture design. The article identifies research opportunities based on the comparison.

[1]  Martin Gogolla,et al.  Capturing dynamic program behaviour with UML collaboration diagrams , 2001, Proceedings Fifth European Conference on Software Maintenance and Reengineering.

[2]  Richard C. Holt,et al.  The Orphan Adoption problem in architecture maintenance , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[3]  René L. Krikhaar,et al.  Architecture comprehension tools for a PBX system , 1999, Proceedings of the Third European Conference on Software Maintenance and Reengineering (Cat. No. PR00090).

[4]  David R. Harris,et al.  Relating expectations to automatically recovered design patterns , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[5]  Joseph Gil,et al.  Revealing class structure with concept lattices , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[6]  Gail C. Murphy,et al.  Conceptual module querying for software reengineering , 1998, Proceedings of the 20th International Conference on Software Engineering.

[7]  Richard C. Holt,et al.  MoJo: a distance metric for software clusterings , 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303).

[8]  Spiros Mancoridis,et al.  Toward a generic framework for computing subsystem interfaces , 1996, ISAW '96.

[9]  Rainer Koschke,et al.  Hierarchical reflexion models , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[10]  Richard L. Piazza,et al.  Design Recovery for Distributed Systems , 1997, IEEE Trans. Software Eng..

[11]  D. R. Harris,et al.  Recovering abstract data types and object instances from a conventional procedural language , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

[12]  Paul Clements,et al.  Documenting Software Architecture: Documenting Behavior , 2002 .

[13]  Rainer Koschke,et al.  Locating Features in Source Code , 2003, IEEE Trans. Software Eng..

[14]  Rainer Koschke,et al.  Atomic architectural component recovery for program understanding and evolution , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[15]  Paolo Tonella,et al.  Reverse engineering of the interaction diagrams from C++ code , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[16]  Norman Wilde,et al.  An object finder for program structure understanding in software maintenance , 1994, J. Softw. Maintenance Res. Pract..

[17]  N. Wilde,et al.  Identifying objects in a conventional procedural language: an example of data design recovery , 1990, Proceedings. Conference on Software Maintenance 1990.

[18]  Spiros Mancoridis,et al.  Form: a framework for creating views of program executions , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[19]  William C. Chu,et al.  A measure for composite module cohesion , 1992, International Conference on Software Engineering.

[20]  Melissa P. Chase,et al.  Analysis and presentation of recovered software architectures , 1996, Proceedings of WCRE '96: 4rd Working Conference on Reverse Engineering.

[21]  Barbara G. Ryder,et al.  Constructing precise object relation diagrams , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[22]  Arun Lakhotia,et al.  A formalism to automate mapping from program features to code , 2000, Proceedings IWPC 2000. 8th International Workshop on Program Comprehension.

[23]  Farhad Mavaddat,et al.  Architectural design recovery using data mining techniques , 2000, Proceedings of the Fourth European Conference on Software Maintenance and Reengineering.

[24]  Michael W. Godfrey,et al.  Architecture recovery of dynamically linked applications: a case study , 2002, Proceedings 10th International Workshop on Program Comprehension.

[25]  Rainer Koschke,et al.  Incremental location of combined features for large-scale programs , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[26]  Martin P. Robillard,et al.  Separating features in source code: an exploratory study , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[27]  Rainer Koschke,et al.  Derivation of Feature Component Maps by Means of Concept Analysis , 2001, CSMR.

[28]  Dowming Yeh,et al.  Reverse engineering aggregation relationship based on propagation of operations , 2002, Proceedings of the Sixth European Conference on Software Maintenance and Reengineering.

[29]  Doug Kimelman,et al.  Visualizing the behavior of object-oriented systems , 1993, OOPSLA '93.

[30]  Yaojin Yang,et al.  Generation of architectural documentation using XML , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[31]  Robert L. Nord,et al.  Software Architecture in Industrial Applications , 1995, 1995 17th International Conference on Software Engineering.

[32]  Michael W. Godfrey,et al.  The build-time software architecture view , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[33]  Paolo Tonella,et al.  Concept Analysis for Module Restructuring , 2001, IEEE Trans. Software Eng..

[34]  S. Mansoor Sarwar,et al.  Software clustering techniques and the use of combined algorithm , 2003, Seventh European Conference onSoftware Maintenance and Reengineering, 2003. Proceedings..

[35]  Guy Melançon,et al.  Software components capture using graph clustering , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[36]  Melissa P. Chase,et al.  Managing recovered function and structure of legacy software components , 1998, Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261).

[37]  Kamran Sartipi,et al.  On modeling software architecture recovery as graph matching , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[38]  Frank Tip,et al.  Reengineering class hierarchies using concept analysis , 1998, SIGSOFT '98/FSE-6.

[39]  Theodore Johnson,et al.  A new approach to finding objects in programs , 1994, J. Softw. Maintenance Res. Pract..

[40]  Amir Michail,et al.  Data mining library reuse patterns using generalized association rules , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[41]  Arie van Deursen,et al.  Identifying objects using cluster and concept analysis , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[42]  Richard C. Holt,et al.  Recovering the structure of software systems using tube graph interconnection clustering , 1996, 1996 Proceedings of International Conference on Software Maintenance.

[43]  Song C. Choi,et al.  Extracting and restructuring the design of large systems , 1990, IEEE Software.

[44]  Arie van Deursen,et al.  An evaluation of clone detection techniques for crosscutting concerns , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

[45]  Spiros Mancoridis,et al.  CRAFT: a framework for evaluating software clustering results in the absence of benchmark decompositions [Clustering Results Analysis Framework and Tools] , 2001, Proceedings Eighth Working Conference on Reverse Engineering.

[46]  Aniello Cimitile,et al.  Extracting abstract data types from C programs: A case study , 1993, 1993 Conference on Software Maintenance.

[47]  Mark Harman,et al.  A multiple hill climbing approach to software module clustering , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[48]  Norman Wilde,et al.  Software reconnaissance: Mapping program features to code , 1995, J. Softw. Maintenance Res. Pract..

[49]  John T. Stasko,et al.  Visualizing Interactions in Program Executions , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[50]  Claudio Riva Architecture Reconstruction in Practice , 2002, WICSA.

[51]  Rainer Koschke,et al.  A framework for experimental evaluation of clustering techniques , 2000, Proceedings IWPC 2000. 8th International Workshop on Program Comprehension.

[52]  Alexander Egyed,et al.  A scenario-driven approach to traceability , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[53]  Jean-Francois Girard,et al.  Finding components in a hierarchy of modules: a step towards architectural understanding , 1997, 1997 Proceedings International Conference on Software Maintenance.

[54]  Vassilios Tzerpos,et al.  An optimal algorithm for MoJo distance , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[55]  Liam O'Brien,et al.  MAP - mining architectures for product line evaluations , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[56]  Aniello Cimitile,et al.  A case study of applying an eclectic approach to identify objects in code , 1999, Proceedings Seventh International Workshop on Program Comprehension.

[57]  Eleni Stroulia,et al.  Mining system-user interaction traces for use case models , 2002, Proceedings 10th International Workshop on Program Comprehension.

[58]  Kamran Sartipi,et al.  A graph pattern matching approach to software architecture recovery , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[59]  René L. Krikhaar,et al.  Reverse architecting approach for complex systems , 1997, 1997 Proceedings International Conference on Software Maintenance.

[60]  Derek Rayside,et al.  The effect of call graph construction algorithms for object-oriented programs on automatic clustering , 2000, Proceedings IWPC 2000. 8th International Workshop on Program Comprehension.

[61]  Giuseppe Visaggio,et al.  Software salvaging and the call dominance tree , 1995, J. Syst. Softw..

[62]  Mehdi Jazayeri,et al.  Architecture recovery in ARES , 1996, ISAW '96.

[63]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[64]  W. Schafer,et al.  Towards pattern-based design recovery , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[65]  Jean-Francois Girard,et al.  A comparison of abstract data types and objects recovery techniques , 2000, Sci. Comput. Program..

[66]  Stéphane Ducasse,et al.  Using dynamic information for the iterative recovery of collaborations and roles , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[67]  Jukka Viljamaa,et al.  Reverse engineering framework reuse interfaces , 2003, ESEC/FSE-11.

[68]  Rudolf K. Keller,et al.  Pattern-based reverse-engineering of design components , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[69]  T. Systa Understanding the behavior of Java programs , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[70]  Gerardo Canfora,et al.  An improved algorithm for identifying objects in code , 1996 .

[71]  Chung-Horng Lung,et al.  Software architecture recovery and restructuring through clustering techniques , 1998, ISAW '98.

[72]  Welf Löwe,et al.  Automatic design pattern detection , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[73]  Doris L. Carver,et al.  A graph-based object identification process for procedural programs , 1998, Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261).

[74]  Ali Shokoufandeh,et al.  Applying spectral methods to software clustering , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[75]  Wei Zhao,et al.  SNIAFL: towards a static non-interactive approach to feature location , 2004, Proceedings. 26th International Conference on Software Engineering.

[76]  Rainer Koschke,et al.  Static object trace extraction for programs with pointers , 2005, J. Syst. Softw..

[77]  Daniel Jackson,et al.  Lightweight extraction of object models from bytecode , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[78]  Johan Moe,et al.  Understanding distributed systems via execution trace data , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[79]  Harald C. Gall,et al.  Binding object models to source code: an approach to object-oriented re-architecting , 1998, Proceedings. The Twenty-Second Annual International Computer Software and Applications Conference (Compsac '98) (Cat. No.98CB 36241).

[80]  Richard C. Holt,et al.  Reconstructing ownership architectures to help understand software systems , 1999, Proceedings Seventh International Workshop on Program Comprehension.

[81]  René L. Krikhaar,et al.  Embedding architectural support in industry , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[82]  Giuliano Antoniol,et al.  Augmenting pattern-based architectural recovery with flow analysis: Mosaic-a case study , 1996, Proceedings of WCRE '96: 4rd Working Conference on Reverse Engineering.

[83]  Liam O'Brien,et al.  Moving towards quality attribute driven software architecture reconstruction , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[84]  Gregor Snelting,et al.  On the inference of configuration structures from source code , 1994, Proceedings of 16th International Conference on Software Engineering.

[85]  Doris L. Carver,et al.  A visual representation model for software subsystem decomposition , 1998, Proceedings Fifth Working Conference on Reverse Engineering (Cat. No.98TB100261).

[86]  Victor R. Basili,et al.  System Structure Analysis: Clustering with Data Bindings , 1985, IEEE Transactions on Software Engineering.

[87]  Doug Kimelman,et al.  Modeling Object-Oriented Program Execution , 1994, ECOOP.

[88]  Periklis Andritsos,et al.  Software clustering based on information loss minimization , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[89]  Richard C. Holt,et al.  Using graph patterns to extract scenarios , 2002, Proceedings 10th International Workshop on Program Comprehension.

[90]  André Marburger,et al.  E-CARES research project: understanding complex legacy telecommunication systems , 2001, Proceedings Fifth European Conference on Software Maintenance and Reengineering.

[91]  Jens Krinke,et al.  Aspect mining using event traces , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[92]  Ilka Philippow,et al.  Supporting architectural restructuring by analyzing feature models , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[93]  Rainer Koschke,et al.  Feature-driven program understanding using concept analysis of execution traces , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[94]  Harald C. Gall,et al.  Pattern-supported architecture recovery , 2002, Proceedings 10th International Workshop on Program Comprehension.

[95]  David Notkin,et al.  Software reflexion models: bridging the gap between source and high-level models , 1995, SIGSOFT FSE.

[96]  Robert W. Schwanke,et al.  Using Neural Networks to Modularize Software , 1994, Machine Learning.

[97]  Lionel C. Briand,et al.  Towards the reverse engineering of UML sequence diagrams , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[98]  Liam O'Brien,et al.  Practice patterns for architecture reconstruction , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[99]  Gokul V. Subramaniam,et al.  Deriving an object model from legacy Fortran code , 1996, 1996 Proceedings of International Conference on Software Maintenance.

[100]  David Notkin,et al.  Reengineering with Reflection Models: A Case Study , 1997, Computer.

[101]  Thomas W. Reps,et al.  Identifying modules via concept analysis , 1997, 1997 Proceedings International Conference on Software Maintenance.

[102]  C. Chambers,et al.  ArchJava: connecting software architecture to implementation , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[103]  Arie van Deursen,et al.  Symphony: view-driven software architecture reconstruction , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[104]  Jeff Kramer,et al.  Developing an approach for the recovery of distributed software architectures , 1998, Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242).

[105]  Gerald C. Gannod,et al.  Verification of recovered software architectures , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[106]  Alexander Egyed Automated abstraction of class diagrams , 2002, TSEM.

[107]  Harald C. Gall,et al.  Finding objects in procedural programs: an alternative approach , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

[108]  Nick Mitchell,et al.  Visualizing the Execution of Java Programs , 2001, Software Visualization.

[109]  Emden R. Gansner,et al.  Using automatic clustering to produce high-level system organizations of source code , 1998, Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242).

[110]  Amir Michail,et al.  Design recovery of interactive graphical applications , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[111]  Hausi A. Müller,et al.  Shimba—an environment for reverse engineering Java software systems , 2001, Softw. Pract. Exp..

[112]  Michael W. Godfrey,et al.  Enhancing domain-specific software architecture recovery , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[113]  Nicolas Anquetil,et al.  Extracting concepts from file names; a new file clustering criterion , 1998, Proceedings of the 20th International Conference on Software Engineering.

[114]  Andrian Marcus,et al.  Recovering documentation-to-source-code traceability links using latent semantic indexing , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[115]  Mikael Lindvall,et al.  Does the code match the design? A process for architecture evaluation , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[116]  Houari A. Sahraoui,et al.  Applying concept formation methods to object identification in procedural code , 1997, Proceedings 12th IEEE International Conference Automated Software Engineering.

[117]  Melissa P. Chase,et al.  Manipulating Recovered Software Architecture Views , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[118]  Jean-Francois Girard,et al.  A Metric-Based Approach to Detect Abstract Data Types and State Encapsulations , 2004, Automated Software Engineering.

[119]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[120]  Hausi A. Müller,et al.  A reverse engineering environment based on spatial and visual software interconnection models , 1992 .

[121]  Norman Wilde,et al.  TraceGraph: immediate visual location of software features , 2000, Proceedings 2000 International Conference on Software Maintenance.

[122]  Kamran Sartipi Alborz: a query-based tool for software architecture recovery , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[123]  Ted J. Biggerstaff,et al.  The concept assignment problem in program understanding , 1993, [1993] Proceedings Working Conference on Reverse Engineering.

[124]  Dusan M. Velasevic,et al.  A use-case driven method of architecture recovery for program understanding and reuse reengineering , 2000, Proceedings of the Fourth European Conference on Software Maintenance and Reengineering.

[125]  Jürgen Wolff von Gudenberg,et al.  Pattern-based design recovery of Java software , 1998, SIGSOFT '98/FSE-6.

[126]  P. Tonella,et al.  A cliche-based environment to support architectural reverse engineering , 1996, 1996 Proceedings of International Conference on Software Maintenance.

[127]  Claudio Riva,et al.  Combining static and dynamic views for architecture reconstruction , 2002, Proceedings of the Sixth European Conference on Software Maintenance and Reengineering.

[128]  Stéphane Ducasse,et al.  Recovering high-level views of object-oriented applications from static and dynamic information , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[129]  David Notkin,et al.  Software Reflexion Models: Bridging the Gap between Design and Implementation , 2001, IEEE Trans. Software Eng..

[130]  Alexander S. Yeh,et al.  Reverse Engineering to the Architectural Level , 1995, 1995 17th International Conference on Software Engineering.

[131]  Giuliano Antoniol,et al.  Object oriented design pattern inference , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[132]  Jörg Niere,et al.  Handling large search space in pattern-based reverse engineering , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[133]  Melissa P. Chase,et al.  Recovering software architecture from multiple source code analyses , 1998, PASTE '98.

[134]  Nenad Medvidovic,et al.  Focus: a light-weight, incremental approach to software architecture recovery and evolution , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[135]  David Lorge Parnas,et al.  On a 'Buzzword': Hierarchical Structure , 2001, IFIP Congress.

[136]  Robert L. Nord,et al.  Reconstructing software architecture for J2EE web applications , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[137]  Giuliano Antoniol,et al.  Design pattern recovery in object-oriented software , 1998, Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242).

[138]  Lutz Prechelt,et al.  Design recovery by automated search for structural design patterns in object-oriented software , 1996, Proceedings of WCRE '96: 4rd Working Conference on Reverse Engineering.

[139]  Arun Lakhotia,et al.  Toward experimental evaluation of subsystem classification recovery techniques , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

[140]  Kecheng Liu,et al.  Requirements recovery from legacy systems by analysing and modelling behaviour , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[141]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[142]  Norman Wilde,et al.  A case study of feature location in unstructured legacy Fortran code , 2001, Proceedings Fifth European Conference on Software Maintenance and Reengineering.

[143]  Gregor Snelting,et al.  Assessing Modular Structure of Legacy Code Based on Mathematical Concept Analysis , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[144]  Rainer Koschke,et al.  Aiding program comprehension by static and dynamic feature analysis , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[145]  Hausi A. Müller,et al.  Rigi: a system for programming-in-the-large , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[146]  Fernando Brito e Abreu,et al.  A coupling-guided cluster analysis approach to reengineer the modularity of object-oriented systems , 2000, Proceedings of the Fourth European Conference on Software Maintenance and Reengineering.

[147]  Rick Kazman,et al.  View extraction and view fusion in architectural understanding , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[148]  David W. Embley,et al.  Assessing the quality of abstract data types written in Ada , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[149]  Monica S. Lam,et al.  Automatic extraction of object-oriented component interfaces , 2002, ISSTA '02.

[150]  Hong Yan,et al.  DiscoTect: a system for discovering architectures from running systems , 2004, Proceedings. 26th International Conference on Software Engineering.

[151]  Gregory D. Abowd,et al.  Architectural synthesis: integrating multiple architectural perspectives , 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303).

[152]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[153]  Onaiza Maqbool,et al.  The weighted combined algorithm: a linkage algorithm for software clustering , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[154]  Tarja Systä,et al.  On the Relationships between Static and Dynamic Models in Reverse Engineering Java Software , 1999, WCRE.

[155]  Giuliano Antoniol,et al.  Inference of object-oriented design patterns , 2001, J. Softw. Maintenance Res. Pract..

[156]  John A. Zachman,et al.  A Framework for Information Systems Architecture , 1987, IBM Syst. J..

[157]  René L. Krikhaar,et al.  Architecture analysis tools to support evolution of large industrial systems , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[158]  Gregor Snelting,et al.  Reengineering of configurations based on mathematical concept analysis , 1996, TSEM.

[159]  Robert W. Schwanke,et al.  An intelligent tool for re-engineering software modularity , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[160]  Spencer Rugaber,et al.  Using visualization for architectural localization and extraction , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[161]  John F. Sowa,et al.  Extending and Formalizing the Framework for Information Systems Architecture , 1992, IBM Syst. J..

[162]  Mircea Trifu,et al.  Architecture-aware adaptive clustering of OO systems , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[163]  Rainer Koschke,et al.  Static trace extraction , 2002, Ninth Working Conference on Reverse Engineering, 2002. Proceedings..

[164]  Rudolf Ferenc,et al.  Mining design patterns from C++ source code , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[165]  Richard C. Holt,et al.  On the stability of software clustering algorithms , 2000, Proceedings IWPC 2000. 8th International Workshop on Program Comprehension.

[166]  Farhad Mavaddat,et al.  A pattern matching framework for software architecture recovery and restructuring , 2000, Proceedings IWPC 2000. 8th International Workshop on Program Comprehension.

[167]  Giuseppe A. Di Lucca,et al.  Recovering use case models from object-oriented code: a thread-based approach , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[168]  Jean-Francois Girard,et al.  Comparison of abstract data type and abstract state encapsulation detection techniques for architectural understanding , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[169]  Václav Rajlich,et al.  Case study of feature location using dependence graph , 2000, Proceedings IWPC 2000. 8th International Workshop on Program Comprehension.

[170]  Alexander S. Yeh,et al.  Recognizers for extracting architectural features from source code , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

[171]  Laszlo A. Belady,et al.  System partitioning and its measure , 1981, J. Syst. Softw..

[172]  Valérie Issarny,et al.  Multi-view description of software architectures , 1998, ISAW '98.