References of Process_Models

    Re-Engineering, Migration and Multi-Use of business Data, Daniel Aebi
    @InProceedings{	  aebi:re-engineering,
      author	= {Daniel Aebi},
      title		= {Re-Engineering, Migration and Multi-Use of business Data},
      booktitle	= {1st  European Conference on Software Maintenance and
    		  Reengineering 97},
      month		= mar,
      year		= {1997},
      publisher	= {IEEE Computer Society Press},
      abstract	= {},
      class		= {Reengineering_in_General, Process_Models}
    }
    
    
    Transition to a Legacy- and Reuse-Based Software Life Cycle, J. D. Ahrens and N. S. Prywes
    @Article{	  ahrens.prywes:transition,
      author	= {J. D. Ahrens and N. S. Prywes},
      title		= {Transition to a Legacy- and Reuse-Based Software Life
    		  Cycle},
      journal	= {IEEE Computer},
      pages		= {27-36},
      year		= {1995},
      month		= oct,
      class		= {Reengineering_in_General, Process_Models}
    }
    
    
    Maintenance and Reverse Engineering: Low Level Design Documents Production and Improvement, P. Antonini and P. Benedusi and G. Cantone and Aniello Cimitile
    @InProceedings{	  antonini.benedusi.ea:maintenance,
      author	= {P. Antonini and P. Benedusi and G. Cantone and Aniello
    		  Cimitile},
      title		= {Maintenance and Reverse Engineering: Low Level Design
    		  Documents Production and Improvement},
      booktitle	= {Proceedings of the  International Conference on Software
    		  Maintenance ~1987},
      year		= {1987},
      pages		= {91-100},
      organization	= {IEEE},
      publisher	= {IEEE Computer Society Press},
      class		= {Software_Reverse_Engineering, Reverse_Design,
    		  Process_Models_for_Reverse_Design}
    }
    
    
    Viewing maintenance as reuse oriented software development, V. Basili
    @Article{	  basili:viewing,
      title		= {Viewing maintenance as reuse oriented software
    		  development},
      author	= {V. Basili},
      journal	= {{IEEE} Software},
      volume	= {7},
      number	= {1},
      pages		= {19--25},
      year		= {1990},
      note		= { In this paper the maintenance process is incorporated in
    		  the life-cycle perspective geared towards the reusability
    		  of the various components},
      class		= {Reengineering_in_General, Process_Models,
    		  Software_Reverse_Engineering, Re-Use}
    }
    
    
    A model of large program development, L. A. Belady and M. M. Lehman
    @Article{	  belady.lehman:model,
      author	= {L. A. Belady and M. M. Lehman},
      title		= {A model of large program development},
      journal	= {IBM Systems Journal},
      year		= {1976},
      volume	= {15},
      pages		= {225-252},
      class		= {Reengineering_in_General, Process_Models }
    }
    
    
    Reverse Engineering Processes, Design Document Production, and Structure Charts, P. Benedusi and A. Cimitile and U. De~Carlini
    @Article{	  benedusi.cimitile.ea:reverse*1,
      author	= {P. Benedusi and A. Cimitile and U. {De~Carlini}},
      title		= {Reverse Engineering Processes, Design Document Production,
    		  and Structure Charts},
      journal	= {The Journal of Systems and Software},
      year		= {1992},
      month		= {November},
      volume	= {19(3)},
      pages		= {225-24},
      abstract	= {},
      class		= {Reengineering_in_General, Process_Models }
    }
    
    
    A Reverse Engineering Methodology to Reconstruct Hierarchical Data Flow Diagrams for Software Maintenance, P. Benedusi and A. Cimitile and U. De~Carlini
    @InProceedings{	  benedusi.cimitile.ea:reverse*2,
      author	= {P. Benedusi and A. Cimitile and U. {De~Carlini}},
      title		= {A Reverse Engineering Methodology to Reconstruct
    		  Hierarchical Data Flow Diagrams for Software Maintenance},
      booktitle	= {Proceedings of the IEEE Conference on Software
    		  Maintenance},
      year		= {October 1989},
      pages		= {180-189},
      abstract	= {},
      class		= {Reengineering_in_General, Process_Models}
    }
    
    
    A guided tour of program design methodologies, G. D. Bergland
    @Article{	  bergland:guided,
      author	= {G. D. Bergland},
      title		= {A guided tour of program design methodologies},
      journal	= {Computer},
      year		= {October 1981},
      pages		= {18-37},
      volume	= {14(10)},
      abstract	= {},
      class		= {Reengineering_in_General, Process_Models }
    }
    
    
    A Spiral Model of Software Development and Enhancement, Barry W. Boehm
    @Article{	  boehm:spiral,
      author	= {Barry W. Boehm},
      title		= {A Spiral Model of Software Development and Enhancement},
      journal	= {Computer},
      year		= {May 1988},
      pages		= {61-72},
      abstract	= {Seminal paper on the spiral model, which advocates a
    		  series of prototypes and risk analysis steps.},
      class		= {Reengineering_in_General, Process_Models }
    }
    
    
    The 1992 Report on The Process Reuse Study (PRS) in CAS, J.E. Botsford and G. Caldiera and G.E. Kaiser and M.I. Kellner and N.H. Madhavji
    @TechReport{	  botsford.caldiera.ea:1992,
      key		= {Botsford et. al, 1992},
      author	= {J.E. Botsford and G. Caldiera and G.E. Kaiser and M.I.
    		  Kellner and N.H. Madhavji},
      title		= {The 1992 Report on The Process Reuse Study (PRS) in CAS},
      institution	= {IBM Canada Ltd. Laboratory, Centre for Advanced Studies},
      year		= {1992},
      number	= {TR 74.106},
      address	= {895 Don Mills Road, North York, Ontario, Canada M3C 1W3},
      month		= nov,
      class		= {Reengineering_in_General, Process_Models}
    }
    
    
    Using Modern Design Practices to Upgrade Aging Software Systems, Robert N. Britcher and James J. Craig
    @Article{	  britcher.craig:using*1,
      author	= {Robert N. Britcher and James J. Craig},
      year		= {May 1986},
      journal	= {IEEE Software},
      pages		= {16-24},
      title		= {Using Modern Design Practices to Upgrade Aging Software
    		  Systems},
      volume	= {3(3)},
      abstract	= {},
      class		= {Reengineering_in_General, Process_Models }
    }
    
    
    A Clinical Approach to Reverse and Reengineering, Charles W. Butler and Thomas J. McCabe
    @Article{	  butler.mccabe:clinical,
      author	= {Charles W. Butler and Thomas J. McCabe},
      title		= {A Clinical Approach to Reverse and Reengineering},
      journal	= {Reverse Engineering Newsletter},
      year		= {1992},
      pages		= {Rev-1 -- Rev-4},
      month		= jan,
      inhalt	= {Ma\3nahmen, um 'alternde' Systeme aufrecht zu erhalten (in
    		  Anlehnung an die Gesundheitsvorsorge): - periodische
    		  Untersuchung (je älter je häufiger) - Metriken erheben und
    		  festhalten - falls sich die Werte verschlechtern,
    		  korrigierende Ma\3nahmen einleiten: * Diagnose *
    		  Gegenma\3nahmen ermitteln * Abwägung von Risiken/Kosten und
    		  Nutzen
    		  
    		  Mögliche Metriken: - McCabes cyclomatic complexity V -
    		  McCabes essential complexity EV
    		  
    		  auch zur Erkennung von Redundanz (gleiche V/EV von
    		  Programmen => gleiche Funktionalität) und Wiederverwendung
    		  (gleich V/EV von Program Description Language PDL und
    		  existierendem Programm => gleiche Funktionalität) },
      class		= {Reengineering_in_General, Process_Models}
    }
    
    
    A Reverse Engineering Process for Design Level Document Production from ADA Code, G. Canfora and A. Cimitile and U. De Carlini
    @Article{	  canfora.cimitile.ea:reverse*2,
      title		= {A Reverse Engineering Process for Design Level Document
    		  Production from ADA Code},
      author	= {G. Canfora and A. Cimitile and U. De Carlini},
      journal	= {Information and Software Technology},
      volume	= {35},
      number	= {1},
      pages		= {23--34},
      year		= {1993},
      note		= { A reverse engineering process for producing design level
    		  documents by static analysis of ADA code is described. This
    		  is achieved via concurrent data flow diagrams describing
    		  the task structure and the data flow between tasks.},
      class		= {Software_Reverse_Engineering, Reverse_Design,
    		  Fundamental_Methods_in_Reverse_Design, Static_Analysis,
    		  Process_Models_for_Reverse_Design}
    }
    
    
    Data Abstraction in a Software Re-engineering Reference Model, A. Colbrook and C. Smythe and A. Darlison
    @InProceedings{	  colbrook.smythe.ea:data,
      author	= {A. Colbrook and C. Smythe and A. Darlison},
      title		= {Data Abstraction in a Software Re-engineering Reference
    		  Model},
      booktitle	= {Proceedings of the  International Conference on Software
    		  Maintenance ~1990},
      year		= {1990},
      pages		= {2-11},
      organization	= {IEEE},
      publisher	= {IEEE Computer Society Press},
      abstract	= {The process of software re-engineering must incorporate
    		  techniques for manipulating software which is imperative,
    		  declarative or functional in nature. This generality needs
    		  a mechanism for deriving the original requirements of the
    		  underlying data structures contained within the source code
    		  itself. In this paper a reference model is proposed from
    		  which it is possible to derive the necessary techniques
    		  required to implement such a mechanism. The reference model
    		  is programming language independent and as such is well
    		  suited to representing the general re-engineering
    		  process.},
      class		= {Reengineering_in_General, Process_Models}
    }
    
    
    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 }
    }
    
    
    MACS: Maintenance Assistence Capability for Software Maintenance, Christine Desclaux and Michel Ribault
    @InProceedings{	  desclaux.ribault:macs,
      author	= {Christine Desclaux and Michel Ribault},
      title		= {MACS: Maintenance Assistence Capability for Software
    		  Maintenance},
      booktitle	= {Proceedings of the  International Conference on Software
    		  Maintenance ~1991},
      year		= {1991},
      pages		= {2-11},
      organization	= {IEEE},
      publisher	= {IEEE Computer Society Press},
      abstract	= {MACS goal is to offer a customizable software maintenance
    		  assistance system. Its main concern is to help the
    		  maintainer in gaining a deep understanding of existing or
    		  in-progress applications, of the factual data (Change
    		  Management World and Abstraction Recovery World) and the
    		  design decisions rationale (Reasoning World), the mapping
    		  of domain to programming components (Interconnection
    		  World). Moreover this broad reverse-engineering approach is
    		  enhanced by impact analysis techniques to better perceive
    		  the interaction between components. The MACS supervisor
    		  proposes a set of maintenance process models to guide the
    		  maintainer through the MACS worlds. Knowledge Base and
    		  Expert-System techniques are used in conjunction with
    		  Software Engineering techniques, which makes MACS a KADME,
    		  Knowledge Assistance for Development and Maintenance
    		  Environment. },
      class		= {Software_Reverse_Engineering, Reverse_Design,
    		  Knowledge-Based_Concept_Assignment,
    		  Reengineering_in_General, Process_Models}
    }
    
    
    Incremental Process Support for Code Reengineering, George T. Heineman and Gail E. Kaiser
    @InProceedings{	  heineman.kaiser:incremental,
      author	= {George T. Heineman and Gail E. Kaiser},
      title		= {Incremental Process Support for Code Reengineering},
      pages		= {282-290},
      booktitle	= {Proceedings of the  International Conference on Software
    		  Maintenance ~1994},
      year		= {1994},
      publisher	= {IEEE Computer Society Press},
      month		= sep,
      abstract	= {Reengineering a large code base can be a monumental task,
    		  and the situation becomes even worse if the code is
    		  concomitantly being modified. Since January 1992, the
    		  authors have been using the MARVEL process centered
    		  environment (PCE) for all of their software development and
    		  are currently using it to develop the OZ PCE (MARVEL's
    		  successor). Towards this effort, the authors are
    		  reengineering OZ's code base to isolate the process engine,
    		  transaction manager, and object management system as
    		  separate components that can be used in arbitrary systems.
    		  In this paper, the authors show how a PCE can assist teams
    		  of users in carrying out code reengineering while allowing
    		  them to continue their normal code development. The key
    		  features to this approach are its incremental nature and
    		  the ability of the PCE to automate most of the tasks
    		  necessary to maintain the consistency of the code base.},
      class		= {Reengineering_in_General, Process_Models}
    }
    
    
    Design Recovery of Legacy Database Applications based on Possibilistic Reasoning, Jens H. Jahnke and Melanie Heitbreder
    Available as
    hypertext.
    @InProceedings{	  jahnke.heitbreder:design,
      author	= {Jens H. Jahnke and Melanie Heitbreder},
      title		= {Design Recovery of Legacy Database Applications based on
    		  Possibilistic Reasoning},
      booktitle	= {Proceedings of 7th IEEE International Conference of Fuzzy
    		  Systems (FUZZ'98)},
      publisher	= {IEEE Computer Society},
      year		= {1998},
      month		= {May},
      url		= {http://www.uni-paderborn.de/cs/jahnke.html},
      abstract	= {Industrial database applications often evolve over three
    		  or more generations of developers, cover several hundred
    		  thousand lines of code and maintain a vast amount of data.
    		  A rapidly growing number of companies face the problem that
    		  they have to adapt or modernise such existing legacy
    		  database applications (LDA) in order to keep up with
    		  emerging requirements. The documentation of such LDAs is
    		  often obsolete as they have been developed over several
    		  generations of programmers. This paper presents an
    		  application of possibilistic reasoning to infer the
    		  semantic information that is necessary to recover the
    		  conceptual design of an LDA. A dedicated, graphical
    		  language (called Generic Fuzzy Reasoning Nets) is
    		  introduced to specify and customise the applied reverse
    		  engineering process. The actual reasoning process is
    		  performed by a nonmonotonic inference engine based on fuzzy
    		  petri nets which supports lazy execution of expensive
    		  analysis operations.},
      keywords	= {data reverse engineering, expert system, uncertain
    		  reasoning, legacy database},
      class		= {Extracting_Business_Rules Software_Reverse_Engineering
    		  Database_Migration Reverse_Design Re-Design
    		  Process_Models_for_Reverse_Design Alteration }
    }
    
    
    A Reverse Engineering Methodology for Data Processing Applications, Kit Kamper and Spencer Rugaber
    @TechReport{	  kamper.rugaber:reverse,
      author	= {Kit Kamper and Spencer Rugaber},
      title		= {A Reverse Engineering Methodology for Data Processing
    		  Applications},
      number	= {GIT-SERC-90/02},
      institution	= {Software Engineering Center Georgia Institute of
    		  Technology, Atlanta, GA},
      year		= {1990},
      month		= mar,
      note		= {Figures are missing},
      abstract	= {Reverse engineering produces a high-level representation
    		  of a software system from a low-level one. This paper
    		  describes a methodology for reverse engineering that
    		  constructs an architectural design for a system from its
    		  source code and related documentation. The methodology
    		  makes use of several techniques normally used during the
    		  forward software development process as well as a new
    		  technique called Synchronized Refinement. Synchronized
    		  Refinement is a systematic approach to detecting design
    		  decisions in source code and relating the detected
    		  decisions to the functionality of the system. Examples are
    		  given demonstrating the application of the methodology to
    		  the reverse engineering of a production software system.},
      ftp		= {ftp.cc.gatech.edu//pub/groups/reverse/repository/synchronized.ps}
    		  ,
      class		= {Software_Reverse_Engineering, Reverse_Design,
    		  Process_Models_for_Reverse_Design,
    		  Software_Reverse_Engineering, Reverse_Design,
    		  Fundamental_Methods_in_Reverse_Design}
    }
    
    
    The Task Artifact Cycle: A Conceptual Approach to Maintenance and Re-engineering, Sebastian Kutscha and Klaus Henning and Horst Kesselmeier
    @InProceedings{	  kutscha.henning.ea:task,
      author	= {Sebastian Kutscha and Klaus Henning and Horst
    		  Kesselmeier},
      title		= {The Task Artifact Cycle: A Conceptual Approach to
    		  Maintenance and Re-engineering},
      booktitle	= {1st  European Conference on Software Maintenance and
    		  Reengineering 97},
      month		= mar,
      year		= {1997},
      publisher	= {IEEE Computer Society Press},
      abstract	= {We present a model - the so-called task artifact cycle -
    		  which integrates the development of a system being in use
    		  into the software lifecycle. The basic assumption of the
    		  model is, that the actual use of a system may considerably
    		  differ from the original design. This has to be taken into
    		  consideration in maintenance and reengineering. In
    		  particular, the monitoring of this development process is
    		  an important basis for maintainability. },
      class		= {Reengineering_in_General, Process_Models}
    }
    
    
    A Process Model for Controlling and Performing Re-engineering Tasks, Ulrike Kölsch and Mechtild Wallrath
    @InProceedings{	  kölsch.wallrath:process,
      author	= {Ulrike Kölsch and Mechtild Wallrath},
      title		= {A Process Model for Controlling and Performing
    		  Re-engineering Tasks},
      booktitle	= {1st  European Conference on Software Maintenance and
    		  Reengineering 97},
      month		= mar,
      year		= {1997},
      publisher	= {IEEE Computer Society Press},
      abstract	= {In this paper we present a process model for controlling
    		  and performing re-engineering tasks. This process model is
    		  based on a re-engineering methodology, that regards the
    		  legacy system from the data-oriented perspective and aims
    		  for decomposing and transforming it into an object-oriented
    		  system along semantic units.
    		  
    		  The transformation from procedural to object-oriented
    		  systems requires to deal with system models at different
    		  abstraction levels which must be matched to each other. The
    		  object identification and the match are controlled and
    		  performed by two processes - the microprocess and the
    		  macroprocess. In order to find and process information with
    		  respect to an abstract object, the macroprocess initiates
    		  and coordinates a set of microprocesses that perform
    		  re-engineering tasks with respect to a secluded functional
    		  and structural part of the IS. },
      class		= {Reengineering_in_General, Process_Models}
    }
    
    
    A Design Framework for System Re-engineering, Xiaodong Liu and Zhiqiang Chen and Hongji Yang and Hussein Zedan and William. C. Chu
    @InProceedings{	  liu.chen.ea:design,
      author	= {Xiaodong Liu and Zhiqiang Chen and Hongji Yang and Hussein
    		  Zedan and William. C. Chu},
      title		= {A Design Framework for System Re-engineering},
      booktitle	= {Proceedings of Joint Asia Pacific Software Engineering
    		  Conference and International Computer Science Conference},
      publisher	= {IEEE Computer Society},
      year		= {1997},
      address	= {Hong Kong},
      month		= {December},
      abstract	= { We discuss the current situation of formal methods and
    		  their use in the re-engineering of computing systems,
    		  especially real time systems. Based on the analysis result,
    		  a solution which uses a consistent 4-sector Wide Spectrum
    		  Language (WSL) is proposed, which presently includes the
    		  general architecture and work flow, the structure of
    		  Object-Action Model, the syntax and semantics of ObTAM
    		  (Object Oriented Temporal Agent Model) and TGCL (Timed
    		  Guarded Command Language). A small case study shows an
    		  optimistic future of our WSL technique. Further research
    		  will aim to build the complete semantic kernel of the WSL
    		  and its associated algebraic laws, including transformation
    		  rules and abstraction rules. },
      keywords	= {formal methods, re-engineering, wide spectrum language,
    		  real-time systems, object orientation, Interval Temporal
    		  Logic},
      class		= {Reengineering_in_General Requirement_Tracability
    		  Software_Reverse_Engineering Reverse_Specification
    		  Process_Models }
    }
    
    
    Reverse engineering: resolving conflicts between expected and actual software designs, S. Ornburn and S. Rugaber
    @InProceedings{	  ornburn.rugaber:reverse,
      title		= {Reverse engineering: resolving conflicts between expected
    		  and actual software designs},
      author	= {S. Ornburn and S. Rugaber},
      booktitle	= {\cite{SM92}},
      pages		= {32--40},
      year		= {1992},
      note		= { Experience report describing the application of the
    		  Synchronized Refinement method ~\cite{ROL90} to a real-time
    		  embedded system},
      class		= {Software_Reverse_Engineering, Reverse_Design,
    		  Process_Models_for_Reverse_Design}
    }
    
    
    Planning the Reengineering of Legacy Systems, H. Sneed
    @Article{	  sneed:planning,
      author	= {H. Sneed},
      title		= {Planning the Reengineering of Legacy Systems},
      journal	= {IEEE Software},
      year		= {1995},
      volume	= {12},
      number	= {1},
      pages		= {24-33},
      month		= {January},
      class		= {Reengineering_in_General, Process_Models, Management}
    }
    
    
    The Reverse Engineering Notebook, Kenny Wong
    @PhDThesis{	  wong:reverse,
      author	= {Kenny Wong},
      title		= {The Reverse Engineering Notebook},
      school	= {University of Victoria},
      year		= {1999},
      abstract	= {Software must evolve over time or it becomes useless. Much
    		  of software production today is involved not in creating
    		  wholly new code from scratch but in maintaining and
    		  building upon existing code. Much of this code resides in
    		  old legacy software systems.
    		  
    		  Unfortunately, these systems are often poorly documented.
    		  Typically, they become more complex and difficult to
    		  understand over time. Thus, there is a need to better
    		  understand existing software systems. An approach toward
    		  this problem would be a first step toward easing changes
    		  and extending the continuous evolution of these systems.
    		  
    		  This dissertation addresses the problem by enabling
    		  continuous software understanding. There should be a base
    		  of reverse engineering abstractions that are carried
    		  forward during evolution.
    		  
    		  The proposed approach seeks to redocument existing software
    		  structure, capture the analysis decisions made, and support
    		  personal, customizable, and live perspectives of the
    		  software in an online journal called the Reverse
    		  Engineering Notebook.
    		  
    		  The premise that software reverse engineering be applied
    		  continuously throughout the lifetime of the software has
    		  major tool design implications. Thus, tool integration,
    		  process, and adoption are key issues for the Notebook. In
    		  particular, data integration requirements, control
    		  integration via pervasive scripting, presentation
    		  integration through the management of views, user roles,
    		  methodology, end user needs, and goal-directed framework
    		  for the Notebook are described.
    		  
    		  A major theme of the dissertation is learning from the
    		  successes and failures of studies involving tool
    		  integration and reverse engineering technologies. Case
    		  studies and user experiments helped to evaluate various
    		  aspects of the Notebook approach and provide feedback into
    		  software understanding tool requirements.
    		  
    		  },
      keywords	= {reverse engineering, program understanding, tool
    		  requirements},
      class		= {Interoperability Reengineering_in_General Using_graphs
    		  Reverse_Engineering_Tools Rig Process_Models
    		  Software_Reverse_Engineering
    		  Intermediate_Representations_of_Source_Code Experiences }
    }
    
    
    Tackling the Abstraction Problem for Reverse Engineering in a System Re-engineering Approach, Hongji Yang and Xiaodong Liu and Hussein Zedan
    @InProceedings{	  yang.liu.ea:tackling,
      author	= {Hongji Yang and Xiaodong Liu and Hussein Zedan},
      title		= {Tackling the Abstraction Problem for Reverse Engineering
    		  in a System Re-engineering Approach},
      booktitle	= {proceedings of the IEEE Conference on Software Maintenance
    		  (ICSM'98)},
      publisher	= {IEEE Computer Society},
      year		= {1998},
      address	= {Washington D.C., USA},
      month		= {November},
      abstract	= {It is widely accepted that reverse engineering has three
    		  components: restructuring, comprehension and production of
    		  formal specification. In this paper, we advocate that the
    		  three components could be achieved in a {\bf systematic}
    		  approach by successfully applying a series of sound rules.
    		  
    		  The key approach to comprehension and the production of
    		  formal specification is a notion of abstraction.
    		  Abstraction is often interpreted as the act of hiding
    		  irrelevant details. What constitute as relevant details is
    		  often left open to different interpretations.
    		  
    		  A unified approach for reverse engineering is described
    		  within which the notion of abstraction is classified and
    		  precisely defined. Abstraction rules are given and applied
    		  to various small examples. },
      keywords	= {reverse engineering, re-engineering, wide spectrum
    		  language, abstraction, object oriented, Interval Temporal
    		  Logic. },
      class		= {Reengineering_in_General Software_Reverse_Engineering
    		  Reverse_Specification Formal_Methods Reverse_Design
    		  Process_Models }
    }
    

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