Strator has problems when it comes to mutexes as function argument. It will assume each function argument is a different mutex irrelevant of the path. this will cause problems in some situations. Both causes false negatives and false positives.
Solution is to write something like getDefOperand but flow-sensitive, and only for values that depend on only one other value (bitcasts, argument passings, ...)
Strator has problems when it comes to mutexes as function argument. It will assume each function argument is a different mutex irrelevant of the path. this will cause problems in some situations. Both causes false negatives and false positives.
Solution is to write something like getDefOperand but flow-sensitive, and only for values that depend on only one other value (bitcasts, argument passings, ...)