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
24 File views/ downloads
14 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
Research Home Page
Browse by research and academic units
Learn about the ETD submission process at Drexel
Learn about the Libraries’ research data management services