LCLint Home Page

LCLint Home

Download

Linux
Windows 95/NT
       DevStudio
Source

Documentation

User's Guide
       HTML Online
Publications
Samples

Other Sources

Links
Mailing Lists
Bugs



Credits


LCLint Links

This page collects some of the more interesting links related to LCLint and static checking.

Find New Links

Search web for more links (use AltaVista, InfoSeek, lycos, Yahoo )
Search usenet for recent postings (using Deja News, AltaVista )

Larch Links

MIT Larch Page
Jim Horning's Larch Page

Larch C++

A Larch Interface Language for C++ developed by Gary Leavens and others at Iowa State. Currently there is nothing equivalent to LCLint for Larch/C++.

Related Work

Specification Languages

Extended Static Checking
Project at DEC Systems Research Center using theorem proving technology to enable extensive static checking in Java and Modula-3.
Sun's Assertion Definition Language
ADL is a formal specification language for C programs. The ADLT tool can be used to automate testing using an ADL specification. They like to make unfounded claims about it being the first every practical specification language.
Software Verification mailing list
Formal Methods Page

Static Checking Tools

Some commercial tools have been developed that focus on static checking, some can be used to check for conformance to various standards.
  • Abraxas's CodeCheck
  • CenterLine's C++Expert Does both compile-time and run-time checking. It incorporates checks based on Scott Meyer's "Effective C++" books.
  • Gimpel's PC-Lint
  • Knowledge Software's Open Systems Protability Checker
  • McCabe & Associates offer a suite of tools and methodology that will assist software developers with software quality assurance, software testing, software reengineering and Year 2000 efforts.
  • Parasoft's Code Wizard is a source code analysis tool for C++, also based on Scott Meyer's books.
  • Intrinsa's Software Component Simulation uses simulation to detect software defects.
  • Programming Research offers QA/C, a static checking tool including code metrics. The web site includes a list of notorious software bugs.
  • Dynamic Checking Tools

    LCLint hopes to extend the scope of what is checked statically, but there are many types of errors that are still only detectable at run-time. Several commercial and research tools focus on detecting dynamic memory errors are run-time.
  • CenterLine's C++Expert also does run-time memory checking. Scott Meyer's "Effective C++" books.
  • Great Circle is a glorified garbage collector.
  • Numega's Bounds Checker
  • Parasoft's Insure++
  • Pure Software's Purify
  • Some other tools are listed at Ben Zorn's Debugging Tools for Dynamic Storage Allocation page
  • Validation Services

    The National Physical Laboratory of the United Kingdom offers a ISO C validation service using a Model Implementation C Checker. It uses both static and dynamic checking.

    Reverse Links

    Links to some publications and web pages that reference LCLint.

    Books

    David Hanson's book C Interfaces and Implementations advocates a design methodology based on interfaces and implementations very similar to that supported by LCLint.
    However, if more C programmers read, understood, and imitated this book, the world would be a better and safer place. --- From Richard O'Keefe's review

    FAQs

    C Frequently Asked Questions (also published as a book by Addison-Wesley in 1995) Note the LCLint information is out-of-date, but the C FAQ is no longer being updated.

    LCLint is also mentioned in its evil twin, the comp.lang.c Infrequently Asked Questions file (unfortunately, the entry for LCLint hasn't been true since before Version 2.0, but I'm counting on them to come up with a more suitable entry in the next edition.)

    Linux Frequently Asked Questions

    Linux GCC FAQ

    Catalog of Free Compilers and Interpreters

    Magazine Articles

    The German Linux magazine, Ix, includes LCLint in an article, Lint als C-Syntax-Prufer in the July 96 issue.

    Courses

    These courses either use (or used) LCLint in a programming lab, or include LCLint technical papers. If you know of any other courses that should be listed here, please let me know.

    Second Year programming lab at the Imperial College of Science, Technology and Medicine, University of London.

    Steve Linton's lectures on Larch at University of St. Andrews, Scotland.

    Daniel Jackson's Tractable Representations for Software Development course at Carnegie Mellon.

    University of Cincinatti

    l2D5333 Programverifiering, kursuppläggning at the Royal Institute of Technology, Stockholm.

    Programmeringsmetodik at Uppsala University in Sweden.

    Databehandlingslaboratorium at the University of Oslo.

    Richard O'Keefe's Systems Programming 1 course at RMIT University in Melbourne, Australia.

    Web Sites

    Lysator Programming in C (under Other Sources)

    Association of C and C++ Users

    Free On-Line Dictionary of Computing

    US Department of Agriculture, Information Technology Center

    R. Nassif's Programming Page

    Modern Web Programming

    Sterling Software Archives in programming tools

    Ecole Nationale Supirieure de Techniques Avancies, in Unix Programming

    Internet Goodies in unix programming

    If you maintain a site which you think belongs here, let me know.


    David Evans
    Software Devices and Systems
    evs@sds.lcs.mit.edu