An ontology-based program comprehension model
Yonggang Zhang · 2007
Program comprehension is often regarded as a learning process where programmers actively acquire knowledge from various software artifacts to construct well formed, representative mental models of existing software systems. In this research, we introduce a novel ontology-based program comprehension model that addresses both the challenge of knowledge acquisition and the construction of mental models. Our approach provides ontological support for program comprehension by: 1) representing various software artifacts, including source code and documents as formal ontologies; 2) utilizing ontological reasoning services to allow programmers not only to reason about properties of the software systems, but also to actively acquire and construct new concepts based on their current understanding; and 3) introducing an ontology-based comprehension model and a supporting comprehension methodology that characterize program comprehension as an iterative process of concept recognition and relationship discovery. The research presented in this thesis is significant for several reasons. Firstly, we describe program comprehension as a process of mental ontology construction, which is