Skip to content

Investigate using Ward on RTS

While debugging a locking issue a few weeks ago I found myself pining for static analysis tooling. Today I briefly looked at the options and one stood out: Ward. It sits in a very nice point in the design space, allowing the user to define a universe of privileges and annotate functions using standard C attributes.

I think this would be a very helpful tool for describing and checking GHC's locking (and perhaps other) behavior.

Trac metadata
Trac field Value
Version 8.4.3
Type Task
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
Edited by Ben Gamari
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information