Skip to content

Latest commit

 

History

History
43 lines (26 loc) · 1.1 KB

README.md

File metadata and controls

43 lines (26 loc) · 1.1 KB

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