Software watermarking: Models and dynamic embeddings

Christian Collberg, Clark Thomborson

Research output: Contribution to journalConference articlepeer-review

278 Scopus citations


Watermarking embeds a secret message into a cover message. In media watermarking the secret is usually a copyright notice and the cover a digital image. Watermarking an object discourages intellectual property theft, or when such theft has occurred, allows us to prove ownership. The Software Watermarking problem can be described as follows. Embed a structure W into a program P such that: W can be reliably located and extracted from P even after P has been subjected to code transformations such as translation, optimization and obfuscation; W is stealthy; W has a high data rate; embedding W into P does not adversely affect the performance of P; and W has a mathematical property that allows us to argue that its presence in P is the result of deliberate actions. In the first part of the paper we construct an informal taxonomy of software watermarking techniques. In the second part we formalize these results. Finally, we propose a new software watermarking technique in which a dynamic graphic watermark is stored in the execution state of a program.

Original languageEnglish (US)
Pages (from-to)311-324
Number of pages14
JournalConference Record of the Annual ACM Symposium on Principles of Programming Languages
StatePublished - 1999
EventProceedings of the 1999 26th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Language, POPL'99 - San Antonio, TX, USA
Duration: Jan 20 1999Jan 22 1999

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'Software watermarking: Models and dynamic embeddings'. Together they form a unique fingerprint.

Cite this