Finding Similar Software with Ontology Matching Techniques
Summary
With the current availability of open source projects, the reuse of existing test cases might be a cost-effective way to reduce time spent on creating new test cases. In order to reuse existing test cases, suitable candidates first need to be located. The approach in this study proposes to first find code components that have the same functionality and then locate test cases covering these code components.
In order to find semantically similar code components ontology matching techniques are used. An ontology can be defined as a vocabulary which is used to describe a specific domain and relationships that exist among the concept of that domain. It tries to focus on concepts and semantics rather than the syntax of a message or a system. To capture the semantic information of a code component in an ontology, a method is presented to extract ontologies from a source and target software project. These ontologies are used as input for the ontology matching framework AgreementMakerLight (AML) which produces a set of mappings between the classes of the source and target ontology. These mappings can be processed to determine which components units are similar to each other.
Two case studies were conducted to demonstrate the effectiveness of this technique. It can be concluded that ontology matching techniques can effectively be used to find semantically similar software at a class level.