A Survey of Software Watermarking

  • William Zhu
  • Clark Thomborson
  • Fei-Yue Wang
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3495)


In the Internet age, software is one of the core components for the operation of network and it penetrates almost all aspects of industry, commerce, and daily life. Since digital documents and objects can be duplicated and distributed easily and economically cheaply and software is also a type of digital objects, software security and piracy becomes a more and more important issue. In order to prevent software from piracy and unauthorized modification, various techniques have been developed. Among them is software watermarking which protects software through embedding some secret information into software as an identifier of the ownership of copyright for this software. This paper gives a brief overview of software watermarking. It describes the taxonomy, attack models, and algorithms of software watermarking.


Software Security Software Watermarking 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Arboit, G.: A Method for Watermarking Java Programs via Opaque Predicates. In: The Fifth International Conference on Electronic Commerce Research, ICECR-5 (2002)Google Scholar
  2. 2.
    Collberg, C., Thomborson, C.: Software Watermarking: Models and Dynamic Embeddings. In: POPL 1999 (1999)Google Scholar
  3. 3.
    Collberg, C., Thomborson, C.: Watermarking, tamper-proofing, and obfuscation - tools for software protection. IEEE Transactions on Software Engineering 28, 735–746 (2002)CrossRefGoogle Scholar
  4. 4.
    Collberg, C., Carter, E., Debray, S., Huntwork, A., Kececioglu, J., Linn, C., Stepp, M.: Dynamic path-based software watermarking. In: ACM SIGPLAN Notices. Proceedings of the ACM SIGPLAN 2004 conference on Programming language design and implementation, June 2004, vol. 39(6) (2004)Google Scholar
  5. 5.
    Collberg, C., Jha, S., Tomko, D., Wang, H.: UWStego: A General Architecture for Software Watermarking, Technical Report (August 31, 2001), available on (November 20, 2001)
  6. 6.
    Cousot, P., Cousot, R.: An abstract interpretation-based framework for software watermarking. Principles of Programming Languages 2003, 311–324 (2003)Google Scholar
  7. 7.
    Curran, D., Hurley, N., Cinneide, M.: Securing Java through Software Watermarking. In: PPPJ 2003, Kilkenny City, Irenland, pp. 145–148 (2003)Google Scholar
  8. 8.
    Davidson, R., Myhrvold, N.: Method and system for generating and auditing a signature for a computer program, US Patent 5,559,884, Assignee: Microsoft Corporation (September 1996)Google Scholar
  9. 9.
    Monden, A., Iida, H., Matsumoto, K., Inoue, K., Torii, K.: A Practical Method for Watermarking Java Programs. In: The 24th Computer Software and Applications Conference (compsac 2000), Taipei, Taiwan (October 2000)Google Scholar
  10. 10.
    Nagra, J., Thomborson, C., Collberg, C.: A functional taxonomy for software watermarking. In: Oudshoorn, M.J. (ed.) Proc. 25th Australasian Computer Science Conference 2002, ACS, January 2002, pp. 177–186 (2002)Google Scholar
  11. 11.
    Nagra, J., Thomborson, C.: Threading Software Watermarks. In: Proc. Information Hiding Workshop (2004)Google Scholar
  12. 12.
    Qu, G., Potkonjak, M.: Analysis of Watermarking Techniques for Graph Coloring Problem. In: Proceeding of 1998 IEEE/ACM International Conference on Computer Aided Design, pp. 190–193. ACM Press, New York (1998)CrossRefGoogle Scholar
  13. 13.
    Stern, J., Hachez, G., Koeune, F., Quisquater, J.: Robust Object Watermarking: Application to Code. In: Information Hiding, pp. 368–378 (1999)Google Scholar
  14. 14.
    Thomborson, C., Nagra, J., Somaraju, R., He, C.: Tamper-proofing Software Watermarks. In: Montague, P., Steketee, C. (eds.) Proc. Second Australasian Information Security Workshop (AISW 2004), ACS, CRPIT, vol. 32, pp. 27–36 (2004)Google Scholar
  15. 15.
    Venkatesan, R., Vazirani, V., Sinha, S.: A Graph Theoretic Approach to software watermarking. Presented at 4th International Information Hiding Workshop, Pittsburgh, PA, USA (April 2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • William Zhu
    • 1
  • Clark Thomborson
    • 1
  • Fei-Yue Wang
    • 2
    • 3
  1. 1.Department of Computer SciencesThe University of AucklandAucklandNew Zealand
  2. 2.Systems and Industrial Engineering DepartmentThe University of ArizonaTucsonUSA
  3. 3.The Key Laboratory of Complex Systems and Intelligent Science, Institute of Automationthe Chinese Academy of SciencesBeijingChina

Personalised recommendations