Supriya Ghosh (Editor)

Splint (programming tool)

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
The Splint Developers

Type
  
Static code analysis

Website
  
splint.org

Operating system
  
Cross-platform

License
  
GPL

Stable release
  
3.1.2 / July 12, 2007; 9 years ago (2007-07-12)

Splint, short for Secure Programming Lint, is a programming tool for statically checking C programs for security vulnerabilities and coding mistakes. Formerly called LCLint, it is a modern version of the Unix lint tool.

Splint has the ability to interpret special annotations to the source code, which gives it stronger checking than is possible just by looking at the source alone. Splint is used by gpsd as part of an effort to design for zero defects.

Splint is free software released under the terms of the GNU General Public License.

Recent development activity on Splint has slowed significantly. According to the CVS at SourceForge, as of September 2012 the most recent change in the repository was in November 2010. The maintainer has said that development is stagnant and the project needs new volunteers.

Example

Splint's output:

Variable c used before definition Suspected infinite loop. No value used in loop test (c) is modified by test or loop body. Assignment of int to char: c = getchar() Test expression for if is assignment expression: c = 'x' Test expression for if not boolean, type char: c = 'x' Fall through case (no preceding break)

Fixed source:

References

Splint (programming tool) Wikipedia