using domain ontologies in a dynamic analysis for program comprehension
The use of domain knowledge for program comprehension has been advocated by many authors. However, as far as we know, most of the analysis techniques using domain knowledge are static, it seems that dynamic analyses have not yet taken full advantage of any domain knowledge. This might be a consequence of ontologies, the most common technique for domain knowledge representation, being static by nature. In this article we present a new kind of dynamic analysis that attempts to use domain knowledge from two ontologies: that of the domain concepts and another one we called the "Ontology of Domain Actions". To take advantage of this later source of knowledge, we had to specify what actions were expected to be performed by the software at any moment in time. This has been done using a variant of the CRC cards formalism. As a result, we are able to match the actions actually performed by the software with expectations using dynamic analysis based on the action ontology.
ontology dynamic analysis program comprehension domain knowledge