Recovering repetitive sub-functions from observations in distributed systems

Since many distributed systems are developed without complete or consistent design documents, some relevant designs need to be recovered from the executable software itself. One important objective of reverse engineering is to synthesize meaningful high-level design abstractions from the observation...

Full description

Bibliographic Details
Main Author: Wang, Shen
Format: Others
Language:en
Published: University of Ottawa (Canada) 2013
Subjects:
Online Access:http://hdl.handle.net/10393/27930
http://dx.doi.org/10.20381/ruor-18987
Description
Summary:Since many distributed systems are developed without complete or consistent design documents, some relevant designs need to be recovered from the executable software itself. One important objective of reverse engineering is to synthesize meaningful high-level design abstractions from the observations of a subject system. Algorithms, which, given a set of observations of an individual functionality of an existing distributed system, construct, under specific assumptions, a high-level design abstraction represented by an MSC-graph where repetitive sub-functions are identified, have already been proposed. In this thesis, we propose a new algorithm (based on the previous algorithms) that waives the strongest assumption made in the previously published work, and it is capable of recovering several repetitive sub-functions at once. Consequently, it is easier to generate observations for constructing a high-level design abstraction represented by an MSC-graph by using our proposed method. The resulted MSC-graph can then be used to facilitate the system maintenance or evolutionary development.