Static Driver Verifier Ignoring Set Timeout Value

Hello, I am attempting to perform static analysis on an NDIS driver but a few of the rulesets timeout. Microsoft’s guidance in this situation is to increase the timeout value. I have increased this time, but it did not resolve the issue for every check. Specifically, nullcheck continues to timeout after 50 minutes regardless of the set timeout value. When I run SDV using only the nullcheck rule the status never changes from “linking”. Would anyone have an idea of how to resolve this timeout?

Thanks! :smile:

A while ago, I had a similiar problem, but found no real solution. However, I can offer some observations:

  • I suspect that the configurable timeout is only checked between rulesets. Whether or not an individual ruleset stops prematurely is determined only by some of its own internal parameters.
  • Running the tests on a different (i.e. slower or faster) hardware can make a difference, but in a slightly random way. What I mean is: If you offer more computing power (more processor cores in particular), PerfMon et. al. will show you that it gets utilized. But a single ruleset that runs successfully will show only minor differences in the time it takes to complete (20 % or so). It looks as though SDV observes the available computing power first and then adjusts the thoroughness of the test schedule within each ruleset accordingly.
  • Enterprise WDK can be helpful if you decide to run your tests on many different computers (because it can be run without installation). Note however that EWDK needs the redistributables for VC 2013 and VC 2015 and fails with an unspecific message (“Unrecoverable error in InterceptedBuild stage”) if they are not installed.