Code Is Not Text - How Graph Technologies Can Help Us to Understand Our Code Better
EuroPython Conference via YouTube
Overview
Syllabus
Intro
How we usually think about code
Our Journey
Graphs explained in 30 seconds
Graphs in Programming
Building the Code Graph
Storing the Graph: Merkle Trees
AST Example
Efficieny of this Approach
Querying & Navigation
Examples (contd.)
Example: Code Complexity The cyclomatic complexity is a quantitative measure of the number of linearly
Example: Flask
Exploring Dependencies in a Code Base
Pattern Matching: Text vs. Graphs
Example: Building a Code Checker
Adding an exception to the rule
Example: Diff from Django Project
Basic Problem: Tree Isomorphism (NP-complete!)
Similar Problem: Chemical Similarity Benzene
Applications
Example: Semantic Diff
Summary: Text vs. Graphs
Taught by
EuroPython Conference