Chapter 4. Code Security and Advanced Program Analysis
Software composition analysis (SCA) tools inventory known vulnerable dependencies. Static application security testing (SAST) tools flag vulnerabilities in first-party code. And now frontier AI models are surfacing zero-day vulnerabilities not yet described in vulnerability databases. The volume of findings keeps rising. But these tools mostly answer the question What do you have? Advanced program analysis answers the harder questions, enabling you to identify vulnerabilities accurately by tracing calls across systems.
That distinction matters everywhere software change happens (whether by human or agent), including vulnerability remediation, framework migrations, dead code elimination, and architectural governance. These problems require reasoning about software behavior, execution paths, data flow, and relationships across entire portfolios. Built on the LST and composable in deterministic recipes, advanced program analysis turns code as data into something operational: a system for producing accurate, actionable answers.
Tracing Data Through the Codebase
Tracing calls across systems rests on two long-standing techniques. Control flow analysis maps how a program can execute, such as which statements are reachable, which branches are dead, or which exceptions can escape. Data flow analysis walks through that map and tracks where values come from and where they end up. What lets it scale is method summarization: it computes ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access