Identify and remove irrelevant modules
For some rules there are irrelevant modules. For example, if module does not contain mutex_lock
functions, it is irrelevant for kernel:locking:mutex
rule.
I tried to ask CIF
, if an aspect is appied successfully. There are two problems. First, there is no quick way to ask CIF
, I find only a way with info requests, like it is performed in templates to get arg signs. The second problem is unreachable code. A module may include some code, for example, via headers, which contains locks, but the locks are not used. So, an aspect is applied, but is useless.
One idea is to ask Clade, if the source contains the target functions. There may be problems with transitive closure. The other idea is to experiment with more specific rules, for example, timers. Likely, there are less timers, than locks, and the simple way may work.
Maybe, is a student task.