References of Source_Code_Queries

    Generating Testing and Analysis Tools, P.T. Devanbu and D.R. Rosenblum and A.L. Wolf
    @Article{	  devanbu.rosenblum.ea:generating,
      key		= {DRW96},
      author	= {P.T. Devanbu and D.R. Rosenblum and A.L. Wolf},
      title		= {Generating Testing and Analysis Tools},
      journal	= {ACM Transactions on Software Engineering and Methodology},
      year		= {1996},
      volume	= {5},
      number	= {1},
      pages		= {42-62},
      note		= {This article describes tools for analysing C/C++ programs
    		  for programming understanding. These tools are generated
    		  and support a procedural mechanism to retrieve information
    		  from the C/C++ programs.},
      class		= {Software_Reverse_Engineering, Reverse_Design,
    		  Fundamental_Methods_in_Reverse_Design,
    		  Source_Code_Queries}
    }
    
    
    Wartungsunterstützung in heterogenen Sprachumgebungen, Ein Überblick zum Projekt GUPRO, J. Ebert and R. Gimnich and A. Winter
    Available as
    compressed postscript.
    @InCollection{	  ebert.gimnich.ea:wartungsunterstützung,
      author	= {J. Ebert and R. Gimnich and A. Winter},
      title		= {Wartungsunterstützung in heterogenen Sprachumgebungen, Ein
    		  Überblick zum Projekt GUPRO},
      booktitle	= {Softwarewartung und Reengineering - Erfahrungen und
    		  Entwicklungen},
      publisher	= {Gabler},
      year		= {1996},
      editor	= {F. Lehner},
      pages		= {263-275},
      address	= {Wiesbaden},
      url		= {http://www.uni-koblenz.de/~ist/retrieve/GUPRO.Regensburg.ps.gz}
    		  ,
      abstract	= {Wirtschaftliche Wartung und Weiterentwicklung von
    		  Anwendungssoftware setzt ein grundsätzliches Verstehen
    		  vorhandener Quelltexte voraus. Diese sind oft wenig
    		  strukturiert, schwach kommentiert und in unterschiedlichen
    		  Umgebungen entstanden. Im Projekt GUPRO - Eine Generische
    		  Umgebung zum Programmverstehen - wird ein
    		  benutzerkonfigurierbarer Generator zur Erzeugung
    		  sprachübergreifender Programmverstehenswerkzeuge
    		  entwickelt, die das Nachvollziehen und Verstehen auch
    		  heterogener Software beliebiger Sprachen
    		  (Programmiersprachen, Anfragesprachen, Sprachen der "4.
    		  Generation") unterstützen. Hierzu dienen Anfrage- und
    		  Browsing-Werkzeuge, die über eine gemeinsame, graphbasierte
    		  Datenstruktur integriert sind.},
      keywords	= {metacare, program understanding},
      class		= {Software_Reverse_Engineering Using_graphs
    		  Source_Code_Queries Reverse_Design
    		  Fundamental_Methods_in_Reverse_Design
    		  Intermediate_Representations_of_Source_Code Static_Analysis
    		  }
    }
    
    
    A Generic System to Support Multi-Level Understanding of Heterogeneous Software, J. Ebert and M. Kamp and A. Winter
    Available as
    postscript.
    @TechReport{	  ebert.kamp.ea:generic,
      author	= {J. Ebert and M. Kamp and A. Winter},
      title		= {A Generic System to Support Multi-Level Understanding of
    		  Heterogeneous Software},
      organization	= {Universität Koblenz-Landau, Institut für Informatik},
      year		= {1997},
      type		= {Fachbericht Informatik},
      number	= {6/97},
      address	= {Koblenz},
      url		= {http://www.uni-koblenz.de/fb4/publikationen/gelbereihe/RR-6-97.ps}
    		  ,
      abstract	= {This paper presents the ideas and the implementation of a
    		  generic support system for understanding heterogenous
    		  software. GUPRO provides a seamless approach for modeling,
    		  representing and analysing software. The focus of GUPRO is
    		  its adaptability to (almost) arbitrary kinds of source
    		  text. Software of different programming and description
    		  languages can be represented uniformly by a homogeneous
    		  internal representation any level of granularity. The
    		  relevant concepts of the software are described by the
    		  maintenance engineer with regard to his or her current
    		  program understanding task in a concept model using
    		  EER-like graphical language. Then parsers are generated to
    		  transform source code into a TGraph representation which is
    		  an instance of the model. A parser description language has
    		  been developed which supports graph creation according to a
    		  concept model. A source language independent query language
    		  allows the computation of arbitrary reports on the software
    		  graphs. The properties of graphs can be used for easily
    		  querying even complex structural relationships between
    		  instances of the modeled software concepts. The components
    		  of the system are integrated in a framework architecture
    		  under a common graphical user interface.},
      keywords	= {metacare, program understanding, GUPRO},
      class		= {Software_Reverse_Engineering Using_graphs
    		  Source_Code_Queries Reverse_Design
    		  Fundamental_Methods_in_Reverse_Design
    		  Intermediate_Representations_of_Source_Code Static_Analysis
    		  }
    }
    
    
    Reverse Engineering by visualizing and querying, A. Mendelzon and J. Sametinger
    @Article{	  mendelzon.sametinger:reverse,
      title		= {Reverse Engineering by visualizing and querying},
      author	= {A. Mendelzon and J. Sametinger},
      journal	= {Software---Concepts and Tools},
      pages		= {170--182},
      volume	= {16},
      number	= {4},
      year		= {1995},
      note		= { A tool called Hy+ is described that can be used for
    		  reverse engineering. Hy+ is a general-purpose data
    		  visualization system for querying and visualizing
    		  information about object-oriented software systems. Hy+
    		  supports this for arbitrary graph-like databases. The use
    		  is demonstrated with the evaluation of software metrics,
    		  verifying constraints and identifying design patterns},
      class		= {Software_Reverse_Engineering, Reverse_Design,
    		  Fundamental_Methods_in_Reverse_Design, Source_Code_Queries,
    		  Reverse_Specification, Software_Animation,
    		  Visualization_for_Program_Understanding_and_Debugging}
    }
    
    
    A framework for source code search using program patterns, S. Paul and A. Prakash
    @Article{	  paul.prakash:framework,
      title		= {A framework for source code search using program
    		  patterns},
      author	= {S. Paul and A. Prakash},
      journal	= {IEEE Transactions on Software Engineering},
      pages		= {463--475},
      volume	= {20},
      number	= {6},
      year		= {1994},
      note		= { It is argued that existing solutions to locating source
    		  code fragments that match certain patterns are
    		  insufficient. A framework in which pattern languages are
    		  used to specify interesting code features is presented.
    		  These are obtained by extending the source programming
    		  language with pattern-matching symbols. This is implemented
    		  in a tool called SCRUPLE},
      class		= {Software_Reverse_Engineering, Reverse_Design,
    		  Fundamental_Methods_in_Reverse_Design,
    		  Source_Code_Queries}
    }
    
    
    Supporting Queries on Source Code: A Formal Framework, S. Paul and A. Prakash
    @Article{	  paul.prakash:supporting,
      author	= {S. Paul and A. Prakash},
      title		= {Supporting Queries on Source Code: A Formal Framework},
      journal	= {International Journal of Software Engineering and
    		  Knowledge Engineering},
      volume	= {4},
      number	= {3},
      pages		= {325-348},
      year		= {1994},
      note		= { A source code query system is a powerful mechanism to
    		  obtain crucial information necessary to successfully
    		  performing a reverse engineering task. A source code
    		  algebra (SCA) is developed which is strongly based on
    		  relational algebras as well as on many sorted algebras. Two
    		  types of data types are distinguished in the source code
    		  algebra model: \begin{itemize} \item atomic data types,
    		  such as integer, float, etc. \item composite data types
    		  (so-called objects): \begin{itemize} \item singular
    		  objects, such as while-statement, identifier, etc. \item
    		  collective objects, such as statement-list, etc.
    		  \end{itemize} \end{itemize} The objects are extended with
    		  four kinds of attributes, namely, components, references,
    		  annotations, and methods. An extensive set of source code
    		  algebra operators are defined, such operators defined for
    		  atomic data types, individual objects, and collections,
    		  i.e., sets and sequences. The operators for the collections
    		  are strongly influenced by the operators from the
    		  relational algebra domain},
      class		= {Software_Reverse_Engineering, Reverse_Design,
    		  Fundamental_Methods_in_Reverse_Design,
    		  Source_Code_Queries}
    }
    

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