YoVDO

Tracking Inter-process Dependencies

Offered By: Gopher Academy via YouTube

Tags

GopherCon Courses Software Development Courses Go Courses Service-Oriented Architecture Courses

Course Description

Overview

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