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

Software as a Service
University of California, Berkeley via Coursera
Software Testing
University of Utah via Udacity
The Hardware/Software Interface
University of Washington via Coursera
Software Debugging
Saarland University via Udacity
Introduction to Systematic Program Design - Part 1
The University of British Columbia via Coursera