Back to results

University of Missouri--Kansas City

Software Analytics for Improving Program Comprehension

Abstract

dc:description.abstract

Program comprehension is an essential part of software development and maintenance. Traditional methods of program comprehension, such as reviewing the codebase and documentation, are still challenging for understanding the software's overall structure and implementation. In recent years, software static analysis studies have emerged to facilitate program comprehensions, such as call graphs, which represent the system’s structure and its implementation as a directed graph. Furthermore, some studies focused on semantic enrichment of the software system problems using systematic learning analytics, including machine learning and NLP. While call graphs can enhance the program comprehension process, they still face three main challenges: (1) complex call graphs can become very difficult to understand making call graphs much harder to visualize and interpret by a developer and thus increases the overhead in program comprehension; (2) they are often limited to a single level of granularity, such as function calls; and (3) there is a lack of the interpretation semantics about the graphs. In this dissertation, we propose a novel framework, called CodEx, to facilitate and accelerate program comprehension. CodEx enables top-down and bottom-up analysis of the system's call graph and its execution paths for an enhanced program comprehension experience. Specifically, the proposed framework is designed to cope with the following techniques: multi-level graph abstraction using a coarsening technique, hierarchical clustering to represent the call graph into subgraphs (i.e., multi-levels of granularity), and interactive visual exploration of the graphs at different levels of abstraction. Moreover, we are also worked on building semantics of software systems using NLP and machine learning, including topic modeling, to interpret the meaning of the abstraction levels of the call graph.

Degree

thesis:*
Name thesis:degree_name
Ph.D. (Doctor of Philosophy)
Level thesis:degree_level
Doctoral
Discipline thesis:degree_discipline
Computer Science (UMKC)
Grantor
University of Missouri--Kansas City
Year dc:date.issued
2021

Author and committee

dc:creator, dc:contributor.*
Author dc:creator
  • Alanazi, Rakan
Advisor dc:contributor.advisor
  • Lee, Yugyung, 1960-

Identifiers

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

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

Alanazi, Rakan. Software Analytics for Improving Program Comprehension. Doctoral thesis, University of Missouri--Kansas City, 2021. https://hdl.handle.net/10355/84389