@InProceedings{	  collberg99software,
  author =	 {Christian Collberg and Clark Thomborson},
  title =	 {Software Watermarking: Models and Dynamic
                  Embeddings},
  booktitle =	 {Proceedings of Symposium on Principles of Programming Languages, {POPL}'99},
  year =	 1999,
  pages =	 {311--324},
  url =
                  {http://www.cs.arizona.edu/~collberg/Research/Publications/CollbergThomborson99a/A4.ps.gz},
  cache =	 {collberg99.ps},
  abstract =	 {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.},
  annote =	 {Introduces and formally defines software
                  watermarking as well as providing an outline of what
                  is involved in embedding, tamperproofing and
                  recognizing watermarks. Provides a comprehensive
                  taxonomy of software watermarking techniques and
                  describes categories of attacks. },
  keywords =	 {software watermark, attacks, tamperproofing, formal,
                  discussion},
  section = {SOFTWARE-WATERMARKING}
}


