title: Finding patterns in source code
body: <p>If I wanted to learn about pattern recognition in general what would be a good place to start (recommend a book)?</p>
  
  <p>Also, does anybody have any experience/knowledge on how to go about applying these algorithms to find abstraction patterns in programs? (repeated code, chunks of code that do the same thing, but in slightly different ways, etc.)</p>
  
  <p>Thanks</p>
  
  <p>Edit: I don't mind mathematically intensive books. In fact, that would be a good thing.</p>