Skip to content

Revamp Deadlock-Detection to work incrementally and consider MHP information #650

@michael-schwarz

Description

@michael-schwarz

Another issue that we discussed at Gobcon some weeks ago, adding it here so we don't lose track.

Things that would need to be done:

  • Incrementalize the collection of lock-order constraints (the approach from Incremental TD3: optimize write-only unknown restarting #634 by @sim642 should work here)
  • Replace Cil.location with Node.t
  • Maybe: Incrementalize the building of the locking graph (?)
  • Make use of MHP information to exclude some cycles. (Naively, this would require collecting lock/unlock pairs for mutexes to exclude cycles where the cycle in the locking order is excluded by MHP information, e.g.
    • T1 locks a and then b,
    • T2 locks b and then a
    • But T2 is not started yet when T1 does the locking)

This would then be a second class of concurrency bug that we can find with Goblint.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions