Skip to content

Latest commit

 

History

History

session-05

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

05. Correctness of Distributed Systems

Debugging, Testing, Profiling, Tracing

This session deals with dynamic code analysis. We talk about debugging, testing, profiling and tracing in Go.

Two main areas:

  • program correctness
  • program performance

The lecture focuses mainly on program correctness, while we will also deal with program performance in the hands-on part.

Outline

  • Challenges of Distributed Systems
  • Formal Methods
  • Testing
  • Tools: Debugging, Tracing, Profiling

Readings

  • Go Web Programming chapter 9

Questions

Hands-on

  1. Debugging - the basics of Go debugging with delve*
  2. Unit Testing - how to write and run unit tests in Go*
  3. Profiling - benchmarks, profiling, and flame graphs!*
  4. Tracing - tracing Go programs for deeper understanding*

Further Readings

*From Francesc's go-tooling-workshop