YoVDO

Static Code Analysis - A Behind-the-scenes Look

Offered By: GOTO Conferences via YouTube

Tags

GOTO Conferences Courses Recursion Courses Static Code Analysis Courses Abstract Syntax Tree Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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.

Syllabus

Intro
File & text utilities
Challenge: Cross referencing
Abstract syntax tree
Which identifier refers to what?
Explicit support for all language features
Byte code
Which is the better choice?
Tracking flows
Assignment
Propagators
Conditional flows
Combinatorial explosion
Merging
Combinatorial explosion - Revisited
Merging - Limitations
Loops
Impossible to be precise
Function calls
Recursion
Virtual method calls
Call graph
Flow sensitivity
Aliasing
Framework / Library knowledge
Identifying unique findings
Quality of results
Levels of sophistication
Summary
Outro


Taught by

GOTO Conferences

Related Courses

程序设计实习 / Practice on Programming
Peking University via Coursera
程序设计基础
Peking University via edX
算法基础
Peking University via Coursera
Principles of Computing (Part 2)
Rice University via Coursera
算法设计与分析 Design and Analysis of Algorithms
Peking University via Coursera