Static Driver Verifier tool feedback

Hi guys,

I would like to run a discussion in the community and get some feedback on how SDV is used, what type of issues in WDM and KMDF you are able to capture and how easy and convenient is to use the tool in everyday driver development.

I would appreciate your inputs!

Best regards,
Tanya

That’s what the NtTalk discussion group is designed to handle.

Gary G. Little
H (952) 223-1349
C (952) 454-4629
xxxxx@comcast.net

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@microsoft.com
Sent: Tuesday, December 15, 2009 2:01 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Static Driver Verifier tool feedback

Hi guys,

I would like to run a discussion in the community and get some feedback on
how SDV is used, what type of issues in WDM and KMDF you are able to capture
and how easy and convenient is to use the tool in everyday driver
development.

I would appreciate your inputs!

Best regards,
Tanya


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

__________ Information from ESET Smart Security, version of virus signature
database 4691 (20091215) __________

The message was checked by ESET Smart Security.

http://www.eset.com

__________ Information from ESET Smart Security, version of virus signature
database 4691 (20091215) __________

The message was checked by ESET Smart Security.

http://www.eset.com

I would vote to keep it here, personally I thought NTTALK was desing to
handle Anton and I avoid it like the plague. I do use SDV and it has
improved tremendously since it came out, but it is still a pain to use. So
for PreFast I use it every time I build and curse those who leave code less
than PreFast clean (without filters), but SDV is something I only use as I
am approaching the point of handing over a “release canidate” driver.


Don Burn (MVP, Windows DKD)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr

“Gary G. Little” wrote in message
news:xxxxx@ntdev…
> That’s what the NtTalk discussion group is designed to handle.
>
> Gary G. Little
> H (952) 223-1349
> C (952) 454-4629
> xxxxx@comcast.net
>
>
>
>
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of
> xxxxx@microsoft.com
> Sent: Tuesday, December 15, 2009 2:01 PM
> To: Windows System Software Devs Interest List
> Subject: [ntdev] Static Driver Verifier tool feedback
>
> Hi guys,
>
> I would like to run a discussion in the community and get some feedback on
> how SDV is used, what type of issues in WDM and KMDF you are able to
> capture
> and how easy and convenient is to use the tool in everyday driver
> development.
>
> I would appreciate your inputs!
>
> Best regards,
> Tanya
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
> Information from ESET Smart Security, version of virus
> signature
> database 4691 (20091215)

>
> The message was checked by ESET Smart Security.
>
> http://www.eset.com
>
>
>
> Information from ESET Smart Security, version of virus
> signature
> database 4691 (20091215)

>
> The message was checked by ESET Smart Security.
>
> http://www.eset.com
>
>
>
>
> Information from ESET NOD32 Antivirus, version of virus
> signature database 4691 (20091215)

>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>

Information from ESET NOD32 Antivirus, version of virus signature database 4691 (20091215)

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com

Personally, I think that this is a fine place for this thread, but either way, we’ve certainly survived more off topic threads, and nttalk is not exactly a high traffic area.

As far as sdv goes, it’s lack of quasi-support for c++ is a kind of a deal breaker for me.

mm

I would beg to differ. Nttalk is a dumping ground for topics that might be tangential to driver development. Discussing sdv and what you find good/bad about it (in a civil manner) is imho perfectly fine for ntdev

d

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Gary G. Little
Sent: Tuesday, December 15, 2009 12:36 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Static Driver Verifier tool feedback

That’s what the NtTalk discussion group is designed to handle.

Gary G. Little
H (952) 223-1349
C (952) 454-4629
xxxxx@comcast.net

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@microsoft.com
Sent: Tuesday, December 15, 2009 2:01 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Static Driver Verifier tool feedback

Hi guys,

I would like to run a discussion in the community and get some feedback on how SDV is used, what type of issues in WDM and KMDF you are able to capture and how easy and convenient is to use the tool in everyday driver development.

I would appreciate your inputs!

Best regards,
Tanya


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

__________ Information from ESET Smart Security, version of virus signature database 4691 (20091215) __________

The message was checked by ESET Smart Security.

http://www.eset.com

__________ Information from ESET Smart Security, version of virus signature database 4691 (20091215) __________

The message was checked by ESET Smart Security.

http://www.eset.com


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Thanks guys,

All opinions appreciated!

(Don, you can curse those who leave code with SDV defects too :slight_smile: )

I believe the tool is easy to use:

staticdv /clean and then
staticdv /rule:*

but still I would like to hear from you and have more scenarios on using teh tool, viewing the defects and tracing the faling code.

Well the steps below assume you have already done a staticdv /scan and
edited the sdv-map.h file. And it ignorse that with KMDF the tool almost
always asks me to rerun some rules for more detail.

On the SDV clean I’ve never gotten a driver to be SDV clean, because of
false positives, but I have no clue what magic is needed to be done to
eliminate the false positives.

I still like the tool, but it only rarely finds a bug for me, but it always
complains.


Don Burn (MVP, Windows DKD)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr

wrote in message news:xxxxx@ntdev…
> Thanks guys,
>
> All opinions appreciated!
>
> (Don, you can curse those who leave code with SDV defects too :slight_smile: )
>
> I believe the tool is easy to use:
>
> staticdv /clean and then
> staticdv /rule:*
>
> but still I would like to hear from you and have more scenarios on using
> teh tool, viewing the defects and tracing the faling code.
>
>
>
>
>
>
>
> Information from ESET NOD32 Antivirus, version of virus
> signature database 4691 (20091215)

>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>

Information from ESET NOD32 Antivirus, version of virus signature database 4691 (20091215)

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com

The fact that it HATES anything with a C++ file type is a deal breaker for us here at OSR (where we use C++ as a “better C”).

Other than that, it’s been several years since I’ve tried to use it… so I have evaluation that’s recent enough to be fair.

We typically tell our students to try it, once they think their driver is relatively complete, and see what it turns up.

Peter
OSR

Don,

You don’t have to run staticdv /scan everytime - it runs automatically.

Also, no need to edit sdv_map.h unless you want to modify some callbacks for example - to improve the performance.

However, I appreciate your input very much.

Thanks,
Tanya

How difficult would it be to allow using C++ as a “better C”? Like Peter,
that has been my coding style for years. SDV boycotting file extensions of
CPP seems a bit harsh, when in most cases the major c++'ism I use is extern
“C” {} for my include files. That is usually easily disabled by simply
commenting out the extern and braces but SDV still faults the project as
having c++ code.

I’m not advocating C++ in the kernel … god forbid we have the 10 x
10*google* discussion of THAT dead horse.

Gary G. Little
H (952) 223-1349
C (952) 454-4629
xxxxx@comcast.net

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@microsoft.com
Sent: Tuesday, December 15, 2009 3:42 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Static Driver Verifier tool feedback

Don,

You don’t have to run staticdv /scan everytime - it runs automatically.

Also, no need to edit sdv_map.h unless you want to modify some callbacks for
example - to improve the performance.

However, I appreciate your input very much.

Thanks,
Tanya


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

__________ Information from ESET Smart Security, version of virus signature
database 4691 (20091215) __________

The message was checked by ESET Smart Security.

http://www.eset.com

__________ Information from ESET Smart Security, version of virus signature
database 4691 (20091215) __________

The message was checked by ESET Smart Security.

http://www.eset.com

Number three vote for ‘c++ as a better c breaks sdv’. Also the
discussion should be right here. I have no idea what nttalk is as I
have never ever wandered into it.

Tanya I think you have already started the discussion so where it is
is where it is, right?

Mark Roddy

On Tue, Dec 15, 2009 at 5:37 PM, Gary G. Little wrote:
> How difficult would it be to allow using C++ as a “better C”? Like Peter,
> that has been my coding style for years. SDV boycotting file extensions of
> CPP seems a bit harsh, when in most cases the major c++'ism I use is extern
> “C” {} for my include files. That is usually easily disabled by simply
> commenting out the extern and braces but SDV still faults the project as
> having c++ code.
>
> I’m not advocating C++ in the kernel … god forbid we have the 10 x
> 10google discussion of THAT dead horse.
>
> Gary G. Little
> H (952) 223-1349
> C (952) 454-4629
> xxxxx@comcast.net
>
>
>
>
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of
> xxxxx@microsoft.com
> Sent: Tuesday, December 15, 2009 3:42 PM
> To: Windows System Software Devs Interest List
> Subject: RE:[ntdev] Static Driver Verifier tool feedback
>
> Don,
>
> You don’t have to run staticdv /scan everytime - it runs automatically.
>
> Also, no need to edit sdv_map.h unless you want to modify some callbacks for
> example - to improve the performance.
>
> However, I appreciate your input very much.
>
> Thanks,
> Tanya
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
> Information from ESET Smart Security, version of virus signature
> database 4691 (20091215)

>
> The message was checked by ESET Smart Security.
>
> http://www.eset.com
>
>
>
> Information from ESET Smart Security, version of virus signature
> database 4691 (20091215)

>
> The message was checked by ESET Smart Security.
>
> http://www.eset.com
>
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>

You are absolutely right Mark!

Very nice to hear from you :slight_smile:

>I still like the tool, but it only rarely finds a bug for me, but it always

complains.

I would agree with Don that the architect level driver expert rarely has to have bugs in the code :-), but imagine how helpful the rules like irql level or request completion would be for the rest of the driver developers. And this even before you deploy and run the driver at the cost of 2 command lines!

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@microsoft.com
Sent: Tuesday, December 15, 2009 4:26 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Static Driver Verifier tool feedback

>I still like the tool, but it only rarely finds a bug for me, but it
always
>complains.

I would agree with Don that the architect level driver expert rarely has to
have
bugs in the code :-), but imagine how helpful the rules like irql level or
request
completion would be for the rest of the driver developers. And this even
before
you deploy and run the driver at the cost of 2 command lines!

Tanya,

You don’t need to justify the use of the tool. You just need to make it
less painful to use.

Phil

Tanya,

Is the ‘model’ for driver development at MSFT ‘code first, learn second?’

While I agree that having tools validate that the complex rules of driver
development are met, such a tool is no substitute for understanding the
requirements and creating a design that accommodates them *before coding*.

So the tool must really find the hard stuff too because (rapidly) I would
expect a driver developer constantly barraged with SDV errors concerning
IRQL to either be fired or learn quickly.

I too will throw in on C++ because, well, except for the trivial ones, all
the drivers I work on use it to one degree or another.

Thanks,
Dave Cattley

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@microsoft.com
Sent: Tuesday, December 15, 2009 6:25 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Static Driver Verifier tool feedback

I still like the tool, but it only rarely finds a bug for me, but it always

complains.

I would agree with Don that the architect level driver expert rarely has to
have bugs in the code :-), but imagine how helpful the rules like irql level
or request completion would be for the rest of the driver developers. And
this even before you deploy and run the driver at the cost of 2 command
lines!


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Hi Phil,

A would appreciate your concrete feedback on the pain point.

Thank you!

Hi David,

Very nice to hear from you!

I would appeciate “the hard stuff” input, SDV may already do some of it.

Thanks,
Tanya

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of
xxxxx@microsoft.com
Sent: Tuesday, December 15, 2009 4:39 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Static Driver Verifier tool feedback

Hi Phil,

A would appreciate your concrete feedback on the pain point.

I have nothing to add to the feedback provided by the (real) contributors to
this thread. Just pointing out that shilling the use of the tool really
isn’t helpful, we already know that, within the scope of what is supported,
SDV is quite valuable. Fix the worst of the limitations already noted, and
you’ll increase the usage considerably.

Phil

Good feedback, thanks Phil!

David R. Cattley wrote:

I too will throw in on C++ because, well, except for the trivial ones, all
the drivers I work on use it to one degree or another.

Me, tool. Most of my drivers actually use classes.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.