Static analysis

History / Edit / PDF / EPUB / BIB
Created: September 14, 2016 / Updated: November 7, 2016 / Status: in progress / 4 min read (~620 words)

  • Spectral graph theory

  • Graph/tree theory
  • Linear algebra

  • Use adjacency matrices to represent a control flow graph, allows you to do operations easily (get children (nodes to which a given node may go) = $V \cdot A$, get parents (nodes from which a given node might come from) = $V \cdot A^T$ (matrix transpose))1

  • Fileset creation and filtering based on masks and regexes
  • Initial AST construction for the fileset
  • Analysis passes
  • Output of diagnosis messages

  • Track all properties
  • Mark all properties that are read/written in each method
  • Track function calls
  • Track all methods signature (parameter types and return type)