Measuring software similarity based on structure and property of class diagram
Dehong Qiu, Hao Li, J. L. Sun · 2013
The measure of software similarity plays a crucial role in software homology detection, software birthmark verification, software watermark, and anti-reverse software engineering, which is vitally important for intellectual property protection of software. However, it is very difficult to measure the similarity between software accurately as it has complex structure and various properties. In this paper, an iterative update process is presented to measure the similarity between the nodes and edges of the class diagrams, in which the structural similarity and the property similarity of the nodes and edges are integrated. A score of software similarity is then derived from the maximum weight matching of the class diagrams. The measure of software similarity is applied to the detection of software homology. An experiment shows that the approach can measure software similarity effectively. The approach is expected to yield satisfactory performance also for other applications in software engineering.