Code Is Not Text - How Graph Technologies Can Help Us to Understand Our Code Better
Offered By: EuroPython Conference via YouTube
Course Description
Overview
Explore how graph technologies can revolutionize code understanding and software development in this EuroPython 2015 conference talk. Discover why treating code as text is limiting and learn about the benefits of viewing code as a graph structure. Examine specific examples of how this approach can improve comprehension of large codebases, enhance code quality, and automate aspects of software development. Gain insights into querying and navigating code graphs, analyzing code complexity, exploring dependencies, and performing semantic diffs. Consider the speaker's vision for the future of programming, moving beyond simple text editors. Delve into topics such as abstract syntax trees, Merkle trees, pattern matching, and the challenges of tree isomorphism in diff algorithms.
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
Related Courses
A Brief History of Data StorageEuroPython Conference via YouTube Breaking the Stereotype - Evolution & Persistence of Gender Bias in Tech
EuroPython Conference via YouTube We Can Get More from Spatial, GIS, and Public Domain Datasets
EuroPython Conference via YouTube Using NLP to Detect Knots in Protein Structures
EuroPython Conference via YouTube The Challenges of Doing Infra-As-Code Without "The Cloud"
EuroPython Conference via YouTube