Skip to content

Commit 99a0f8e

Browse files
committed
Add some symb_locks documentation
1 parent ea6d3a8 commit 99a0f8e

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

src/analyses/symbLocks.ml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
(** Symbolic lock-sets for use in per-element patterns. *)
1+
(** Symbolic lock-sets for use in per-element patterns.
2+
3+
See Section 5 and 6 in https://dl.acm.org/doi/10.1145/2970276.2970337 for more details. *)
24

35
module LF = LibraryFunctions
46
module LP = SymbLocksDomain.LockingPattern

src/cdomains/symbLocksDomain.ml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,14 +274,17 @@ struct
274274
let printXml f (x,y,z) = BatPrintf.fprintf f "<value>\n<map>\n<key>1</key>\n%a<key>2</key>\n%a<key>3</key>\n%a</map>\n</value>\n" Exp.printXml x Exp.printXml y Exp.printXml z
275275
end
276276

277+
(** Index-based symbolic lock *)
277278
module ILock =
278279
struct
280+
281+
(** Index in index-based symbolic lock *)
279282
module Idx =
280283
struct
281284
include Printable.Std
282285
type t =
283-
| Unknown
284-
| Star
286+
| Unknown (** Unknown index. Mutex index not synchronized with access index. *)
287+
| Star (** Star index. Mutex index synchronized with access index. Corresponds to star_0 in ASE16 paper, multiple star indices not supported in this implementation. *)
285288
[@@deriving eq, ord, hash]
286289
let name () = "i-lock index"
287290

0 commit comments

Comments
 (0)