Logo image
An environment for comprehending the behavior of software systems
Dissertation   Open access

An environment for comprehending the behavior of software systems

Maher M. Salah
Doctor of Philosophy (Ph.D.), Drexel University
Jul 2005
DOI:
https://doi.org/10.17918/etd-516
pdf
Salah_Maher_20051.39 MBDownloadView

Abstract

Systems software Programming languages (Electronic computers)--Software Computer Science
Modern software systems are often large, distributed, written in more than one programming language, and developed using pre-built components (e.g., dynamically-linked libraries). The characteristics of such systems pose unique challenges to software comprehension, where the current practice typically involves the manual inspection and possibly static analysis of the system's source code. Our research addresses the characteristics of these systems by developing a software comprehension framework that facilitates dynamic analysis, feature-driven analysis, and tool integration. The framework is instantiated as a software comprehension environment that supports the dynamic analysis of distributed systems, multi-langauge systems, and systems that use binary components. The environment supports an extensive collection of dynamic views, which are derived from the runtime data collected during the execution of the software system undergoing scrutiny. The environment is implemented as a set of integrated tools consisting of three subsystems: data gathering, data repository, and analysis/visualization. The key issues addressed by our environment include: (a) the development of a data repository for storing static and dynamic data from distributed and multi-language applications, (b) the construction of a distributed profiler that collects runtime data from components that are distributed across a network, (c) the development of a software modeling query language that facilitates data retrieval, modeling, and analysis to create software views, (d) the development of an extensive set of software views to assist engineers in the comprehension of software systems, and (e) the decoupling of the environment's subsystems to enhance the extensibility and ease the integration of new tools. The software views produced by our environment include feature-interaction, featureimplementation, and feature-similarity views, as well as remote-interaction, thread-interaction, structural, and class-usage views. To demonstrate the effectiveness of our environment, a case study involving three significant software systems was conducted (i.e., the Mozilla web browser, the Jext text editor, and the TechReport technical report archiving system).

Metrics

29 File views/ downloads
23 Record Views

Details

Logo image