Font Size: a A A

Research On Software Birthmark Based On .NET Component Dependence Graph

Posted on:2010-06-26Degree:MasterType:Thesis
Country:ChinaCandidate:X M ZhouFull Text:PDF
GTID:2178360275982446Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
In recent years, software piracy has seriously impaired the development of software industry, as the software is high value-added and easy to be copied with low cost. To maintain the healthy and sustainable development of the software industry is currently a pressing topic needing to be addressed.As an important branch of software protection, software birthmark can be used to prove code theft by identifying the intrinsic properties of a program. Owing to software birthmark could identify the copyright by itself without interrupting the program, it has received close attention from both software manufacturer and academic circles. Although some contributions have been made on the software birthmark, there are still many questions needing to be investigated further.The component dependency in a software system can be deemed as a graph, and the component dependence graphs (CDGs) extracted from different software are of low similarity and difficult to be modified. This means that CDG is an ideal object for birthmark. This paper designs a CDG-based software birthmark scheme for .NET software, which uniquely identifies a program based on its static and dynamic CDGs. To improve the matching efficiency of the CDG set, this paper proposes two matching algorithms for static and dynamic CDGs. The static CDG matching algorithm is based on the idea of seeking the largest common sub-graph. This method not only ensures the largest common sub-graph is isomorphic, but also guarantees the component name is correctly mapped. For the dynamic CDG matching, we first transform the CDG into the disordered label trees, and then design a matching algorithm with linear time complexity for the label tree based on the idea of breadth first search graph algorithm. Under the constraint that the names of the components must match, the proposed methods are able to efficiently reduce the matching complexity for the large-scale graph set.To demonstrate the credibility and reliability against semantics-preserving transformations, the performance of the propose approaches is evaluated and compared with TaNaMM and WPP birthmarks. Experimental results show that our technique is among the best methods for the software system with a large number of user components, thus suitable for large-scale software systems to provide copyright protection.
Keywords/Search Tags:software protection, software birthmark, component dependence graph, graph matching
PDF Full Text Request
Related items