Sun, 20 May 2012
UVA SPLint

SPLint is a powerful static analysis tool for C, from University of Virginia's Secure Programming Group.  It began life as a tool to aid in lightweight formal methods development, and it sustains those capabilities in its current incarnation.  While SPLint's powerful analysis can be used to detect defects and issues in any ANSI compliant C source code, its power does not end there.

The true power of SPLint (short for Secure Programming Lint) rests in the use of annotations.  These annotations express the design intent, which permit the tool to perform much more extensive analysis and type-checking than would otherwise be possible.  While many of this tool's capabilities overlap with those of other Lint-like tool, many of the checks are quite unique to SPLint.

Other capabilities of SPLint include the ability to check code against LARCH LCL interface declarations (formal methods); to define custom analyses using a simple declarative language; and to create API profiles that enhance analysis for libraries and APIs you work with frequently.  The documentation for SPLint is first rate; although some of the more esoteric features may not be all that obvious at first.  If you intend to use the LCL features you will need further documentation in the syntax of these specifications.  One very good example is the book (now available as a PDF) Introduction to LCL: A Larch/C Interface Language.

One very powerful aspect of SPLint is that it's operation may be integrated with many IDE editors, allowing for a single-keystroke analysis with hyper-linking to issues.  This makes it possible for developers to perform quick check-ups of their code-in-progress, and fix issues before they propagate.

For a more complete look at the features and benefits of employing Splint, please see our whitepaper on the topic.  SPLint is a freely available open-source tool which can be downloaded from the SPLint.org website.   

SafeCode, LLC proudly recommends SPLint and we can provide training and assistance in integrating SPLint into your process.  

 
Worth Remembering
"It’s hard to read through a book on the principles of magic without glancing at the cover periodically to make sure it isn’t a book on software design." -- Bruce Tognazzini, “Principles, Techniques and Ethics of Stage Magic and their Application to Human Interface Design”, Proceedings of INTERCHI, April 1993
nasa_jsc2004e23117_256x192.jpg
Who's Online
We have 2 guests online
worldphoto_f96b9a31216871c91adcf9b55d363c46-225x100.jpg
My2Cents Blog
My2Cents
Errata