References of Recovery_of_Software_Architecture

    Formalizing architectural connection, R. Allen and D. Garlan
    @InProceedings{	  allen.garlan:formalizing,
      author	= {R. Allen and D. Garlan},
      title		= {Formalizing architectural connection},
      pages		= {71--80},
      booktitle	= {Proceedings of the 16th  International Conference on
    		  Software Engineering },
      year		= {1994},
      publisher	= {IEEE Computer Society Press},
      month		= may,
      class		= {Software_Reverse_Engineering, Reverse_Design,
    		  Recovery_of_Software_Architecture}
    }
    
    
    Program Understanding and Maintenance with the CANTO environment, G. Antoniol and R. Fiutem and G. Lutteri and P. Tonella and S. Zanfei
    @Unpublished{	  antoniol.fiutem.ea:program,
      author	= {G. Antoniol and R. Fiutem and G. Lutteri and P. Tonella
    		  and S. Zanfei},
      title		= {Program Understanding and Maintenance with the CANTO
    		  environment},
      year		= {1998},
      class		= {Software_Reverse_Engineering,
    		  Intermediate_Representations_of_Source_Code, Using_graphs,
    		  Fundamental_Methods_in_Reverse_Design, Static_Analysis,
    		  Static_Data_Flow_Analysis,
    		  Recovery_of_Software_Architecture}
    }
    
    
    Connecting Software Components with Declarative Glue, B. W. Beach
    @InProceedings{	  beach:connecting,
      author	= {B. W. Beach},
      title		= {Connecting Software Components with Declarative Glue},
      booktitle	= {ICSE~14: Proceedings of the 14th International Conference
    		  on Software Engineering, {\rm (Melbourne, Australia; May
    		  1992)}},
      pages		= {120-137},
      year		= {May 1992},
      abstract	= {},
      class		= {Software_Reverse_Engineering, Reverse_Design,
    		  Recovery_of_Software_Architecture }
    }
    
    
    Identifying Objects using Cluster and Concept Analysis, Deursen, A. van and T. Kuipers
    Available as
    split.pdf.
    @InProceedings{	  deursen.kuipers:identifying,
      author	= {Deursen, A. van and T. Kuipers},
      title		= {Identifying Objects using Cluster and Concept Analysis},
      booktitle	= {21st International Conference on Software Engineering,
    		  ICSE-99},
      publisher	= {ACM},
      year		= {1999},
      pages		= {246--255},
      url		= {http://www.cwi.nl/~arie/papers/split.pdf},
      abstract	= {Many approaches to support (semi-automatic) identification
    		  of objects in legacy code take the data structures as
    		  starting point for candidate classes. Unfortunately, legacy
    		  data structures tend to grow over time, and may contain
    		  many unrelated fields at the time of migration. We propose
    		  a method for identifying objects by semi-automatically
    		  restructuring the legacy data structures. Issues involved
    		  include the selection of record fields of interest, the
    		  identification of procedures actually dealing with such
    		  fields, and the construction of coherent groups of fields
    		  and procedures into candidate classes. We explore the use
    		  of cluster and concept analysis for the purpose of object
    		  identification, and we illustrate their effect on a 100,000
    		  LOC Cobol system. Furthermore, we use these results to
    		  contrast clustering with concept analysis techniques.},
      keywords	= {remodularization, cluster analysis, concept analysis,
    		  class diagram},
      class		= {Introduction_of_Abstract_Data_Types
    		  Inter-module_Reorganizatio
    		  From_Procedural_to_Object-Oriented Reverse_Design Re-Design
    		  System_Modularization Recovery_of_Software_Architecture
    		  Alteration Software_Reverse_Engineering }
    }
    
    
    Using Visualization for Architectural Localization and Extraction, Dean Jerding and Spencer Rugaber
    Available as
    postscript.
    @InProceedings{	  jerding.rugaber:using,
      author	= {Dean Jerding and Spencer Rugaber},
      title		= {Using Visualization for Architectural Localization and
    		  Extraction},
      booktitle	= {Proceedings of the Fourth Working Conference on Reverse
    		  Engineering},
      publisher	= {IEEE Computer Society Press Los Alamitos California},
      year		= {1997},
      editor	= {Ira Baxter and Alex Quilici and Chris Verhoef},
      chapter	= {},
      pages		= {},
      address	= {},
      month		= {},
      url		= {http://www.cc.gatech.edu/morale/papers/isvis_wcre.ps},
      abstract	= { Understanding the architecture of a program requires
    		  determining both the major components into which the system
    		  is broken and the ways in which the components interact to
    		  accomplish the program's goals. Both static and dynamic
    		  analyses of the software can aid in obtaining this
    		  understanding. This paper describes an analysis technique
    		  for gaining such understanding and a visualization tool
    		  called ISVis that supports it. The technique is applied to
    		  the problem of enhancing the Mosaic web browser by both
    		  visualizing its architecture and finding the components of
    		  the browser into which an enhancement should be inserted.
    		  },
      keywords	= {software architecture extraction program visualization
    		  dynamic analysis program understanding},
      note		= {},
      class		= {Visualization_for_Program_Understanding_and_Debugging
    		  Software_Reverse_Engineering Software_Animation
    		  Reverse_Specification Reverse_Design
    		  Fundamental_Methods_in_Reverse_Design
    		  Recovery_of_Software_Architecture Dynamic_Analysis }
    }
    
    
    SAAM: A method for analyzing the properties of software architectures, R. Kazman and L. Bass and G. Abowd and M. Webb
    @InProceedings{	  kazman.bass.ea:saam,
      author	= {R. Kazman and L. Bass and G. Abowd and M. Webb},
      title		= {{SAAM}: {A} method for analyzing the properties of
    		  software architectures},
      pages		= {81--90},
      booktitle	= {Proceedings of the 16th  International Conference on
    		  Software Engineering },
      year		= {1994},
      publisher	= {IEEE Computer Society Press},
      month		= may,
      class		= {Software_Reverse_Engineering,
    		  Recovery_of_Software_Architecture}
    }
    
    
    Assessing Architectural Complexity, Rick Kazman and Marcus Burth
    @InProceedings{	  kazman.burth:assessing,
      author	= {Rick Kazman and Marcus Burth},
      title		= {Assessing Architectural Complexity},
      year		= {1998},
      publisher	= {IEEE Computer Society},
      class		= {Software_Reverse_Engineering, Reverse_Design,
    		  Recovery_of_Software_Architecture}
    }
    
    
    A Relational Approach to Support Software Architecture Analysis, Feijs L. and Krikhaar R. and Ommering R. van
    @Article{	  l.r.ea:relational,
      author	= {Feijs L. and Krikhaar R. and Ommering R. van},
      title		= {A Relational Approach to Support Software Architecture
    		  Analysis},
      journal	= {Software - Practice and Experience},
      year		= {1998},
      volume	= {28},
      number	= {4},
      pages		= {371-400},
      month		= {April},
      abstract	= {This paper reports on our experience with a relational
    		  approach to support the analysis of existing software
    		  architectures. The analysis options provide for
    		  visualisation and view calculation. The approach has been
    		  applied for reverse engineering. It is also possible to
    		  check concrete designs against architecture-related rules.
    		  The paper surveys the theory, the tools and some of the
    		  applications developed so far.},
      keywords	= {software structuring; reverse engineering; relational
    		  algebra; software architecture},
      class		= {Software_Reverse_Engineering Reverse_Design
    		  Recovery_of_Software_Architecture }
    }
    
    
    Generating Linkage between Source Code and Evolvable Domain Knowledge for the Ease of Software Evolution, Yang Li and Hongji Yang and William Chu
    Available as .
    @InProceedings{	  li.yang.ea:generating,
      author	= {Yang Li and Hongji Yang and William Chu},
      title		= {Generating Linkage between Source Code and Evolvable
    		  Domain Knowledge for the Ease of Software Evolution},
      booktitle	= {Proceedings of IEEE International Symposium on Principles
    		  of Software Evolution (ISPSE2000)},
      publisher	= {IEEE Computer Society Press},
      year		= {2000},
      editor	= {},
      chapter	= {},
      pages		= {},
      address	= {Kanazawa, Japan},
      month		= {Nov},
      url		= {},
      abstract	= {Business software systems unexceptably need to be evolved
    		  to cater for new/changed requirement coming from market or
    		  adapt to new operating environment. One of the most
    		  significant problems in current software evolution practice
    		  is that software maintainers usually find it quite
    		  difficult to locate the program sections in source code
    		  which need to be modified and to identify the extent to
    		  which the changes in these program sections could affect
    		  the rest of the software system. In this paper, we propose
    		  a knowledge engineering based approach to solving this
    		  problem. In particular, we match a software program with a
    		  pre-defined domain knowledge base in the representation of
    		  simplified semantic network we proposed in order to link
    		  the source program with its domain level interpretation.
    		  The domain knowledge base contains only important domain
    		  knowledge where potential evolutions could occur, which
    		  reduces the size of the knowledge base. Moreover, a domain
    		  oriented program partitioning method is also proposed to
    		  cut a program into self-contained modules with manageable
    		  size. In these ways, the computational complexity involved
    		  in generating the linkage is significantly reduced which
    		  makes this approach applicable. An example shows that
    		  software evolution can be easily carried out as the domain
    		  knowledge it links with evolves. },
      keywords	= {software evolution, knowledge engineering, program
    		  partitioning, evolvable domain knowledge, semantic
    		  network},
      note		= {This paper gives engineering-oriented considerations to
    		  link generation between domain knowledge and source code
    		  prior to successful software evolution.},
      class		= {Software_Evolution Knowledge-Based_Concept_Assignment
    		  Using_graphs Change_Impac
    		  Cognitive_Processes_in_Human_Program_Understanding Metrics
    		  Reverse_Design Re-Design System_Modularization
    		  Recovery_of_Software_Architecture
    		  Metric-Based_Methods_in_Reverse_Design Alteration
    		  Human_Oriented_Concept_Assignment_by_Informal_Reasoning
    		  Intermediate_Representations_of_Source_Code
    		  Software_Reverse_Engineering }
    }
    
    
    Towards Building a Smarter Domain Knowledge Recovery Assistant, Yang Li and Hongji Yang and William Chu
    Available as .
    @InProceedings{	  li.yang.ea:towards,
      author	= {Yang Li and Hongji Yang and William Chu},
      title		= {Towards Building a Smarter Domain Knowledge Recovery
    		  Assistant},
      booktitle	= {Proceedings of the 24th IEEE Annual Computer Software and
    		  Applications Conference (COMPSAC2000)},
      publisher	= {IEEE Computer Society Press},
      year		= {2000},
      editor	= {},
      chapter	= {},
      pages		= {},
      address	= {},
      month		= {Oct},
      url		= {},
      abstract	= {Legacy systems need to be ``salvaged'' to prolong their
    		  life circle. One way for such a salvation is to recover and
    		  maintain domain knowledge embedded in legacy code. It is
    		  our observation that existing methods or tools for domain
    		  knowledge recovery from source code did not provide
    		  maintainers with sufficient assistance to reduce the size
    		  of analysable program sections, identify program sections
    		  having intensive domain knowledge and maintain the belief
    		  of a network of domain knowledge extracted from source code
    		  which can accommodate change of belief coming from a user.
    		  In this paper, we introduce techniques which can provide
    		  software maintainers with smart assistance for the
    		  above-mentioned three issues. },
      keywords	= {program partitioning, program readability metric, belief
    		  network, domain knowledge recovery},
      note		= {We incorpate human psychology knowledge with the design of
    		  a domain knowledge recovery tool.},
      class		= {Automated_Reverse_Design
    		  Knowledge-Based_Concept_Assignment Reverse_Engineering_Tool
    		  Model_Generating Reverse_Specification
    		  Cognitive_Processes_in_Human_Program_Understanding Metrics
    		  Reverse_Design System_Modularization Domain_Analysis
    		  Recovery_of_Software_Architecture
    		  Metric-Based_Methods_in_Reverse_Design
    		  Human_Oriented_Concept_Assignment_by_Informal_Reasoning
    		  Software_Reverse_Engineering }
    }
    
    
    Assessing modular structure of legacy code based on mathematical concept analysis, C. Lindig and G. Snelting
    @InProceedings{	  lindig.snelting:assessing,
      author	= {C. Lindig and G. Snelting},
      title		= {Assessing modular structure of legacy code based on
    		  mathematical concept analysis},
      booktitle	= {Proceedings of the 19th  International Conference on
    		  Software Engineering },
      publisher	= {IEEE Computer Society Press},
      year		= {1997},
      key		= {Concept Analysis},
      class		= {Software_Reverse_Engineering,
    		  Recovery_of_Software_Architecture }
    }
    
    
    Developing an Approach for the Recovery of Distributed Software Architectures, Nabor C. Mendonça and Jeff Kramer
    Available as
    postscript.
    @InProceedings{	  mendonça.kramer:developing,
      author	= {Nabor C. Mendonça and Jeff Kramer},
      title		= {Developing an Approach for the Recovery of Distributed
    		  Software Architectures},
      booktitle	= {6th IEEE International Workshop on Program Comprehension},
      publisher	= {IEEE Computer Society Press},
      year		= {1998},
      pages		= {28-36},
      address	= {Ischia, Italy},
      month		= {June},
      url		= {http://www-dse.doc.ic.ac.uk/~ndcm/wpc98.ps},
      abstract	= {The extraction of high-level architectural information
    		  from existing software systems, or architecture recovery,
    		  is a recent research area. This paper presents X-RAY, an
    		  approach for recovering distributed software architectures.
    		  X-RAY builds on previous work on architecture recovery and
    		  more traditional reverse engineering techniques, as well as
    		  on notations for architecture description. The key features
    		  of the approach are illustrated through the depiction of a
    		  step-by-step recovery experiment performed on a small yet
    		  non-trivial distributed software system. Initial results
    		  from an ongoing experiment involving a larger-scale system
    		  are also discussed.},
      keywords	= {architecture recovery, software architecture, distributed
    		  software},
      note		= {The paper describes the initial work on the X-RAY
    		  architecture recovery approach and tools.},
      class		= {Software_Reverse_Engineering Reverse_Design
    		  Recovery_of_Software_Architecture }
    }
    
    
    Requirements for an Effective Architecture Recovery Framework, Nabor C. Mendonça and Jeff Kramer
    Available as
    postscript.
    @InProceedings{	  mendonça.kramer:requirements,
      author	= {Nabor C. Mendonça and Jeff Kramer},
      title		= {Requirements for an Effective Architecture Recovery
    		  Framework},
      booktitle	= {2nd ACM SIGSOFT International Software Architecture
    		  Workshop (ISAW-2)},
      publisher	= {ACM Press},
      year		= {1996},
      pages		= {101-105},
      address	= {San Francisco, CA, USA},
      month		= {October},
      url		= {http://www-dse.doc.ic.ac.uk/~ndcm/isaw96.ps},
      abstract	= {In this paper we discuss how some limitations of current
    		  reverse engineering approaches prevent them from recovering
    		  architectures effectively from legacy systems. We classify
    		  several reverse engineering tools and systems into five
    		  distinct frameworks. We then propose a set of requirements
    		  for an effective architecture recovery framework which
    		  benefits from the main features of those five frameworks
    		  and tries to overcome their identified limitations.},
      keywords	= {reverse engineering, architecture recovery, software
    		  architecture},
      class		= {Software_Reverse_Engineering Reverse_Design
    		  Recovery_of_Software_Architecture }
    }
    
    
    Architectural Extraction in Reverse Engineering by Prototyping - An Experiment, Sander Tichelaar and Stephane Ducasse and Theo Dirk Meijler
    Available as
    archiDocumentation.pdf.
    @InProceedings{	  tichelaar.ducasse.ea:architectural,
      author	= {Sander Tichelaar and Stephane Ducasse and Theo Dirk
    		  Meijler},
      title		= {Architectural Extraction in Reverse Engineering by
    		  Prototyping - An Experiment},
      booktitle	= {Proceedings ESEC - FFSE 97 Workshop on Object-Oriented
    		  Reengineering},
      publisher	= {Technical University of Vienna},
      year		= {1997},
      editor	= {Serge Demeyer and Harald Gall},
      month		= {August},
      url		= {http://iamwww.unibe.ch/~tichel/archiDocumentation.pdf},
      abstract	= {In this workshop paper we present a prototype approach to
    		  help the extraction of architectural information in the
    		  re-engineering process. Commonly the re-engineering
    		  life-cycle has been defined as a succession of the
    		  following tasks: analysis of requirements model capture
    		  "understanding the system" problem detection problem
    		  analysis reorganization and change propagation. We have
    		  evaluated the benefit of a prototyping approach with a
    		  focus on model capture. Although prototyping is a known
    		  approach to evaluate the application feasibility costs
    		  comparison and validation of choices we focus in this paper
    		  on the aspects of prototyping that are helpful for
    		  re-engineering.},
      keywords	= {architectural extraction prototyping FAMOOS},
      note		= {This work is part of the ESPRIT project FAMOOS: A
    		  Framework-based Approach for Mastering Object-Oriented
    		  Software Evolution},
      class		= {Software_Reverse_Engineering Model_Generating
    		  Reverse_Specification Inter-module_Reorganization
    		  Reverse_Design Re-Design Recovery_of_Software_Architecture
    		  Alteration }
    }
    
    
    The Orphan Adoption problem in Architecture Maintenance, Vassilios Tzerpos and R.C. Holt
    @InProceedings{	  tzerpos.holt:orphan,
      author	= {Vassilios Tzerpos and R.C. Holt},
      title		= {The Orphan Adoption problem in Architecture Maintenance},
      booktitle	= {Proceedings of the Fourth Working Conference on Reverse
    		  Engineering},
      publisher	= {IEEE Computer Society Press Los Alamitos California},
      year		= {1997},
      editor	= {Ira Baxter and Alex Quilici and Chris Verhoef},
      abstract	= {A lot of research time has been devoted to finding a
    		  solution to the problem of automatic clustering especially
    		  in the field of Reverse Engineering where decomposing a
    		  legacy system to subsystems could be the key to
    		  understanding it. Maintaining the obtained structure as a
    		  system evolves however is a problem that has attracted much
    		  less attention. In this paper we present the Orphan
    		  Adoption problem in architecture maintenance and propose an
    		  algorithm to solve it. We also present case studies that
    		  validate the usefulness of our algorithm. },
      class		= {Software_Reverse_Engineering Reverse_Design
    		  Recovery_of_Software_Architecture }
    }
    
    
    Structural Redocumentation: A Case Study, Kenny Wong and Scott Tilley and Haus Mueller and Margaret-Anne Storey
    @Article{	  wong.tilley.ea:structural,
      author	= {Kenny Wong and Scott Tilley and Haus Mueller and
    		  Margaret-Anne Storey},
      title		= {Structural Redocumentation: A Case Study},
      journal	= {IEEE Software},
      year		= {1995},
      volume	= {12},
      number	= {1},
      pages		= {46-54},
      month		= {January},
      class		= {Software_Reverse_Engineering, Reverse_Design,
    		  Recovery_of_Software_Architecture}
    }
    

koschke@informatik.uni-stuttgart.de (Feedback).
Copyright © 1998-2000 University of Stuttgart, Germany. $Revision: 1.5 $
Date: Sat Nov 21 23:33:37 CET 2009