References of Data_Reverse_Engineering

    A Framework for Reverse Engineering DoD Legacy Information Systems , P. Aiken and A. Muntz and R. Richards
    @InProceedings{	  aiken.muntz.ea:framework*1,
      author	= { P. Aiken and A. Muntz and R. Richards },
      title		= { A Framework for Reverse Engineering DoD Legacy
    		  Information Systems },
      booktitle	= { WCRE~'93: Proceedings of the 1993 Working Conference on
    		  Reverse Engineering, {\rm (Baltimore, Maryland; May 21-23,
    		  1993)}},
      year		= { May 1993 },
      pages		= { 180-191 },
      publisher	= { IEEE Computer Society Press (Order Number 3780-02) },
      abstract	= { },
      class		= {Data_Reverse_Engineering }
    }
    
    
    Observed Idiosyncracies of Relational Database Designs , M.R. Blaha and W.J. Premerlani
    @InProceedings{	  blaha.premerlani:observed*1,
      author	= { M.R. Blaha and W.J. Premerlani },
      title		= { Observed Idiosyncracies of Relational Database Designs },
      booktitle	= { WCRE~'95: Proceedings of the Second Working Conference on
    		  Reverse Engineering, {\rm (Toronto, Ontario; July 14-16,
    		  1995)}},
      year		= { July 1995 },
      pages		= { 116-125 },
      publisher	= { IEEE Computer Society Press (Order Number PR07111) },
      class		= {Data_Reverse_Engineering }
    }
    
    
    Co-transformations in Information System Reengineering, Cl\`eve, Anthony and Henrard, Jean and Hainaut, Jean-Luc
    Available as
    hypertext.
    @InProceedings{	  cleve.henrard.ea:co-transformations,
      author	= {Cl\`eve, Anthony and Henrard, Jean and Hainaut, Jean-Luc},
      title		= {Co-transformations in Information System Reengineering},
      booktitle	= {Proc. of the Second International Workshop on Meta-Models,
    		  Schemas and Grammars for Reverse Engineering ({ATEM}'04)},
      year		= {2004},
      abstract	= {Database reengineering consists in transforming a legacy
    		  database according to new technical requirements, while
    		  keeping the information contents unchanged. Substituting a
    		  modern data management system (relational DBMS for
    		  instance) for an outdated manager (typically standard file
    		  manager), or improving the logical schema to gain better
    		  performance are popular scenarios. Transformational
    		  engineering has proved to be both an elegant and efficient
    		  approach to perform these processes. At the present time,
    		  we are provided with sound concepts and techniques to model
    		  most database engineering processes, and particularly
    		  database migration as semantics-preserving transformations.
    		  Migrating the application programs is another hard
    		  challenge. Indeed, the size and the complexity of the
    		  source code of the programs make the latter difficult to
    		  migrate while maintaining the readability of the target
    		  code. The paper analyzes the problem of data-centered
    		  application programs migration following the migration of
    		  their databases. The paper explores the feasibility of
    		  transforming the application programs through code
    		  transformation patterns that are automatically derived from
    		  the database transformations. It presents the principles of
    		  a new transformational approach that couples database and
    		  programs migration and it describes a prototype CASE tool
    		  based in this approach.},
      url		= {http://www.fundp.ac.be/recherche/publications/fr/50551.html}
    		  ,
      keywords	= {wrapper, migration, database reverse engineering, CASE,
    		  program transformation, co-transformation},
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools}
    }
    
    
    Approche transformationnelle de la r\'eing\'enierie des donn\'ees, Delcroix, Christine and Thiran, Philippe and Hainaut, Jean-Luc
    Available as
    hypertext.
    @Article{	  delcroix.thiran.ea:approche,
      author	= {Delcroix, Christine and Thiran, Philippe and Hainaut,
    		  Jean-Luc},
      title		= {Approche transformationnelle de la r\'eing\'enierie des
    		  donn\'ees},
      journal	= {Ing\'enierie des Syst\`emes d'Information},
      year		= {2001},
      volume	= {6},
      number	= {1},
      pages		= {61-98},
      keywords	= {database engineering, schema transformation, wrapper, data
    		  migration, XML},
      abstract	= {Cet article présente une démarche et une architecture
    		  générique traitant de la traduction de schémas et de la
    		  conversion de données. La traduction de schéma est basée
    		  sur un modèle de spécification des données multi-niveau et
    		  multi-paradigme et sur des opérateurs transformationnels
    		  permettant la définition des correspondances inter-schémas.
    		  La conversion des données s'appuie sur une architecture
    		  générique dont les composants sont définis formellement à
    		  partir d'opérateurs transformationnels. La traduction de
    		  schémas ainsi que la conversion des données sont supportées
    		  par l'AGL DB-MAIN. L'approche est illustrée au travers
    		  d'une application de réingénierie d'un ensemble de fichiers
    		  COBOL vers XML},
      url		= {http://www.fundp.ac.be/recherche/publications/fr/37741.html}
    		  ,
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools}
    }
    
    
    DB-MAIN: Un Atelier d'Ing\'enierie de Bases de Donn\'ees, Englebert, Vincent and Henrard, Jean and Hick, Jean-Marc and Roland, Didier and Hainaut, Jean-Luc
    Available as
    pub-spec-paper?RP-96-010.
    @Article{	  englebert.henrard.ea:db-main,
      author	= {Englebert, Vincent and Henrard, Jean and Hick, Jean-Marc
    		  and Roland, Didier and Hainaut, Jean-Luc},
      title		= {{DB-MAIN}: Un Atelier d'Ing\'enierie de Bases de Donn\'ees},
      journal	= {Ing\'enierie des Syst\`emes d'Information},
      volume	= {4},
      number	= {1},
      year		= {1996},
      publisher	= {HERMES-AFCET},
      url		= {http://www.info.fundp.ac.be/cgi-publi/pub-spec-paper?RP-96-010}
    		  ,
      abstract	= {Cet article pr\'esente un AGL d\'edi\'e \`a l'ing\'enierie
    		  des applications orient\'ees donn\'ees, et plus
    		  particuli\`erement aux processus complexes de
    		  r\'e-ing\'enierie, de maintenance et d'\'evolution. Il
    		  d\'ecrit certains de ses aspects originaux, tels que le
    		  mod\`ele de sp\'ecification g\'en\'erique, la boite \`a
    		  outils transformationnelle, les fonctions de
    		  r\'etro-ing\'enierie ainsi que les fonctions de
    		  personnalisation fonctionnelle et m\'ethodologique.},
      keywords	= {CASE tools, database engineering, methodology,
    		  reverse-engineering, evolution},
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools}
    }
    
    
    Web Site Engineering, Esti\'evenart, Fabrice and Fran\ccois, Aurore and Henrard, Jean and Hainaut, Jean-Luc
    Available as
    hypertext.
    @InProceedings{	  estievenart.francois.ea:web,
      author	= {Esti\'evenart, Fabrice and Fran\c{c}ois, Aurore and
    		  Henrard, Jean and Hainaut, Jean-Luc},
      title		= {Web Site Engineering},
      booktitle	= {Proc. of the 5th International Workshop on Web Site
    		  Evolutio},
      year		= {2003},
      publisher	= {IEEE CS Press},
      abstract	= {Modern technologies allow web sites to be dynamically
    		  managed by building pages on-the-fly through scripts that
    		  get data from a database. Dissociation of data from layout
    		  directives provides easy data update and homogeneous
    		  presentation. However, many web sites still are made of
    		  static HTML pages in which data and layout information are
    		  interleaved. This leads to out-of-date information,
    		  inconsistent style and tricky and expensive maintenance.
    		  This paper presents a tool supported methodology to
    		  reengineer web sites, that is, to extract the page contents
    		  as XML documents structured by expressive DTDs or XML
    		  Schemas. All the pages that are recognized to express the
    		  same application (sub)domain are analyzed in order to
    		  derive their common structure. This structure is formalized
    		  by an XML document, called META, which is then used to
    		  extract an XML document that contains the data of the pages
    		  and a XML Schema validating these data. The META document
    		  can describe various structures such as alternative layout
    		  and data structure for the same concept, structure
    		  multiplicity and separation between layout and
    		  informational content. XML Schemas extracted from different
    		  page types are integrated and conceptualised into a unique
    		  schema describing the domain covered by the whole web site.
    		  Finally, the data are converted according to this new
    		  schema so that they can be used to produce the renovated
    		  web site. These principles will be illustrated through a
    		  case study using the tools that create the META document,
    		  extract the data and the XML Schema.},
      keywords	= {reengineering, web site, XML, data extraction},
      url		= {http://www.fundp.ac.be/recherche/publications/fr/50540.html}
    		  ,
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools
    		  Reengineering_in_General}
    }
    
    
    Database CASE Tool Architecture : Principles for Flexible Design Strategies, Hainaut, Jean-Luc and Cadelli, Mario and Decuyper, Bernard and Marchand, Olivier
    Available as
    pub-spec-paper?RP-92-001.
    @InProceedings{	  hainaut.cadelli.ea:database,
      author	= {Hainaut, Jean-Luc and Cadelli, Mario and Decuyper, Bernard
    		  and Marchand, Olivier},
      title		= {Database {CASE} Tool Architecture : Principles for
    		  Flexible Design Strategies},
      booktitle	= {4th Int. Conf. on Advanced Information System Engineering
    		  (CAiSE-92)},
      address	= {Manchester},
      month		= {May},
      year		= {1992},
      series	= {LNCS},
      number	= {593},
      publisher	= {Springer-Verlag},
      url		= {http://www.info.fundp.ac.be/cgi-publi/pub-spec-paper?RP-92-001}
    		  ,
      abstract	= {The paper describes the architectural principles of a
    		  database CASE tool that allows more flexible design
    		  strategies than those of traditional tools that propose
    		  oversimplistic draw-and-generate approaches. Providing this
    		  flexibility is based on four basic principles, namely a
    		  unique generic specification model that allows the
    		  definition of a large variety of specific design products,
    		  transformational functions as major database design tools,
    		  a toolbox architecture, allowing a maximal independence
    		  between functions, and multiple model definition through
    		  parametrization of the unique generic model. These
    		  architectural characteristics themselves derive from two
    		  fundamental paradigms, namely the process-product-
    		  requirements approach to model design behaviours, and the
    		  transformational approach to system design.},
      keywords	= {design modeling, system design, database design,
    		  transformational approach, CASE tools},
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools}
    }
    
    
    Contribution to a Theory of Database Reverse Engineering, Hainaut, Jean-Luc and Chandelon, Murielle and Tonneau, Catherine and Joris, Michel
    Available as
    pub-spec-paper?RP-93-003.
    @InProceedings{	  hainaut.chandelon.ea:contribution*2,
      author	= {Hainaut, Jean-Luc and Chandelon, Murielle and Tonneau,
    		  Catherine and Joris, Michel},
      title		= {Contribution to a Theory of Database Reverse Engineering},
      booktitle	= {Proc. of the IEEE Working Conf. on Reverse Engineering
    		  ({WCRE}'93)},
      address	= {Baltimore},
      month		= {May},
      year		= {1993},
      publisher	= {IEEE Computer Society Press},
      url		= {http://www.info.fundp.ac.be/cgi-publi/pub-spec-paper?RP-93-003}
    		  ,
      abstract	= { The paper proposes both a general framework and specific
    		  techniques for file and database reverse engineering, i.e.
    		  recovering its conceptual schema. The framework relies on a
    		  process/product model that matches formal as well as
    		  empirical design procedures. Based on the analysis of
    		  database design processes, two major phases are defined,
    		  namely Data structure extraction and Data structure
    		  conceptualization. For each of them, a set of activities is
    		  proposed. Most of these activities can be described as
    		  transformation and integration of specifications.},
      keywords	= {database design, database reverse engineering},
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools}
    }
    
    
    Database Evolution - the DB-MAIN Approach, Hainaut, Jean-Luc and Englebert, Vincent and Henrard, Jean and Hick, Jean-Marc and Roland, Didier
    Available as
    pub-spec-paper?RP-94-016.
    @InProceedings{	  hainaut.englebert.ea:database,
      author	= {Hainaut, Jean-Luc and Englebert, Vincent and Henrard, Jean
    		  and Hick, Jean-Marc and Roland, Didier},
      title		= {Database Evolution - the {DB-MAIN} Approach},
      booktitle	= {Proc. of the 13th Int. Conf. on Entity-Relationship
    		  Approach},
      month		= {December},
      address	= {Manchester},
      year		= {1994},
      publisher	= {Springer-Verlag},
      series	= {LNCS},
      number	= {881},
      url		= {http://www.info.fundp.ac.be/cgi-publi/pub-spec-paper?RP-94-016}
    		  ,
      abstract	= {The paper analyses some of the practical problems that
    		  arise when the requirements of an information system
    		  evolve, and when the database and its application programs
    		  are to be modified accordingly. It presents four important
    		  strategies to cope with this evolution, namely forward
    		  maintenance, backward maintenance, reverse engineering and
    		  anticipating design. A common, generic, framework that can
    		  support these strategies is described. It is based on a
    		  generic data structure model, on a transformational
    		  approach to database engineering, and on a design process
    		  model. The paper discusses how this framework allows
    		  formalizing these evolution strategies, and describes a
    		  generic CASE tool that supports database applications
    		  maintenance.},
      keywords	= {database evolution, database reengineering, reverse
    		  engineering, transformational design, process modeling,
    		  CASE tool },
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools}
    }
    
    
    Database Reverse Engineering : from Requirements to CARE tools, Hainaut, Jean-Luc and Englebert, Vincent and Henrard, Jean and Hick, Jean-Marc and Roland, Didier
    Available as
    pub-spec-paper?RP-96-011.
    @Article{	  hainaut.englebert.ea:database*1,
      author	= {Hainaut, Jean-Luc and Englebert, Vincent and Henrard, Jean
    		  and Hick, Jean-Marc and Roland, Didier},
      title		= {Database Reverse Engineering : from Requirements to {CARE}
    		  tools},
      journal	= {Journal of Automated Software Engineering},
      volume	= {3},
      number	= {1},
      year		= {1996},
      publisher	= {Kluwer Academic Press},
      url		= {http://www.info.fundp.ac.be/cgi-publi/pub-spec-paper?RP-96-011}
    		  ,
      abstract	= {This paper analyzes the requirements that CASE tools
    		  should meet for effective database reverse engineering
    		  (DBRE), and proposes a general architecture for
    		  data-centered applications reverse engineering CASE
    		  environments. First, the paper describes a generic
    		  DBMS-independent DBRE methodology, then it analyzes the
    		  main characteristics of DBRE activities in order to collect
    		  a set of desirable requirements. Finally, it describes
    		  DB-MAIN, an operational CASE tool developed according to
    		  these requirements. The main features of this tool that are
    		  described in this paper are its unique generic
    		  specification model, its repository, its transformation
    		  toolkit, its user interface, the text processors, the
    		  assistants, the methodological control and its functional
    		  extensibility. Finally, the paper describes five real-world
    		  projects in which the methodology and the CASE tool were
    		  applied. },
      keywords	= {reverse engineering, database engineering, program
    		  understanding, methodology, CASE tools},
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools}
    }
    
    
    DB-MAIN: a Database Reverse Engineering CASE Tool, Hainaut, Jean-Luc and Englebert, Vincent and Henrard, Jean and Hick, Jean-Marc and Roland, Didier
    Available as
    pub-spec-paper?RP-95-014.
    @InProceedings{	  hainaut.englebert.ea:db-main,
      author	= {Hainaut, Jean-Luc and Englebert, Vincent and Henrard, Jean
    		  and Hick, Jean-Marc and Roland, Didier},
      title		= {{DB-MAIN}: a Database Reverse Engineering {CASE} Tool},
      booktitle	= {Proc. of the 6th Workshop on Next Generation {CASE}
    		  tools},
      address	= {Jyv\"askyl\"a (Finland)},
      month		= {July},
      year		= {1995},
      editor	= {G. Grosz},
      url		= {http://www.info.fundp.ac.be/cgi-publi/pub-spec-paper?RP-95-014}
    		  ,
      abstract	= {This paper proposes a general architecture for Information
    		  systems (or data-centered applications) reverse engineering
    		  CASE environments. Recovering the specifications of such
    		  applications requires recovering first those of their data,
    		  i.e. database reverse engineering (DBRE). First, the paper
    		  describes a generic DMS-independent DBRE methodology, then
    		  it analyses the main characteristics of DBRE activities in
    		  order to collect a set of minimum or desired requirements.
    		  Finally, it describes the main features of an operational
    		  CASE tool developed according to these requirements. This
    		  study and these developments are being carried out as part
    		  of the DB-MAIN and DB-PROCESS projects.},
      keywords	= {database evolution, system evolution, database
    		  reengineering, reverse engineering, CASE tool},
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools}
    }
    
    
    Knowledge Transfer in Database Reverse Engineering - A Supporting Case Study, Hainaut, Jean-Luc and Englebert, Vincent and Hick, Jean-Marc and Henrard, Jean and Roland, Didier
    Available as .
    @InProceedings{	  hainaut.englebert.ea:knowledge,
      author	= {Hainaut, Jean-Luc and Englebert, Vincent and Hick,
    		  Jean-Marc and Henrard, Jean and Roland, Didier},
      title		= {Knowledge Transfer in Database Reverse Engineering - A
    		  Supporting Case Study},
      booktitle	= {Proc. of the 4th IEEE Working Conference on Reverse
    		  Engineering ({WCRE}'97)},
      address	= {Amsterdam (The Netherlands)},
      month		= {October},
      year		= {1997},
      publisher	= {IEEE Computer Society Press},
      url		= {},
      abstract	= {},
      keywords	= {},
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools}
    }
    
    
    Requirements for Information Systems Reverse Engineering Support, Hainaut, Jean-Luc and Englebert, Vincent and Henrard, Jean and Hick, Jean-Marc and Roland, Didier
    Available as
    pub-spec-paper?RP-95-013.
    @InProceedings{	  hainaut.englebert.ea:requirements*1,
      author	= {Hainaut, Jean-Luc and Englebert, Vincent and Henrard, Jean
    		  and Hick, Jean-Marc and Roland, Didier},
      title		= {Requirements for Information Systems Reverse Engineering
    		  Support},
      booktitle	= {Proc. of the 2nd IEEE Work. Conf. on Reverse Engineering
    		  ({WCRE}'95)},
      address	= {Toronto},
      month		= {July},
      year		= {1995},
      publisher	= {IEEE Computer Society Press},
      url		= {http://www.info.fundp.ac.be/cgi-publi/pub-spec-paper?RP-95-013}
    		  ,
      abstract	= {This paper proposes a general architecture for Information
    		  systems (or data-centered applications) reverse engineering
    		  CASE environments. Recovering the specifications of such
    		  applications requires recovering first those of their data,
    		  i.e. database reverse engineering (DBRE). First, the paper
    		  describes a generic DMS-independent DBRE methodology, then
    		  it analyses the main characteristics of DBRE activities in
    		  order to collect a set of minimum or desired requirements.
    		  Finally, it describes the main features of an operational
    		  CASE tool developed according to these requirements. This
    		  study and these developments are being carried out as part
    		  of the DB-MAIN and DB-PROCESS projects. },
      keywords	= {database evolution, system evolution, database
    		  reengineering, reverse engineering, CASE tool },
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools}
    }
    
    
    Contribution to the Reverse Engineering of OO Applications - Methodology and Case Study, Hainaut, Jean-Luc and Henrard, Jean and Hick, Jean-Marc and Roland, Didier and Englebert, Vincent
    Available as .
    @InProceedings{	  hainaut.henrard.ea:contribution,
      author	= {Hainaut, Jean-Luc and Henrard, Jean and Hick, Jean-Marc
    		  and Roland, Didier and Englebert, Vincent},
      title		= {Contribution to the Reverse Engineering of {OO}
    		  Applications - Methodology and Case Study},
      booktitle	= {Proc. of the IFIP 2.6 WC on Database Semantics (DS-7)},
      address	= {Leysin (CH)},
      month		= {October},
      year		= {1997},
      publisher	= {Chapman-Hall},
      url		= {},
      abstract	= {While database reverse engineering is getting mature,
    		  trying to recover the semantics of recent OO applications
    		  seems to trigger little interest. The reason is that the
    		  problem is underlooked because OO programs should be
    		  written in a clean and disciplined way, and based on
    		  state-of-the-art technologies which allow programmers to
    		  write auto-documented code. The paper is an attempt to
    		  explain why the reality is far from this naive vision.
    		  Mainly through a small C++ case study, it puts forward the
    		  main problems that occur when trying to understand actual
    		  OO applications. The example is processed through a generic
    		  reverse engineering methodology which applies successfully
    		  to OO programs, thanks to logical and conceptual OO models
    		  that can precisely describe object structures at any level
    		  of abstraction. As a synthesis of this case study, the
    		  paper discusses the techniques and tool support that are
    		  needed to help analysts in reverse engineering the object
    		  structures of OO applications.},
      keywords	= {database, data reverse engineering, methodology,
    		  object-oriented applications, object-oriented
    		  specification, semantics elicitation},
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools}
    }
    
    
    Database Design Recovery, Hainaut, Jean-Luc and Henrard, Jean and Hick, Jean-Marc and Roland, Didier and Englebert, Vincent
    Available as
    pub-spec-paper?RP-96-014.
    @InProceedings{	  hainaut.henrard.ea:database,
      author	= {Hainaut, Jean-Luc and Henrard, Jean and Hick, Jean-Marc
    		  and Roland, Didier and Englebert, Vincent},
      title		= {Database Design Recovery},
      booktitle	= {Proc. of the 8th Conf. on Advanced Information Systems
    		  Engineering (CAiSE*96)},
      publisher	= {Springer-Verlag},
      year		= {1996},
      url		= {http://www.info.fundp.ac.be/cgi-publi/pub-spec-paper?RP-96-014}
    		  ,
      abstract	= {The design of a software component, such as a database, is
    		  the trace of all the processes, products and reasonings
    		  that have led to the production of this artifact. Such a
    		  document is the very basis of system maintenance and
    		  evolution processes. Unfortunately, it does not exist in
    		  most situations. The paper describes how the design of a
    		  database or of a collection of files can be recovered
    		  through reverse engineering techniques. Recording the
    		  reverse engineering activities provides a history of this
    		  process. By normalizing and reversing this history, then by
    		  conforming it according to a reference design methodology,
    		  one can obtain a tentative design of the source database.
    		  The paper describes the baselines of the approach, such as
    		  a wide spectrum specification model, semantics-preserving
    		  transformational techniques, and a design process model. It
    		  describes a general procedure to build a possible DB
    		  design, then states the requirements for CASE support, and
    		  describes DB-MAIN, a prototype CASE tool which includes a
    		  history processor. Finally it illustrates the proposals
    		  through an example.},
      keywords	= {design recovery, database reverse engineering, database
    		  evolution, transformational approach, process modelling,
    		  CASE tool},
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools}
    }
    
    
    The Nature of Data Reverse Engineering, Hainaut, Jean-Luc and Henrard, Jean and Hick, Jean-Marc and Roland, Didier and Englebert, Vincent
    Available as
    hypertext.
    @InProceedings{	  hainaut.henrard.ea:nature,
      author	= {Hainaut, Jean-Luc and Henrard, Jean and Hick, Jean-Marc
    		  and Roland, Didier and Englebert, Vincent},
      title		= {The Nature of Data Reverse Engineering},
      booktitle	= {Proc. of Data Reverse Engineering Workshop 2000
    		  (DRE'2000)},
      year		= {2000},
      publisher	= { Zurich Univ. Publish.},
      abstract	= {Data Reverse Engineering is a specific information system
    		  engineering domain aiming at rebuilding the documentation
    		  of legacy databases. The paper explores this domain by
    		  presenting the basic problems (such as the implicit
    		  construct recovery problem) as well as techniques and tools
    		  for solving them. Two main phases are described, namely
    		  data structure extraction, through which the complete
    		  logical schema is elicited, and data structure
    		  conceptualization, that interpret them in conceptual terms.
    		  The paper describes and discusses a reference process model
    		  that identifies the main classes of problems, their solving
    		  techniques and tools that support the processes.},
      url		= {http://www.fundp.ac.be/recherche/publications/fr/39185.html}
    		  ,
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools
    		  General_Information_on_Reverse_Engineering}
    }
    
    
    Structure Elicitation in Database Reverse Engineering, Hainaut, Jean-Luc and Henrard, Jean and Roland, Didier and Englebert, Vincent and Hick, Jean-Marc
    Available as
    pub-spec-paper?RP-96-015.
    @InProceedings{	  hainaut.henrard.ea:structure,
      author	= {Hainaut, Jean-Luc and Henrard, Jean and Roland, Didier and
    		  Englebert, Vincent and Hick, Jean-Marc},
      title		= {Structure Elicitation in Database Reverse Engineering},
      booktitle	= {Proc. of the 3rd IEEE Working Conference on Reverse
    		  Engineering({WCRE}'96)},
      address	= {Monterey (CA)},
      month		= {November},
      year		= {1996},
      publisher	= {IEEE Computer Society Press},
      url		= {http://www.info.fundp.ac.be/cgi-publi/pub-spec-paper?RP-96-015}
    		  ,
      abstract	= {Recovering the semantic description of file and database
    		  structures is an important aspect of business application
    		  reverse engineering. It includes an important and delicate
    		  activity, namely data structure extraction, i.e. finding
    		  the exact data structures and integrity constraints of the
    		  database. This process is made more complex than generally
    		  expected due to the fact that these structures and
    		  constraints often are not explicitly defined, but are
    		  translated into implicit constructs, controlled and managed
    		  through procedural code or user interface protocol for
    		  instance. This paper describes the problem of implicit
    		  structure elicitation. It propose an analysis of this
    		  phenomenon, and of the techniques and heuristics that can
    		  be used in the elicitation process. It develops a set of
    		  efficient techniques and a strategy for the elicitation of
    		  one of the most common implicit construct, namely the
    		  foreign key. The paper also explains how DB-MAIN, a
    		  general-purpose database reverse engineering CASE tool, can
    		  help analysts elicit implicit constructs, and specifically
    		  foreign keys. },
      keywords	= {database reverse engineering, program understanding,
    		  methodology, CASE tool},
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools}
    }
    
    
    The Nature of Data Reverse Engineering, Hainaut, Jean-Luc and Henrard, Jean
    Available as
    hypertext.
    @InProceedings{	  hainaut.henrard:nature,
      author	= {Hainaut, Jean-Luc and Henrard, Jean},
      title		= {The Nature of Data Reverse Engineering},
      booktitle	= {Proc. of FNRS contact day on Software (re-)engineering},
      year		= {2003},
      abstract	= {Data Reverse Engineering is a specific domain of
    		  information system engineering aiming at rebuilding the
    		  documentation of legacy databases. The presentation
    		  explores this domain by presenting the basic problems, such
    		  as the implicit construct recovery, as well as techniques
    		  and tools for solving them. A reference process model is
    		  proposed, that identifies the main products, the classes of
    		  problems and their solving techniques. Two main processes
    		  are described, namely data structure extraction and data
    		  structure conceptualization. Through the first one, the
    		  complete logical schema (i.e., the programmer's view) is
    		  recovered, including both declared and implicit constructs
    		  and constraints. The data structure conceptualization
    		  process aims at interpreting the data structures in
    		  conceptual terms. Finally, the presentation describes a
    		  representative CASE environment that supports the processes
    		  by providing schema, data and code analysis tools as well
    		  as a rich schema transformation toolkit.},
      url		= {http://www.fundp.ac.be/recherche/publications/fr/44348.html}
    		  ,
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools}
    }
    
    
    Transformation-based Database Reverse Engineering, Hainaut, Jean-Luc and Tonneau, Catherine and Joris, Michel and Chandelon, Murielle
    Available as
    pub-spec-paper?RP-94-017.
    @InProceedings{	  hainaut.tonneau.ea:transformation-based,
      author	= {Hainaut, Jean-Luc and Tonneau, Catherine and Joris, Michel
    		  and Chandelon, Murielle},
      title		= {Transformation-based Database Reverse Engineering},
      booktitle	= {Proc. 12th Int. Conf. on Entity-Relationship Approach},
      series	= {LNCS},
      publisher	= {Springer-Verlag},
      year		= {1994},
      url		= {http://www.info.fundp.ac.be/cgi-publi/pub-spec-paper?RP-94-017}
    		  ,
      abstract	= {This is an abstract of a revision of the original paper
    		  (ER'93 pre-proceedings) that presents a DBMS-independent
    		  database reverse engineering (DBRE) methodology based on a
    		  generic process model and on transformation techniques.
    		  DBRE is proposed as a two-phase process consisting in
    		  recovering the DBMS-dependent data structures (data
    		  structure extraction) then in recovering their semantics
    		  (data structure conceptualization). The second phase, that
    		  is strongly linked with the logical design phase of current
    		  database design methodologies, can be performed by
    		  application of a selected set of standard schema
    		  transformations. The paper illustrates the methodology by
    		  applying it to various DBRE processes : removing
    		  optimization structures, untranslating database/file
    		  structures, and finally conceptual normalization. },
      keywords	= {database design, dabase reverse engineering, schema
    		  transformation, schema equivalence},
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools}
    }
    
    
    Introduction to Database Reverse Engineering, Hainaut, Jean-Luc
    Available as
    hypertext.
    @Book{		  hainaut:introduction,
      author	= {Hainaut, Jean-Luc},
      title		= {Introduction to Database Reverse Engineering},
      publisher	= {LIBD Publish.},
      year		= {2002},
      abstract	= {This text is an extended abstract for a future book
    		  devoted to database reverse engineering (DBRE), considered
    		  as a specific, but general purpose, activity of information
    		  system engineering, and particularly system reengineering.
    		  To give it as large a scope as possible, we have developed
    		  general principles that can easily be specialized for any
    		  actual data management system, ranging from simple file
    		  managers (COBOL or RPG) to modern DB managers such as
    		  relational systems and OO DBMS. These principles are
    		  organized as a general DBRE methodology that is built in a
    		  systematic way. This methodology can be specialized
    		  according to specific DBMS models. It can be used to
    		  compare methodologies proposed in the literature and
    		  through reverse engineering CASE tools.},
      url		= {http://www.fundp.ac.be/recherche/publications/fr/40704.html}
    		  ,
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools
    		  General_Information_on_Reverse_Engineering}
    }
    
    
    Inverse Wrappers for Legacy Information Systems Migration, Henrard, Jean and Cl\`eve, Anthony and Hainaut, Jean-Luc
    Available as
    hypertext.
    @InProceedings{	  henrard.cleve.ea:inverse,
      author	= {Henrard, Jean and Cl\`eve, Anthony and Hainaut, Jean-Luc},
      title		= {Inverse Wrappers for Legacy Information Systems
    		  Migration},
      booktitle	= {Wrapper Techniques for Legacy Database ({WRAP}'04)},
      pages		= {30-43},
      year		= {2004},
      editor	= {Thiran, Philippe and van den Heuvel, Willem-Jan},
      volume	= {04-34},
      series	= {CS Report},
      publisher	= {Technische Universiteit Eindhoven},
      abstract	= {The paper studies some problems that arise when a
    		  technology change induces the migration of a data-centered
    		  application. In particular, it addresses the difficult
    		  problem of migrating application programs from a legacy
    		  data manager, such as a COBOL file system, to a modern
    		  DBMS, such as a relational database management system. The
    		  approach suggested in this paper relies on the concept of
    		  inverse wrappers, that is, wrappers that simulate the
    		  legacy API on top of the new database. This architecture
    		  allows (1) the design of a fully normalized database rid of
    		  the anomalies of the legacy data, (2) future programs to be
    		  developed on a sound basis and (3) legacy programs to work
    		  on the new database with minimum transformation, and
    		  therefore at low cost. The paper describes the components
    		  of this architecture, a methodology to design them and a
    		  CASE tool that automates their generation.},
      keywords	= {wrapper, migration, database reverse engineering, CASE},
      url		= {http://www.fundp.ac.be/recherche/publications/fr/50552.html}
    		  ,
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools
    		  Source-to-Source-Translation Database_Migration}
    }
    
    
    Data structure extraction in database reverse engineering, Henrard, Jean and Hainaut, Jean-Luc and Hick, Jean-Marc and Roland, Didier and Englebert, Vincent
    Available as
    hypertext.
    @InProceedings{	  henrard.hainaut.ea:data,
      author	= {Henrard, Jean and Hainaut, Jean-Luc and Hick, Jean-Marc
    		  and Roland, Didier and Englebert, Vincent},
      title		= {Data structure extraction in database reverse
    		  engineering},
      booktitle	= {Proc. REIS'99 Workshop (ER'99)},
      year		= {1999},
      keywords	= {database reverse engineering, data structure extraction,
    		  database},
      abstract	= {Database reverse engineering is a complex activity that
    		  can be modeled as a sequence of two major processes, namely
    		  data structure extraction and data structure
    		  conceptualization. The first process consists in
    		  reconstructing the logical - that is, DBMS-dependent -
    		  schema, while the second process derives the conceptual
    		  specification of the data from this logical schema. This
    		  paper concentrates on the first process, and more
    		  particularly on the reasonings and the decision process
    		  through which the implicit and hidden data structures and
    		  constraints are elicited from various sources.},
      url		= {http://www.fundp.ac.be/recherche/publications/fr/35842.html}
    		  ,
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools
    		  Program_Slicing}
    }
    
    
    From micro-analytical Method to Mass Processing - The Economic Challenge, Henrard, Jean and Hainaut, Jean-Luc and Hick, Jean-Marc and Roland, Didier and Englebert, Vincent
    Available as
    hypertext.
    @InProceedings{	  henrard.hainaut.ea:from,
      author	= {Henrard, Jean and Hainaut, Jean-Luc and Hick, Jean-Marc
    		  and Roland, Didier and Englebert, Vincent},
      title		= {From micro-analytical Method to Mass Processing - The
    		  Economic Challenge},
      booktitle	= {Proc. of Data Reverse Engineering Workshop 2000
    		  (DRE'2000)},
      year		= {2000},
      publisher	= { Zurich Univ. Publish.},
      abstract	= {Database reverse engineering (DBRE) attempts to recover
    		  the technical and semantic specifications of the persistent
    		  data of information systems. Despite the power of the
    		  supporting tools, the discovery of a single foreign key
    		  through the analysis of half a million lines of code may
    		  require several hours of meticulous analysis. Considering
    		  that an actual schema can include several thousands of
    		  implicit constructs, DBRE can prove very costly for medium
    		  to large projects. Even in the parts of the process that
    		  can be automated, tools must be used with much caution.
    		  While they can help the analyst, the latter needs to
    		  understand their strength and weakness. On the other hand,
    		  reducing the quality requirements of the result can lead to
    		  much higher costs when the recovered conceptual schema is
    		  used as the basis for reengineering the information system
    		  or to migrate its data to datawarehouses or to other
    		  applications. Hence the dilemma: how can we automate the
    		  highly knowledge-based and interactive DBRE process without
    		  impairing the quality of the resulting products?},
      url		= {http://www.fundp.ac.be/recherche/publications/fr/35843.html}
    		  ,
      class		= {Data_Reverse_Engineering
    		  General_Information_on_Reverse_Engineering}
    }
    
    
    Data dependency elicitation in database reverse engineering, Henrard, Jean and Hainaut, Jean-Luc
    Available as
    hypertext.
    @InProceedings{	  henrard.hainaut:data,
      author	= {Henrard, Jean and Hainaut, Jean-Luc},
      title		= {Data dependency elicitation in database reverse
    		  engineering},
      booktitle	= {Proc. of the 5th European Conference on Software
    		  Maintenance and Reengineering (CSMR 2001)},
      pages		= {11--19},
      year		= {2001},
      editor	= {P. Sousa and J. Ebert},
      publisher	= {IEEE Computer society},
      keywords	= {database reverse engineering, program understanding,
    		  program slicing, db-main},
      abstract	= {Database reverse engineering (DBRE) attempts to recover
    		  the technical and semantic specifications of the persistent
    		  data of information systems. Dependencies between records
    		  (data dependency) form a major class that need to be
    		  recovered. Since most of these dependencies are not
    		  supported by the DBMS, (foreign keys are the main
    		  exception, at least in modern relational DBMS), they have
    		  not be explicitly declared in the database schema. Careless
    		  reverse engineering will inevitably ignore them, leading to
    		  poor quality conceptual schema. Several information sources
    		  can contribute to the elicitation of these hidden
    		  dependencies. The program source code has long been
    		  considered the richest, but also the most complex, of them.
    		  In this paper, we analyze and compare, through their
    		  respective quality and cost, different program
    		  understanding techniques that can be used to elicit data
    		  dependencies.},
      url		= {http://www.fundp.ac.be/recherche/publications/fr/37327.html}
    		  ,
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools
    		  Extracting_Business_Rules }
    }
    
    
    Strategies for Data Reengineering, Henrard, Jean and Hick, Jean-Marc and Thiran, Philippe and Hainaut, Jean-Luc
    Available as
    hypertext.
    @InProceedings{	  henrard.hick.ea:strategies,
      author	= {Henrard, Jean and Hick, Jean-Marc and Thiran, Philippe and
    		  Hainaut, Jean-Luc},
      title		= {Strategies for Data Reengineering},
      booktitle	= {Proc. of the 9th Working Conference on Reverse
    		  Engineering},
      year		= {2002},
      publisher	= {IEEE Computer Society Press},
      keywords	= {reengineering, migration, database, reverse, engineering,
    		  application},
      abstract	= {This paper describes and analyzes a serie of strategies to
    		  migrate data-intensive applications from a legacy data
    		  management system to a modern DMS. Considering two ways to
    		  migrate the data and three ways to propagate the
    		  corresponding perturbation to the program code, the paper
    		  identifies six reference strategies that provide different
    		  levels of quality and induce different costs. Three of them
    		  are discussed in detail and illustrated by the conversion
    		  of COBOL files into a SQL database.},
      url		= {http://www.fundp.ac.be/recherche/publications/fr/40462.html}
    		  ,
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools
    		  Reengineering_in_General Database_Migration}
    }
    
    
    Techniques d'analyse de programmes pour la r\'etro-ing\'enierie de bases de donn\'ees, Henrard, Jean and Hick, Jean-Marc and Roland, Didier and Englebert, Vincent Hainaut, Jean-Luc
    Available as
    pub-spec-paper?RP-96-018.
    @InProceedings{	  henrard.hick.ea:techniques,
      author	= {Henrard, Jean and Hick, Jean-Marc and Roland, Didier and
    		  Englebert, Vincent Hainaut, Jean-Luc},
      title		= {Techniques d'analyse de programmes pour la
    		  r\'etro-ing\'enierie de bases de donn\'ees},
      booktitle	= {Actes du XIV Congr\`es INFORSID},
      month		= {June},
      year		= {1996},
      publisher	= {AFCET},
      url		= {http://www.info.fundp.ac.be/cgi-publi/pub-spec-paper?RP-96-018}
    		  ,
      abstract	= {In this paper we will apply a generic database reverse
    		  engineering methodology to a case study. We will sketch a
    		  database reverse engineering methodology. Then, we will
    		  describe the DB-MAIN CASE tool and its reverse engineering
    		  functionality. We will explain more precisely the program
    		  slicing. This is a powerful and useful technique to
    		  understand a program at a given point. All will be put
    		  together in a realistic, but small, case study.},
      keywords	= {reverse engineering, program slicing, DB-MAIN, database,
    		  method},
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools
    		  Static_Analysis Program_Slicing}
    }
    
    
    Outils d'analyse de programmes pour la r/'etro-conception de bases de donn\'ees, Henrard, Jean and Roland, Didier and Englebert, Vincent and Hick, Jean-Marc and Hainaut, Jean-Luc
    Available as
    pub-spec-paper?RP-98-003.
    @InProceedings{	  henrard.roland.ea:outils,
      author	= {Henrard, Jean and Roland, Didier and Englebert, Vincent
    		  and Hick, Jean-Marc and Hainaut, Jean-Luc},
      title		= {Outils d'analyse de programmes pour la r/'etro-conception
    		  de bases de donn\'ees},
      booktitle	= {X Congr\`es INFORSID},
      address	= {Montpellier},
      month		= {May},
      year		= {1998},
      url		= {http://www.info.fundp.ac.be/cgi-publi/pub-spec-paper?RP-98-003}
    		  ,
      abstract	= {The paper shows that database reverse engineering (DBRE)
    		  needs several reasoning, techniques and tools that have
    		  been developed in the software engineering realm, and
    		  particularly in program understanding. Conversely, program
    		  understanding requires an in-depth comprehension of the
    		  semantics of the data. One of the process of the DBRE
    		  methodology we propose is dedicated to eliciting implicit
    		  structures and constraints buried in the application
    		  programs. This elicitation is based on such techniques as
    		  pattern searching, dependency graph analysis, program
    		  slicing and program visualisation. The paper demonstrates
    		  how these techniques can contribute to DBRE, and how that
    		  have been integrated into the DB-MAIN CASE tool. },
      keywords	= {reverse engineering, program slicing, database, program
    		  understanding, dependency graph, CASE tool},
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools
    		  Program_Slicing Static_Analysis}
    }
    
    
    Program Understanding in Databases Reverse Engineering, Henrard, Jean and Roland, Didier and Englebert, Vincent and Hick, Jean-Marc and Hainaut, Jean-Luc
    Available as
    pub-spec-paper?RP-98-004.
    @InProceedings{	  henrard.roland.ea:program,
      author	= {Henrard, Jean and Roland, Didier and Englebert, Vincent
    		  and Hick, Jean-Marc and Hainaut, Jean-Luc},
      title		= {Program Understanding in Databases Reverse Engineering},
      booktitle	= {Proc. of the DEXA'98},
      address	= {Vienna},
      month		= {August},
      year		= {1998},
      url		= {http://www.info.fundp.ac.be/cgi-publi/pub-spec-paper?RP-98-004}
    		  ,
      abstract	= {The main argument of the paper is that database
    		  understanding requires sophisticated program understanding
    		  techniques, and conversely. Database reverse engineering
    		  (DBRE) can be carried out following a generic methodology,
    		  one of the phases of which consists in eliciting all the
    		  implicit and untranslated data structures and constraints.
    		  Evidences of these hidden constructs can be found by
    		  analysing how the programs are to use and create the data.
    		  Hence the need for program analysis techniques such as
    		  searching for clichés, dependency analysis, program slicing
    		  and synthetic views. The paper explains how these
    		  techniques contribute to DBRE, and describes DB-MAIN, a
    		  programmable and extensible CASE environment that supports
    		  DBRE through program understanding techniques. },
      keywords	= {database, data reverse engineering, methodology, program
    		  understanding, program slicing, dependency graph, CASE
    		  tools },
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools
    		  Program_Slicing Static_Analysis}
    }
    
    
    Program Understanding in Database Reverse Engineering, Henrard, Jean
    Available as
    hypertext.
    @PhDThesis{	  henrard:program,
      author	= {Henrard, Jean},
      title		= {Program Understanding in Database Reverse Engineering},
      school	= {University of Namur},
      year		= {2003},
      abstract	= {For many years software engineering has primarily focused
    		  on the development of new systems and neglected maintenance
    		  and reengineering of legacy applications. Maintenance
    		  typically represents 70\% of the cost during the life cycle
    		  of a system. In order to allow an efficient and safe
    		  maintenance of a legacy system, we need to reverse engineer
    		  it in order to reconstruct its missing or out-of-date
    		  documentation. In data-oriented applications the reverse
    		  engineering complexity can be broken down by considering
    		  that the database can be reverse engineered independently
    		  of the procedural components. Database reverse engineering
    		  can be defined as the process of recovering the database's
    		  schema(s) of an application from database declaration text
    		  and program source code that use the data in order to
    		  understand their exact structure and meaning. A database
    		  reverse engineering methodology is broken down into three
    		  processes: project preparation, data structure extraction
    		  that recovers the database's logical schema and data
    		  structure conceptualization that interprets the logical
    		  schema in conceptual terms. In order to validate our
    		  methodology and program understanding techniques, we have
    		  developed tools to support them. Those tools have proved
    		  absolutely necessary to perform database reverse
    		  engineering of medium to larger applications in reasonable
    		  time and at reasonable cost. To cut down on the cost of
    		  large projects, we have stressed the need for automation to
    		  reduce the manual work of the analyst. Our experience with
    		  real size projects has taught us that the management
    		  aspects of a project are essential success factors. The
    		  management of a project comprises different aspects such as
    		  database reverse engineering explanation, cost evaluation
    		  and database reverse engineering result evaluation.},
      url		= {http://www.fundp.ac.be/recherche/publications/fr/45389.html}
    		  ,
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools
    		  General_Information_on_Reverse_Engineering
    		  Program_Slicing}
    }
    
    
    A Method for Data Re-Engineering in Structured Programs, A.R. Hevner and R.C. Linger
    @InProceedings{	  hevner.linger:method,
      author	= {A.R. Hevner and R.C. Linger},
      title		= {A Method for Data Re-Engineering in Structured Programs},
      booktitle	= {Proceedings of the 22d Hawaii International Conference on
    		  System Science},
      year		= {1989},
      volume	= {2},
      pages		= {1024-1034},
      month		= jan,
      class		= {Data_Reverse_Engineering}
    }
    
    
    Maintenance et \'evolution d'applications de bases de donn\'ees, Hick, Jean-Marc and Hainaut, Jean-Luc and Englebert, Vincent and Roland, Didier and Henrard, Jean
    Available as
    pub-spec-paper?RP-98-005.
    @InProceedings{	  hick.hainaut.ea:maintenance,
      author	= {Hick, Jean-Marc and Hainaut, Jean-Luc and Englebert,
    		  Vincent and Roland, Didier and Henrard, Jean},
      title		= {Maintenance et \'evolution d'applications de bases de
    		  donn\'ees},
      booktitle	= {Actes des 1\`eres Journ\'ees de R\'e-ing\'enierie des
    		  Syst\`emes d'Information},
      address	= {Lyon (France)},
      month		= {April},
      year		= {1998},
      url		= {http://www.info.fundp.ac.be/cgi-publi/pub-spec-paper?RP-98-005}
    		  ,
      abstract	= {The problems concerning the maintenance and evolution of
    		  information systems (IS) are among the most complex ones.
    		  This paper presents a methodological framework that makes
    		  it possible, on the one hand, to describe the evolution
    		  problems of the data component of IS, and on the other
    		  hand, to suggest a series of strategies that model the
    		  designer behaviour facing those problems. It describes then
    		  the DB-MAIN CASE tool environment, with which a prototype
    		  of evolution tool has been built. This tool generates
    		  automatically the database conversion programs from the
    		  modifications history of the database logical schema. },
      keywords	= {IS evolution, database conversion, evolution, schema
    		  transformation, CASE tool},
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools}
    }
    
    
    Managing Uncertainty and Inconsistency in Database Reengineering Processes, Jens-Holger Jahnke
    Available as .
    @PhDThesis{	  jahnke:managing,
      author	= {Jens-Holger Jahnke},
      title		= {Managing Uncertainty and Inconsistency in Database
    		  Reengineering Processes},
      school	= {University of Paderborn, Department of Mathematics and
    		  Computer Science},
      year		= {1999},
      address	= {33095 Paderborn, Germany},
      month		= {August},
      abstract	= {This dissertation tackles one of the most urgent problems
    		  in today's information technology, namely the renovation
    		  and migration of legacy information systems to modern
    		  platforms and net-centric architectures. In this context,
    		  several methods, tools, and processes have been proposed to
    		  support reengineering and modernizations of legacy database
    		  applications. This can be a complex task because many
    		  legacy databases have grown over several generations of
    		  programmers and lack a sufficient documentation.
    		  Computer-aided reengineering methods and processes have a
    		  great potential to reduce the complexity and risks involved
    		  in database design recovery and migration projects. Still,
    		  current reengineering tools are hardly adopted for
    		  practical problems in industry because they often make
    		  idealistic assumptions about the structure of legacy
    		  systems and the characteristics of reengineering processes.
    		  The goal of this thesis is to provide concepts and
    		  techniques to overcome these severe limitations. In
    		  particular, our focus is on developing mechanisms to manage
    		  uncertainty and inconsistency in computer-aided databases
    		  reengineering processes. In practice, uncertain knowledge
    		  plays an important role in activities aiming to recover
    		  conceptual design documents for large idiosyncratic
    		  implementation structures. This fact is neglected in
    		  current database reengineering methods and tools. In this
    		  dissertation, we identify and extend a theory that provides
    		  a suitable basis to deal with uncertain reengineering
    		  knowledge and allows to implement practical tools and
    		  environments to support reengineering processes. The
    		  requirement for consistency management considers the fact
    		  that it is unrealistic to presume that database
    		  reengineering processes can be executed in a number of
    		  sequential phases or steps without iterations. In practice,
    		  larger reengineering projects comprise many process
    		  iterations due to various reasons like incomplete knowledge
    		  about legacy implementation structures or necessary
    		  "on-the-fly" modifications of the legacy system. Detecting
    		  and removing inconsistencies caused by such iterations
    		  significantly increase costs and durations of current
    		  reengineering projects. In this thesis, we employ graph
    		  transformation theory to develop mechanisms which allow to
    		  detect and eliminate inconsistencies between legacy schema
    		  implementations and their abstract representation,
    		  automatically. Our results have been implemented in the
    		  database reengineering environment Varlet and evaluated
    		  with an industrial project. They are suitable to complement
    		  many existing approaches in the domain of information
    		  system reengineering and migration. As an example, we
    		  describe the integration of Varlet with an existing
    		  middleware product for data integration.},
      class		= {Using_graphs Database_Migration Re-Design
    		  Data_Reverse_Engineering Alteration
    		  Software_Reverse_Engineering
    		  Intermediate_Representations_of_Source_Code },
      url		= {http://www.csr.uvic.ca/~jens/Docs/thesis.pdf}
    }
    
    
    Data-Centered Program Understanding, J. K. Joiner and W. T. Tsai and X. P. Chen and S. Subramanian and J. Sun and H. Gandamaneni
    @InProceedings{	  joiner.tsai.ea:data-centered,
      author	= {J. K. Joiner and W. T. Tsai and X. P. Chen and S.
    		  Subramanian and J. Sun and H. Gandamaneni},
      title		= {Data-Centered Program Understanding},
      pages		= {272-281},
      booktitle	= {Proceedings of the  International Conference on Software
    		  Maintenance ~1994},
      year		= {1994},
      publisher	= {IEEE Computer Society Press},
      month		= sep,
      abstract	= {Software maintainers use a variety of techniques and
    		  representations for understanding programs. Most of these
    		  representations first focus on the control structure of a
    		  program such as call graphs, control flow graphs and paths.
    		  The authors propose a new approach for program
    		  understanding that is data-centered - it first focuses on
    		  data and data-relationships. The authors have experimented
    		  on both small and large Cobol programs from industry to
    		  determine if their methods are useful for program
    		  understanding and software maintenance. The authors have
    		  developed a Data-centered Program Understanding Tool
    		  Environment called DPUTE that is currently being evaluated
    		  and enhanced by their industrial partners.},
      class		= {Data_Reverse_Engineering}
    }
    
    
    PHENIX : methods and tools for database reverse engineering, Joris, Michel and Van Hoe, R. and Hainaut, Jean-Luc and Chandelon, Murielle and Tonneau, Catherine and Bodart, Fran\ccois et al.
    Available as
    pub-spec-paper?RP-92-004.
    @InProceedings{	  joris.van-hoe.ea:phenix,
      author	= {Joris, Michel and Van Hoe, R. and Hainaut, Jean-Luc and
    		  Chandelon, Murielle and Tonneau, Catherine and Bodart,
    		  Fran\c{c}ois et al.},
      title		= {{PHENIX} : methods and tools for database reverse
    		  engineering},
      booktitle	= {Proc. 5th Int. Conf. on Software Engineering and
    		  Applications},
      address	= {Toulouse},
      month		= {December},
      publisher	= {EC2 Publish.},
      year		= {1992},
      url		= {http://www.info.fundp.ac.be/cgi-publi/pub-spec-paper?RP-92-004}
    		  ,
      abstract	= {The paper presents methodological principles concerning
    		  the problem of recovering the semantic structures of actual
    		  file and database of old and poorly documented
    		  applications. This problem, called Database Reverse
    		  Engineering, is related to the standard database design
    		  paradigm, revisited in order to explain and understand
    		  informal and empirical design behaviours. A general method
    		  is proposed, based on two major phases, namely data
    		  structure extraction and data structure conceptualization.
    		  An expert assistant has been implemented to help
    		  professionals to practice this method. },
      keywords	= {reverse engineering, database design, CASE tools, AI
    		  techniques},
      class		= {Data_Reverse_Engineering Reverse_Engineering_Tools}
    }
    
    
    Data Reengineering for Application Systems, J. A. Ricketts and J. C. DelMonaco and M. W. Weeks
    @InProceedings{	  ricketts.delmonaco.ea:data,
      author	= {J. A. Ricketts and J. C. DelMonaco and M. W. Weeks},
      title		= {Data Reengineering for Application Systems},
      booktitle	= {Proceedings of the  International Conference on Software
    		  Maintenance ~1989},
      organization	= {IEEE},
      publisher	= {IEEE Computer Society Press},
      year		= {1989},
      pages		= {174-179},
      abstract	= {Reengineering of the data component of existing
    		  application systems can now be done with the aid of methods
    		  and software tools. Data reengineering extends the life of
    		  existing systems by standardizing data definitions and
    		  facilitating source code simplifications. It also can
    		  provide an accurate data model for use as a starting point
    		  in data modeling, database technology migration, and as a
    		  preperation step for reverse engineering.},
      class		= {Data_Reverse_Engineering }
    }
    
    
    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}
    }
    
    
    Extension of A Transformation System for Maintenance - Dealing With Data-Intensive Programs, Hongji Yang and Keith Bennett
    @InProceedings{	  yang.bennett:extension,
      author	= {Hongji Yang and Keith Bennett},
      title		= {Extension of A Transformation System for Maintenance -
    		  Dealing With Data-Intensive Programs},
      pages		= {344-353},
      booktitle	= {Proceedings of the  International Conference on Software
    		  Maintenance ~1994},
      year		= {1994},
      publisher	= {IEEE Computer Society Press},
      month		= sep,
      abstract	= {This paper, following the theme set out in the authors'
    		  paper 'A Transformation System for Maintenance - Turning
    		  Theory into Practice' presented in this conference in 1992
    		  - provides more results of the research programme on
    		  reverse engineering. It concentrates on dealing with
    		  data-intensive programs such as those written in COBOL. The
    		  problems with data-intensive programs are addressed, the
    		  authors' solution to these problems are discussed, a
    		  prototype built on the authors' approach is described and
    		  the results of the experiments are presented. It is
    		  concluded that formal transformations provide a way of
    		  combining design decisions which have become instantiated
    		  in both the code and the data structures.},
      class		= {Data_Reverse_Engineering}
    }
    

koschke@informatik.uni-stuttgart.de (Feedback).
Copyright © 1998-2000 University of Stuttgart, Germany. $Revision: 1.5 $
Date: Sun Nov 22 00:33:18 CET 2009