![]() ![]() |
![]() ![]() ![]() | |||||
Description:
LCLint is a tool for statically checking C programs. With minimal effort, LCLint can be used as a better lint. If additional effort is invested adding annotations to programs, LCLint can perform stronger checks than can be done by any standard lint. LCLint does many of the traditional lint checks including unused declarations, type inconsistencies, use-before-definition, ignored return values, execution paths with no return, likely infinite loops, and fall-through cases. Our main focus, however, is on more powerful checks that are made possible by additional information given in source code annotations. Annotations are stylized comments that document certain assumptions about functions, variables, parameters, and types. They may be used to indicate where the representation of a user-defined type is hidden, to limit where a global variable may be used or modified, to constrain what a function implementation may do to its parameters, and to express checked assumptions about variables, types, structure fields, function parameters, and function results. In addition to the checks specifically enabled by annotations, many of the traditional lint checks are improved by exploiting this additional information. LCLint Documentation and source code: http://www.sds.lcs.mit.edu/lclint/ If you have any questions about the information provided for a specific application, please e-mail the author. If you have any questions about the BeWare pages themselves, though, feel free to e-mail webmaster@be.com. | ||||||
Copyright © 1999 by Be, Inc. All rights reserved. Legal information (includes icon usage info). Comments, questions, or confessions about our site? Please write the Webmaster. |