Further Reading
- Alfred V. Aho, John E.
  Hopcroft, and Jeffrey D. Ullman.
The
  Design and Analysis of Computer Algorithms.
Addison-Wesley, Reading, MA, 1974.
 
- Arash Baratloo, Timothy
  Tsai, and Navjot Singh.
Transparent run-time defense against stack smashing attacks.
In Christopher Small, editor, USENIX 2000 Technical Conference
  Proceedings, Berkeley, CA, June 2000. Usenix Association.
 
- Mark W. Eichlin and
  Jon A. Rochlis.
With microscope and
  tweezers: An analysis of the internet virus of November 1988.
In IEEE Symposium on Research in Security and Privacy, pages
  326–345, May 1989.
 
- Donald E. Knuth.
The
  Art of Computer Programming, volume 1: Fundamental Algorithms.
Addison-Wesley, Reading, MA, third edition, 1997.
 
- Donald E. Knuth.
The
  Art of Computer Programming, volume 3: Sorting and Searching.
Addison-Wesley, Reading, MA, second edition, 1998.
 
- Douglas C. Schmidt.
Gperf: A perfect hash function generator.
In Jim Waldo, editor, USENIX C++ Conference, pages 87–100,
  Berkeley, CA, April 1990. Usenix Association.
 
- Robert Sedgewick.
Algorithms in C Parts 1–4: Fundamentals, Data Structures, Sorting,
  Searching.
Addison-Wesley, Reading, MA, third edition, 1997.
 
- Robert Sedgewick.
Algorithms in C Part 5: Graph Algorithms.
Addison-Wesley, Boston, MA, third edition, 2001.
 
- Eugene H. Spafford.
The Internet worm: Crisis and aftermath.
Communications of the ACM, 32(6):678–687, June 1989.
 
- Diomidis Spinellis.
Code Reading: The Open
  Source Perspective, pages 95–140.
Effective Software Development Series. Addison-Wesley, Boston, MA, 2003.
 
- H. E. Williams,
  J. Zobel, and S. Heinz.
Self-adjusting trees in practice for large text collections.
Software: Practice & Experience, 31(10):925–940, August 2001.