Dissertation
An environment for comprehending the behavior of software systems
Doctor of Philosophy (Ph.D.), Drexel University
Jul 2005
DOI:
https://doi.org/10.17918/etd-516
Abstract
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
- Title
- An environment for comprehending the behavior of software systems
- Creators
- Maher M. Salah - DU
- Contributors
- Spiros Mancoridis (Advisor) - Drexel University (1970-)
- Awarding Institution
- Drexel University
- Degree Awarded
- Doctor of Philosophy (Ph.D.)
- Publisher
- Drexel University; Philadelphia, Pennsylvania
- Resource Type
- Dissertation
- Language
- English
- Academic Unit
- College of Arts and Sciences; Drexel University; Mathematics
- Other Identifier
- 516; 991014632660304721