Tracking Inter-process Dependencies
Offered By: Gopher Academy via YouTube
Course Description
Overview
Explore inter-process dependencies in service-oriented architectures through a Go-based static analysis project. Dive into the challenges of tracking system dependencies, learn about static analysis libraries, and discover effective usage techniques. Examine obstacles encountered during development and strategies to overcome them. Gain insights into call graphs, ASTs, parsing, and workarounds for complex code scenarios. Understand the intricacies of analyzing Go code, including handling false positives and reflection. Walk through the project's evolution, from initial roadmap to rebuilding from the ground up, and extract valuable takeaways for implementing similar analysis tools in your own projects.
Syllabus
Intro
Roadmap
Outcomes
What are "interesting" calls?
Who are we calling?
Which call do we mark?
Direct call
Specific helper
Specific & generic helpers
Call chain
Marked paths
GoDoc search: "call graph"
Call graphs
The Plan
Outline
go/token: FileSets
ASTs and parsing
AST example
go/ast
go/parser
Bumps in the code
Point of no return
Workarounds
Not working well
Rebuild from the ground up
Opening files is pretty common
False positive
Reflection
Takeaways
Taught by
Gopher Academy
Related Courses
A Holistic Go ExperienceGopher Academy via YouTube Safe, Fast, and Easy - Building a Plugin System with WebAssembly
Gopher Academy via YouTube A Journey Through Integration Testing with Go - What Could Go Wrong?
Gopher Academy via YouTube Kraken Wrangling for Dummies - Go Module Dependency Management at Scale
Gopher Academy via YouTube Go, the Data Engineer's Missing Tool?
Gopher Academy via YouTube