This document provides an overview of various academic techniques that can be useful for security researchers, including mathematical objects, comparing objects, similarity searching, classification, clustering, and program analysis. It discusses representing problems as different objects like strings, vectors, and graphs and using techniques like n-grams, vector distances, and graph decomposition. Case studies of projects that applied these techniques are also summarized.