The protection of computer software---its technology and applications
Java Virtual Machine Specification
Java Virtual Machine Specification
Java Language Specification, Second Edition: The Java Series
Java Language Specification, Second Edition: The Java Series
Introduction to Algorithms
A Practical Method for Watermarking Java Programs
COMPSAC '00 24th International Computer Software and Applications Conference
On the Resemblance and Containment of Documents
SEQUENCES '97 Proceedings of the Compression and Complexity of Sequences 1997
K-gram based software birthmarks
Proceedings of the 2005 ACM symposium on Applied computing
Software theft detection through program identification
Software theft detection through program identification
Java Birthmarks —Detecting the Software Theft—
IEICE - Transactions on Information and Systems
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
A method for detecting the theft of Java programs through analysis of the control flow information
Information and Software Technology
Automatic mining of functionally equivalent code fragments via random testing
Proceedings of the eighteenth international symposium on Software testing and analysis
Hi-index | 0.00 |
A software birthmark means the inherent characteristics of a program that can be used to identify the program. A comparison of such birthmarks facilitates the detection of software theft. In this paper, we propose a static Java birthmark based on a set of stack patterns, which reflect the characteristic of Java applications. A stack pattern denotes a sequence of bytecodes that share their operands through the operand stack. A weight scheme is used to balance the influence of each bytecode in a comparison of the birthmarks. We evaluate the proposed birthmark with respect to two properties required for a birthmark: credibility and resilience. The empirical results show that the proposed birthmark is highly credible and resilient to program transformation. We also compare the proposed birthmark with existing birthmarks, such as that of Tamada et al. and the k-gram birthmark. The experimental results show that the proposed birthmark is more stable than the birthmarks in terms of resilience to program transformation. Thus, the proposed birthmark can provide more reliable evidence of software theft when the software is modified by someone other than author.