Download Tools for static code analysis: A survey

Transcript
28
3.5.2
Survey
Splint
User manuals
The Splint manual can be viewed either as a html page or as a pdf document. The
manual is very large and thorough, consisting of 14 chapters and 5 appendices
in a total of 121 pages. The first chapter brings up how to operate Splint, by
explaining the basic commands, warnings produced by Splint, various flags that
can be used, what annotations are and how they might be used. The remaining
chapters deal with the various problems (bugs) Splint can detect. Each problem is
given an individual chapter in which all of its sub problems are very well explained
(in many cases with good examples). Furthermore which annotations that can be
used for a specific problem, in order to make the scan even more accurate, are
described.
The user manual does not contain any tutorial on how to use Splint but on
Splint’s web page (found at http://www.splint.org/ ) there exists a very good tutorial that covers many aspects on how to use LCLint (the predecessor of Splint).
Since Splint is LCLint with some added functionality it serves as a very good
foundation when beginning to learn how to use Splint.
As a whole the manual is very clear, explains all of the functionality very well
and explains all of the problems searched for in an educational manner.
Internet forums
There is no Internet forum dedicated to Splint that the author of this thesis has
found. However, there are two mailing lists that one can join: Splint Announce,
which is used to announce new version of Splint, and Splint Discuss which is dedicated to informal discussions about Splint usage and development. The contents
of the latter one can also be found at the Splint Discuss Archives 5 and it has some
posts every month with response times at often just a few days.
Books
No books were found about Splint but it is referenced to in quite a lot of books
concerning software security.
3.5.3
Fortify SCA
User manuals
Since only a demo version of Fortify SCA 4.0 could be obtained and since no
actual documentation could be found on the website (http://www.fortify.com),
the documentation that came with the demo version is what is being evaluated in
this thesis.
Fortify SCA comes with two different user manuals. The first one is about the
SCA and describes what it is, what different methods are being used when doing a
scan, why they are made and finally how to use it. There are chapters explaining
5 http://www.cs.virginia.edu/pipermail/splint-discuss/