rge improvement over conservative evaluation.
      Such summaries could be obtained either syntactically,
      or using a dataflow framework.
      <p><i>(Difficulty: Hard)</i></p><p>
    </li>

    <li>Implement a dataflow flamework.
      <p>The analyzer core
      implements a <a href="https://en.wikipedia.org/wiki/Symbolic_execution">symbolic execution</a>
      engine, which performs checks
      (use-after-free, uninitialized value read, etc.)
      over a <em>single</em> program path.
      However