References of Software_Evolution

    Visualizing software systems, M. J. Baker and S. G. Eick
    @InProceedings{	  baker.eick:visualizing,
      author	= {M. J. Baker and S. G. Eick},
      title		= {Visualizing software systems},
      pages		= {59--70},
      booktitle	= {Proceedings of the 16th  International Conference on
    		  Software Engineering },
      year		= {1994},
      publisher	= {IEEE Computer Society Press},
      month		= may,
      abstract	= {There are many graphical techniques for visualizing
    		  software. Unfortunately, the current techniques do not
    		  scale to display large software systems and are largely
    		  unused. The authors present a method for visualizing
    		  statisistics associated with code that is devided
    		  hierarchically into subsystems, directories, and files.
    		  Using the authors' technique, the authors can display the
    		  relative sizes of the components in the system, which
    		  components are stable and which are changing, where the new
    		  functionality is being added, and identify error-prone code
    		  with many bug fixes. Using animation, the authors can
    		  display the historical evolution of the code.},
      class		= {Software_Reverse_Engineering, Software_Evolution}
    }
    
    
    DARE: Domain-Augmented ReEngineering, Jean-Marc DeBaud
    @InProceedings{	  debaud:dare,
      author	= {Jean-Marc DeBaud},
      title		= {DARE: Domain-Augmented ReEngineering},
      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	= {We present in this article the principles of a
    		  domain-augmented reengineering approach (DARE) as well as
    		  our initial experience applying sections of it. The
    		  principal characteristic of the DARE approach is its focus
    		  upon the computational context of a software system i.e.
    		  the business or scientific domain to which it relates. This
    		  context information is used both to drive the program
    		  understanding as well as for the program evolution phases
    		  of reengineering. In DARE a domain model (concepts and
    		  associated relationships) serves as the structure denoting
    		  context and is used for two purposes. First a dictionary of
    		  possible domain concept realizations is populated. Second a
    		  set of mappings from the domain to an existing tool or
    		  library related to the domain is defined. Reengineering
    		  then proceeds as follows: First a legacy system is analyzed
    		  and annotated with the dictionary of domain concept
    		  realizations. Then these matched concepts are transitioned
    		  to the tool or library using the predefined mapping set.
    		  Program evolution can then take place at the level of the
    		  tool or library. Using our initial experience we discuss
    		  DARE present an analysis and suggest implications for
    		  future work.},
      class		= {Software_Evolution Software_Reverse_Engineering
    		  Model_Generating Reverse_Specification Reverse_Design
    		  Domain_Analysis Process_Models_for_Reverse_Design
    		  Knowledge-Based_Concept_Assignmen }
    }
    
    
    Reverse Architecting Approach for Complex Systems, R.L. Krikhaar
    @InProceedings{	  krikhaar:reverse,
      author	= {R.L. Krikhaar},
      title		= {Reverse Architecting Approach for Complex Systems},
      booktitle	= {Proceedings of the IEEE International Conference on
    		  Software Maintenance},
      publisher	= {IEEE Computer Society},
      year		= {1997},
      pages		= {p4-11},
      abstract	= {Philips is an electronics company which operates world
    		  wide and participates in professional as well as consumer
    		  markets. The architecture of many software intensive
    		  systems are currently not optimally prepared for the
    		  changing market. For example the variety of systems is
    		  increasing because different users or user groups demand
    		  slightly different variants of a system. Good understanding
    		  of systems is required to be able to follow these changes.
    		  During the last years we have analysed a number of systems
    		  from which we have derived a general approach for reverse
    		  architecting (RA). Our approach has proved to be applicable
    		  for various complex systems in different domains. It
    		  consists of a number RA steps. In this paper we describe
    		  three RA steps and indicate some aspects of other RA steps.
    		  The description is supplemented with three case studies of
    		  complex systems. The complete set of RA steps is not fully
    		  independent however it is not necessary to perform all RA
    		  steps for each case. },
      keywords	= {Architecture improvement reverse architecting complex
    		  software software architecture reverse engineering module
    		  architecture },
      class		= {Software_Evolution Software_Reverse_Engineering }
    }
    
    
    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 }
    }
    
    
    Domain Analysis for Transformational Reuse, Melody Moore and Spencer Rugaber
    Available as
    Melody.Moore.
    @InProceedings{	  moore.rugaber:domain,
      author	= {Melody Moore and Spencer Rugaber},
      title		= {Domain Analysis for Transformational Reuse},
      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},
      month		= {October},
      url		= {http://www.cc.gatech.edu/fac/Melody.Moore},
      abstract	= {Domain analysis is an effective technique for enabling
    		  both reuse and reverse engineering. This paper shows how
    		  domain analysis can provide a framework for combining
    		  reverse engineering and forward engineering to implement
    		  transformational reuse for information system user
    		  interfaces.},
      keywords	= {Reverse engineering domain analysis user interfaces
    		  reuse},
      class		= {Software_Evolution Reengineering_in_General
    		  User_Interface_Migration Software_Reverse_Engineering
    		  Model_Generating Reverse_Specification Re-Design
    		  Domain_Analysis Alteration }
    }
    
    
    Wrapper Development for Legacy Data Reuse, Thiran, Philippe and Hainaut, Jean-Luc
    Available as
    hypertext.
    @InProceedings{	  thiran.hainaut:wrapper,
      author	= {Thiran, Philippe and Hainaut, Jean-Luc},
      title		= {Wrapper Development for Legacy Data Reuse},
      booktitle	= {Proc. of the 8th Working Conference on Reverse
    		  Engineering},
      year		= {2001},
      editor	= {Burd, E. and Aiken, P. and Koschke, R.},
      publisher	= {IEEE Computer Society Press},
      keywords	= {Wrapper, Legacy database, CASE-tool, Reverse-engineering},
      abstract	= {This paper is devoted to the technology of wrappers for
    		  legacy data systems reuse. Their characteristics are
    		  outlined and a generic wrapper architecture is defined.
    		  This architecture is intended to be instanciated for
    		  specific legacy data models and systems. A general
    		  methodology is proposed to define the architecture
    		  components. The methodology is supported by an operational
    		  CASE-tool that helps developers to generate wrappers.},
      url		= {http://www.fundp.ac.be/recherche/publications/fr/37655.html}
    		  ,
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools
    		  Software_Evolution}
    }
    

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