A STATIC SOFTWARE BIRTHMARK BASED ON USE-DEFINE CHAINS FOR DETECTING THE THEFT OF JAVA PROGRAMS

2011

Software birthmarking is a new technique used to detect the theft of programs. In the technique, a software birthmark is the inherent invariable features of a program that can be used to identify the program. Some typical semantics-preserving transformations will have a significant impact on order and frequency of instructions in programs. By introducing dataflow analysis techniques, dependencies of instructions that define or use variables in programs are established. The relations between these instructions can reduce the effect of semantics-preserving transformations such as shuffle stack operation, add fake exception, change switch statements and encrypt string in SmokeScreen. Classes are compared by the optimal matching algorithm. Thus a novel method of software birthmarking based on use-define chains is presented.

Read the paper · More papers on PaperTik