Back to results

University of Missouri--Kansas City

A Semantic Approach for Automatic Recovery of Software Architecture

Abstract

dc:description.abstract

Open source projects have been continuously growing in popularity. As a result, a number of open source projects begin to play an important role in current software development. In practice, limited assistance has been provided on searching and reusing open source software systems. The limitation is primarily due to the lack of an automatic approach to recovering architecture models from source code. In particular, the increasing size of most open source systems makes it a challenge to manually recover the architecture from source code. Thus, there is a strong demand for an automatic approach for model building. The recovered model can subsequently offer users the ability to search through large amounts of source code. This thesis presents a semantic approach to automatically recovering the architecture from a source code repository. It leverages the information such as functional similarity between code entities (e.g. classes) and applies a machine learning technique to cluster source code into architecture components – an essential activity in architecture recovery. Specifically, the approach includes three steps: feature extraction, component clustering, and architecture refinement. 1) Feature extraction analyzes source code, identifies functional specification (i.e. features) from the metadata (e.g. names) of code entities, and creates a model that captures the significance (e.g. frequency) of each feature in a specific code entity. 2) Component clustering examines the generated model of feature extraction, and applies K-Means clustering, a machine learning technique to group similar code entities into architecture components. The similarity is calculated based on the features that the code entities are related to. 3) Architecture refinement further modifies the recovered architecture based on the degree to which the extracted components interact. During this step, components merge or split may occur. The overall goal of the approach is to reduce cost and increase accuracy of recovering software architecture in software development. We applied the approach to recover the architecture of the Hadoop Distributed File System as a case study.

Degree

thesis:*
Name thesis:degree_name
M.S.
Level thesis:degree_level
Masters
Discipline thesis:degree_discipline
Computer Science (UMKC)
Grantor
University of Missouri--Kansas City
Year dc:date.issued
2014

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Sharma, Megha
Advisors dc:contributor.advisor
  • Zheng, Yongjie
  • Lee, Yugyung, 1960-

Rights

Language dc:language.iso
eng

Identifiers

dc:identifier.*
Handle dc:identifier.uri
https://hdl.handle.net/10355/45660
OAI identifier oai:identifier
oai:mospace.umsystem.edu:10355/45660

Chain of custody

source
Harvested from
University of Missouri - Kansas City
Base URL
mospace.umsystem.edu/oai/request
Last updated
2026-07-24
Source record
OAI-PMH GetRecord
related terms
citation

Sharma, Megha. A Semantic Approach for Automatic Recovery of Software Architecture. Masters thesis, University of Missouri--Kansas City, 2014. https://hdl.handle.net/10355/45660