Software security is a significant issue in the Internet age. In order to prevent software from piracy and unauthorized modification, many techniques have been developed. Software watermarking is such a technique that can be used to protect software by embedding some secret information into the software to identify its copyright owner. In this paper, we discuss algorithms of software watermarking through register allocation. The QP Algorithm [1, 2] was proposed by Qu and Potkonjak to watermark a solution to a graph coloring(GC) problem to protect its intellectual property. In a recent paper by Myles and Collberg [3], the QP algorithm was corrected, and was, for the first time, implemented to watermark software through register allocation. It is called the QPS algorithm. Our paper discusses some difficulties with the published descriptions of the QP and QPS algorithms, points out the problem in the extractability of the watermarks inserted by the QP algorithm through examples, proves...
William Zhu, Clark D. Thomborson