From semantic to object-oriented data modeling
ISCI '90 Proceedings of the first international conference on systems integration on Systems integration '90
Program understanding and the concept assignment problem
Communications of the ACM
The unified software development process
The unified software development process
The use of domain knowledge in program understanding
Annals of Software Engineering
The Role of Concepts in Program Comprehension
IWPC '02 Proceedings of the 10th International Workshop on Program Comprehension
The Object Primer: Agile Model-Driven Development with UML 2.0
The Object Primer: Agile Model-Driven Development with UML 2.0
Software psychology: Human factors in computer and information systems (Winthrop computer systems series)
Exploiting the Analogy Between Traces and Signal Processing
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
Reengineering Process Based on the Unified Process
ICSM '06 Proceedings of the 22nd IEEE International Conference on Software Maintenance
WCRE '07 Proceedings of the 14th Working Conference on Reverse Engineering
Use Case Redocumentation from GUI Event Traces
CSMR '08 Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering
A Systematic Survey of Program Comprehension through Dynamic Analysis
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
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.