Главная
Study mode:
on
1
Intro
2
File & text utilities
3
Challenge: Cross referencing
4
Abstract syntax tree
5
Which identifier refers to what?
6
Explicit support for all language features
7
Byte code
8
Which is the better choice?
9
Tracking flows
10
Assignment
11
Propagators
12
Conditional flows
13
Combinatorial explosion
14
Merging
15
Combinatorial explosion - Revisited
16
Merging - Limitations
17
Loops
18
Impossible to be precise
19
Function calls
20
Recursion
21
Virtual method calls
22
Call graph
23
Flow sensitivity
24
Aliasing
25
Framework / Library knowledge
26
Identifying unique findings
27
Quality of results
28
Levels of sophistication
29
Summary
30
Outro
Description:
Dive into the technical intricacies of static code analysis tools in this 38-minute conference talk from GOTO Amsterdam 2022. Explore how linters, IDE inspections, and scanners for bugs, coding style, and vulnerabilities function behind the scenes. Learn about file and text utilities, abstract syntax trees, byte code, flow tracking, and the challenges of cross-referencing and combinatorial explosion. Understand the complexities of handling conditional flows, loops, function calls, and virtual method calls. Discover the importance of flow sensitivity, aliasing, and framework knowledge in code analysis. Gain insights into the levels of sophistication in these tools and how they identify unique findings, ultimately enhancing your understanding of their strengths and limitations.

Static Code Analysis - A Behind-the-scenes Look

GOTO Conferences
Add to list
0:00 / 0:00