Software Architecture Recovery based on Pattern Matching
Abstract
Pattern matching approaches in reverse engineering aim to incorporate domain knowledge and system documentation in the software architecture extraction process, hence provide a user/tool collaborative environment for architectural design recovery. This thesis presents a model and an environment for recovering the high level design of legacy software systems based on user defined architectural patterns and graph matching techniques.
In the proposed model, a high-level view of a software system in terms of the system components and their interactions is represented as a query, using a description language. A query is mapped onto a pattern-graph, where a module and its interactions with other modules are represented as a group of graph-nodes and a group of graph-edges, respectively. Interaction constraints can be modeled by the description language as a part of the query. Such a pattern-graph is applied against an entity-relation graph that represents the information extracted from the source code of the software system. An approximate graph matching process performs a series of graph edit operations (i. e. , node/edge insertion/deletion) on the pattern-graph and uses a ranking mechanism based on data mining association to obtain a sub-optimal solution. The obtained solution corresponds to an extracted architecture that complies with the given query.
An interactive prototype toolkit implemented as part of this thesis provides an environment for architecture recovery in two levels. First the system is decomposed into a number of subsystems of files. Second each subsystem can be decomposed into a number of modules of functions, datatypes, and variables.
Collections
Cite this version of the work
Kamran Sartipi
(2003).
Software Architecture Recovery based on Pattern Matching. UWSpace.
http://hdl.handle.net/10012/1122
Other formats
Related items
Showing items related by title, author, creator and subject.
-
Simultaneous Graph Representation Problems
Jampani, Krishnam Raju (University of Waterloo, 2011-02-18)Many graphs arising in practice can be represented in a concise and intuitive way that conveys their structure. For example: A planar graph can be represented in the plane with points for vertices and non-crossing curves ... -
On Geometric Drawings of Graphs
Arroyo Guevara, Alan Marcelo (University of Waterloo, 2018-04-18)This thesis is about geometric drawings of graphs and their topological generalizations. First, we study pseudolinear drawings of graphs in the plane. A pseudolinear drawing is one in which every edge can be extended ... -
Uniqueness and Complexity in Generalised Colouring
Farrugia, Alastair (University of Waterloo, 2003)The study and recognition of graph families (or graph properties) is an essential part of combinatorics. Graph colouring is another fundamental concept of graph theory that can be looked at, in large part, as the recognition ...