The Abraxas CodeCheck rule files included are:

These Rule Files can be down-loaded for free from -

codchk rules for Windows  or UNIX

  • Example rules checking porting to 64-bit platform. Check for compatibility with the ANSI C standard. Check for consistent use of braces in high-level statements. Check for use of BSD 4.3 features that are not POSIX. Rules developed from the recommendations presented in Tom Cargill's book "C++ Programming Style". It mainly illustrates the future direction of CodeCheck rules. Example rule checking if keyword "class" starts a line. Measures of program complexity (McCabe, etc). Detects potentially dangerous implicit type conversions. Checking the presence, order and format of commentary block of a module( source file ). Lists and describes all classes in each module. Example rules for C++ style checking. Rules Developed following Credintrans Specific C Programming Standard. Rule calculates the cyclomatic complexity with case. In directory data_complexity, used combined with program (dcomp.c) to calculate the data complexity. Rule calculates the cyclomatic complexity without case. Example rules that use the declarator variables. Example rule checking if only one declarator per line. Example rules on declaration checking. Interpret global declarations in ordinary "English". In directory dupdec_check, combined with program (dupdec.c) to detect duplicated definition of functions project-wide duplicated declaration of functions module-wide. Example rules for practical C++ style checking. Example rule checking if there is an empty default case in switch statement. Check for errors that compilers may not find. Generate a list of functions called by each function. Rules check that a macro function named FCN_DEBUG has been found at every entry and exit point of every function. Rule show a way how to check a list of functions have been called, which is set in a file in advance. Example rules that illustrate forward chaining. Check for portability from HP/Apollo C. Check for portability from VAX C. Check for general portability. Example rule illustrating launching other program in rule and expand include path list dynamically. See subdirectory exec. Examples rules created according to some users' inquiries. Measures of program size developed by Halstead. Check for proper indentation. Check for the type of the iterator variable of a for loop. Example rules that use the lexical variables. Check for if-conditions that are too complex. Rule checking if a macro defined in a function body. Check for general maintainability. Rules to implement items listed in Effective C++ and More Effective C++ ( Scott Meyers ). Rule calculates the modified cyclomatic complexity. Example rules for measuring iteration nesting. Example rule checking if any magic number is used. Computes several object-oriented metrics. Rule checking if a open brace of a compound statement has its own line. Check for standard ordering of file elements. Rules implement a great many of the C programming guidelines published by Thomas Plum. Rules for some portability checking. Check for violations of the POSIX namespaces. Expanded rule set based on POSIX. Example rules that use the preprocessor variables. Example rules for checking declarator prefixes. Example rules for compliance with standards. Measures of program size based on lines & statements. Example rule checking the use of sizeof. Example rule disable rules on certain header files. Example rule checking if a line contains more than one statements. This rule is improved version of Example rule checking possible out of boundary problem in calling function strcpy(). Check for compliance with Comeau's C style standards. Check for use of SVID features that are not POSIX. Check for portability to the Intel iC-386 V4.2 compiler. Check for portability to the 1978 K&R C standard. Check for portability to Macintosh MPW C version 3.2. Check for portability to Sun C++ version 2.1. Check for portability to VAX C. Check for if a file is used after closed. Miscellaneous example rules. Example rule telling caller's name and line number when function is called. Detect headers and #includes that are not "wrapped". Yet another rule for checking header file wrapper. Checks for compatibility with Corp. XYZ's C++ standards.