Applying case based reasoning and structural similarity for effective retrieval of expert knowledge from software designs
AbstractDue to the proliferation of object-oriented software development, UML software designs are ubiquitous. The creation of software designs already enjoys wide software support through CASE (Computer-Aided Software Engineering) tools. However, there has been limited application of computer reasoning to software designs in other areas. Yet there is expert knowledge embedded in software design artefacts which could be useful if it were successfully retrieved. Thus, there is a need for automated support for expert knowledge retrieval from software design artefacts. A software design is an abstract representation of a software product and, in the case of a class diagram, contains information about its structure. It is therefore possible to extract knowledge about a software application from its design. For a human expert an important aspect of a class diagram are the semantic tags associated with each composing element, as these provide a link to the concept each element represents. For implemented code, however, the semantic tags have no bearing. The focus of this research has been on the question of whether is it possible to retrieve knowledge from class diagrams in the absence of semantic information. This thesis formulates an approach which combines case-based reasoning with graph matching to retrieve knowledge from class diagrams using only structural information. The practical applicability of this research has been demonstrated in the areas of cost estimation and plagiarism detection. It was shown that by applying case-based reasoning and graph matching to measure similarity between class diagrams it is possible to identify properties of an implementation not encoded within the actual diagram, such as the domain, programming language, quality and implementation cost. An approach for increasing users’ confidence in automatic class diagram matching by providing explanation is also presented. The findings show that the technique applied here can contribute to industry and academia alike in obtaining solutions from class diagrams where semantic information is lacking. The approach presented here, as well as its evaluation, were automated through the development of the UMLSimilator software tool.
Wolf, Markus Adrian (2012) Applying case based reasoning and structural similarity for effective retrieval of expert knowledge from software designs. PhD thesis, University of Greenwich.