Logevents v111003 analysis/pr-app-FDP123 s_keywords-all.html C:\IndigoPerl\bin\perl.exe 5.006

Description This is a legacy report. IAT started with just this report. Use this report to look for keywords that point to potential problems in the software. Some of the more important keywords are TBD and stub. In future releases of software try not to use TBD for items such as future. If you are web enabled, try re-running the report with other keywords. New potential issues may be surfaced.
AnalysisComment
KeywordsThis analysis shows the user selected keywords that were extracted from the original source code. There are also predefined keywords that are seperately reported by the tool in the Problems and Details analysis.
ProblemsThis analysis summarizes all the problems detected by the automated software analysis.
DetailsThis analysis shows the details from the original source code that are extracted from the search requests and internal error, warning, and caution settings. It also includes software metrics on a module basis.

Other Analysis Reports . Original Source Code . Instrumented Source Code . Help

12/08/2003 15:50:40


Keyword Stats

Good General Practices

  • use new and delete instead of malloc and free
  • do not use ?:
  • if a func has no parameters, use () instead of (void)
  • do not use goto
  • avoid declaring member variable with 'mutable' keyword
  • avoid declaring local variables with 'register' keyword
  • avoid declaring local variables with 'static' keyword
  • avoid do statements - potential endless loops
  • look for unusual and pertinent keywords
  • consistency is nice but not mandated
  • provide if with else
  • Good Security Practices

  • the bad fixed keywords are shown elsewhere
  • terminate case with break;
  • for each switch, provide default:
  • default: with security critical data should transfer to SwError
  • if else sequences with security critical data terminate in SwError
  • s_ files with if else sequences in many cases terminate in SwError
  • terminate other as identified if else sequences with SwError
  • look for undefined error codes in SwError
  • look for multiple uses of the same error codes
  • malloc should not be used on security critical data
  • if malloc is used on security critical data crypto zeroize before free
  • Number Sort

    78LE SV 9Free 8halt 6buffer 5goto 4alloc
    4new 2malloc 2? 2TBS 2TBD

    Alpha Sort

    2? 9Free 78LE SV 2TBD 2TBS 4alloc
    6buffer 5goto 8halt 2malloc 4new

    Keywords Not Found

    debug
    delay return\; while\(\d+\). enable disable exception
    demo reuse pragma asap nnoonnee \bstub\b
    dedicated timeout global delete mutable friend
    explicit


    Possible Problems


    Analysis Summary


    Details Report

    1 1 Source: source/pr-app/pr-app-FDP123/fdp-01.c
    Note: OK Classification Marking
    Note: Good Header
    1-15 fdp.1.1
    1-175 default: { // missing error call } Attention: Missing SwError 1-222 dead_block = C * D; Attention: Dead Code 1-243 fdp.1.2
    1-297 dead_block = E * F; */ Attention: Dead Code 1-389 fdp.1.3
    1-454 fdp.1.4
    1-616 fdp.1.5
    1-683 dead_block = E * F; */ Attention: Dead Code 1-710 default: { // missing error call } Attention: Missing SwError 1-726 // TBS - I need to figure this out Attention: Possible problem Keyword TBS 1-726 . // TBS - I need to figure this out 1-760 case: case: Attention: Stacked case statements 1-761 // stacked case statements but only if there is a new line in between case: Attention: Stacked case statements 1-762 . // stacked case statements but only if there is a new line in between 1-764 case: case: Attention: Stacked case statements 1-765 case: case: Attention: Stacked case statements 1-771 default: { halt; } Attention: Missing SwError 1-773 halt; Attention: Classified text in wrong file name: halt
    1-773 . halt; 1-796 dead_block = C * D; Attention: Dead Code 1-814 fdp.1.6
    1-905 fdp.1.7
    1-946 . rcv_buffer = (U16 *) alloc(size+1); 1-1072 dead_block = E * F; */ Attention: Dead Code 1-1109if (veg) Warning: Missing curly brace looked as far as 1114 1-1136 fdp.1.8
    1-1148 // (P) this is really improtant Attention: Classified text in wrong file name: (P)
    1-1158 send_buffer = (U16 *) malloc(size+1); Attention: Storage malloc(size+1); 1-1158 . send_buffer = (U16 *) malloc(size+1); 1-1167 { case one: { run_this; break; } case two: { run_this; break; } // missing default } A = B/C; A = B*C; A = B-C; A = B-C; A = B/C; A = B+C; A = B*C; A = B+C; // max LOC 12 } /* ----------------------------------------------------------------------------- --| NAME: fdp.1.9 Attention: Missing default 1-1197 fdp.1.9
    1-1241 dead_block = C * D; Attention: Dead Code 1-1296 dead_block = C * D; Attention: Dead Code 1-1322 dead_block = C * D; Attention: Dead Code 1-1357 Warning: goto Statement goto error; 1-1357 . goto error; 1-1452 fdp.1.10
    1-1470 { case one: { run_this; break; } case two: { run_this; break; } // missing default } A = B-C; A = B*C; A = B+C; A = 0x0009; if (A ge B) { A = B + C; D = E + F; } A = B/C; A = B+C; A = B+C; if (A <= B) { A = B + C; D = E + F; } A = B/C; if (A le B) { A = B + C; D = E + F; } A = B+C; if (A >= B) { A = B + C; D = E + F; } if ($fdp stuff > $otherfdp stuff) /* LE SV TOC-008 we really should log all error calls */ { A = B + C; } A = B/C; A = B/C; // max LOC 19 } /* ----------------------------------------------------------------------------- --| NAME: fdp.1.11 Attention: Missing default 1-1524 { FATAL Compile Error: Missing curly brace LE breaks path 1-1538 fdp.1.11
    1-1667 { case one: { switch (nested) Attention: Missing default 1-1669 { { switch (nested) Attention: Nested switch 1-1673 X = Y + Z; X = Y + Z; case: Attention: Missing break in case 1-1774 fdp.1.12
    1-1857 { case one: { run_this; break; } case two: { run_this; break; } // missing default } if (A <= B) { A = B + C; D = E + F; } A = B-C; if (A ne B) { A = B + C; D = E + F; } if (A eq B) { A = B + C; D = E + F; } if (A gt B) { A = B + C; D = E + F; } A = B*C; if (A lt B) { A = B + C; D = E + F; } switch (fdp stuff) Attention: Missing default 1-1922 default: { // missing error call } Attention: Missing SwError 1-1990 // ??? go see ws Attention: Possible problem Keyword ?? 1-1990 . // ??? go see ws 1-2058 fdp.1.13
    1-2100 halt; Attention: Classified text in wrong file name: halt
    1-2100 . halt; 1-2110 dead_code = D + E; Attention: Dead Code 1-2125 case: case: Attention: Stacked case statements 1-2126 // stacked case statements but only if there is a new line in between case: Attention: Stacked case statements 1-2127 . // stacked case statements but only if there is a new line in between 1-2129 case: case: Attention: Stacked case statements 1-2130 case: case: Attention: Stacked case statements 1-2136 default: { halt; } Attention: Missing SwError 1-2138 halt; Attention: Classified text in wrong file name: halt
    1-2138 . halt; 1-2204 halt; Attention: Classified text in wrong file name: halt
    1-2204 . halt; 1-2249 default: { // missing error call } Attention: Missing SwError 1-2269 default: { // missing error call } Attention: Missing SwError 1-2321 halt; Attention: Classified text in wrong file name: halt
    1-2321 . halt; 1-2354 fdp.1.14
    1-2403 free(FreePtr); Attention: Storage FreePtr); 1-2403 . free(FreePtr); Warning: Functions Exceed 14
    Error: File with 1035 LOC 1 1 Result: result/source/pr-app/pr-app-FDP123/fdp-01.c


    2 2 Source: source/pr-app/pr-app-FDP123/fdp-01.h Note: OK Classification Marking
    Note: Good Header
    2 2 Result: result/source/pr-app/pr-app-FDP123/fdp-01.h


    3 3 Source: source/pr-app/pr-app-FDP123/fdp-02.c Note: OK Classification Marking
    Note: Good Header
    2-15 fdp.2.1
    2-44if (veg) Warning: Missing curly brace looked as far as 49 2-55 // TBD - what do I do now Attention: Possible problem Keyword TBD 2-55 . // TBD - what do I do now 2-115 dead_block = C * D; Attention: Dead Code 2-128 dead_code = D + E; Attention: Dead Code 2-135 dead_block = C * D; Attention: Dead Code 2-156 fdp.2.2
    2-202 FreePtr = HmiStringPtr; Attention: Storage FreePtr = HmiStringPtr; 2-202 . FreePtr = HmiStringPtr; 2-246 // TBS - I need to figure this out Attention: Possible problem Keyword TBS 2-246 . // TBS - I need to figure this out 2-302 fdp.2.3
    2-364 /* dead_code = A * B; */ Attention: Dead Code 2-443 fdp.2.4
    2-539 { FATAL Compile Error: Missing curly brace LE breaks path 2-558 fdp.2.5
    2-570 . rcv_buffer = (U16 *) alloc(size+1); 2-687 dead_code = D + E; Attention: Dead Code 2-707 /* dead_code = A * B; */ Attention: Dead Code 2-733 #ifdef LAZY Attention: Conditional Compile ifdef 2-737 #endif Attention: Conditional Compile #endif 2-757 free(FreePtr); Attention: Storage FreePtr); 2-757 . free(FreePtr); 2-795 fdp.2.6
    2-816 FreePtr = HmiStringPtr; Attention: Storage FreePtr = HmiStringPtr; 2-816 . FreePtr = HmiStringPtr; 2-848 dead_block = E * F; */ Attention: Dead Code 2-860 #ifdef LAZY Attention: Conditional Compile ifdef 2-864 #endif Attention: Conditional Compile #endif 2-888 fdp.2.7
    2-965 Warning: goto Statement goto error; 2-965 . goto error; 2-1066 // (P) this is really improtant Attention: Classified text in wrong file name: (P)
    2-1085 send_buffer = (U16 *) malloc(size+1); Attention: Storage malloc(size+1); 2-1085 . send_buffer = (U16 *) malloc(size+1); 2-1149 fdp.2.8
    2-1182 // (P) this is really improtant Attention: Classified text in wrong file name: (P)
    2-1285 dead_code = B - C; Attention: Dead Code 2-1390 // TBD - what do I do now Attention: Possible problem Keyword TBD 2-1390 . // TBD - what do I do now 2-1425 fdp.2.9
    2-1487 fdp.2.10
    2-1632 FreePtr = HmiStringPtr; Attention: Storage FreePtr = HmiStringPtr; 2-1632 . FreePtr = HmiStringPtr; 2-1641 FreePtr = HmiStringPtr; Attention: Storage FreePtr = HmiStringPtr; 2-1641 . FreePtr = HmiStringPtr; Warning: Functions Exceed 10
    Error: File with 754 LOC 3 3 Result: result/source/pr-app/pr-app-FDP123/fdp-02.c


    4 4 Source: source/pr-app/pr-app-FDP123/fdp-02.h Note: OK Classification Marking
    Note: Good Header
    4 4 Result: result/source/pr-app/pr-app-FDP123/fdp-02.h


    5 5 Source: source/pr-app/pr-app-FDP123/fdp-03.c Note: OK Classification Marking
    Note: Good Header
    3-15 fdp.3.1
    3-38 . rcv_buffer = (U16 *) alloc(size+1); 3-76 fdp.3.2
    3-122 A = (float)B + C; Attention: Recasting (float) 3-223 A = (long)B + C; Attention: Recasting (long) 3-243 fdp.3.3
    3-433 dead_block = C * D; Attention: Dead Code 5 5 Result: result/source/pr-app/pr-app-FDP123/fdp-03.c


    6 6 Source: source/pr-app/pr-app-FDP123/fdp-03.h Note: OK Classification Marking
    Note: Good Header
    6 6 Result: result/source/pr-app/pr-app-FDP123/fdp-03.h


    7 7 Source: source/pr-app/pr-app-FDP123/fdp-04.c Note: OK Classification Marking
    Note: Good Header
    4-15 fdp.4.1
    4-88 A = (long)B + C; Attention: Recasting (long) 4-144 // missing break { run_this; // missing break } Attention: Missing break in case 4-169 { case one: { run_this; break; } case two: { run_this; break; } // missing default } A = B-C; A = B+C; if (A > B) { A = B + C; D = E + F; } A = B/C; A = B+C; A = B-C; A = B*C; A = B*C; A = B/C; /* dead_code = B - C; dead_code = D - E; dead_code = F - G; */ A = B/C; if (A gt B) { A = B + C; D = E + F; } A = B*C; A = B+C; A = B-C; A = B-C; A = B*C; if (A != B) { A = B + C; D = E + F; } A = B+C; if (A != B) { A = B + C; D = E + F; } A = B*C; A = B+C; if (A >= B) { A = B + C; D = E + F; } A = B+C; A = B+C; A = B/C; /* dead_code = B + C; dead_code = D + E; dead_code = F + G; */ A = B+C; A = B/C; A = B/C; A = B-C; A = B/C; A = B*C; // max LOC 67 } Attention: Missing default 4-201 dead_code = B - C; Attention: Dead Code 4-248 dead_code = D + E; Attention: Dead Code 7 7 Result: result/source/pr-app/pr-app-FDP123/fdp-04.c


    8 8 Source: source/pr-app/pr-app-FDP123/fdp-04.h Note: OK Classification Marking
    Note: Good Header
    8 8 Result: result/source/pr-app/pr-app-FDP123/fdp-04.h


    9 9 Source: source/pr-app/pr-app-FDP123/p_fdp-06.c

    Attention: Header Classification Marking Wrong
    Note: Good Header
    5-15 fdp.6.1
    5-144 fdp.6.2
    5-187 fdp.6.3
    5-279 { case one: { run_this; break; } case two: { run_this; break; } // missing default } A = B/C; A = B-C; if (A lt B) { A = B + C; D = E + F; } A = B/C; A = B-C; if (A >= B) { A = B + C; D = E + F; } A = B*C; if (A ne B) { A = B + C; D = E + F; } A = B/C; A = B+C; A = B/C; A = B+C; A = B*C; /* LE SV TOC-1460 this is a p_fdp-06.3.36 req to translate*/ A = B*C; /* LE SV TOC-1461 this is a p_fdp-06.3.37 req to reject*/ A = B/C; A = B*C; A = B/C; A = B*C; A = B-C; A = B*C; A = B-C; A = B+C; A = B-C; switch (fdp stuff) Attention: Missing default 5-381if (veg) Warning: Missing curly brace looked as far as 389 5-402 fdp.6.4
    5-435 { case one: { switch (nested) Attention: Missing default 5-437 { { switch (nested) Attention: Nested switch 5-441 X = Y + Z; X = Y + Z; case: Attention: Missing break in case 5-473 case: case: Attention: Stacked case statements 5-474 // stacked case statements but only if there is a new line in between case: Attention: Stacked case statements 5-475 . // stacked case statements but only if there is a new line in between 5-477 case: case: Attention: Stacked case statements 5-478 case: case: Attention: Stacked case statements 5-484 default: { halt; } Attention: Missing SwError 5-486 halt; Attention: Classified text in wrong file name: halt
    5-486 . halt; 5-503 { case one: { switch (nested) Attention: Missing default 5-505 { { switch (nested) Attention: Nested switch 5-509 X = Y + Z; X = Y + Z; case: Attention: Missing break in case 5-588 fdp.6.5
    5-621 free(FreePtr); Attention: Storage FreePtr); 5-621 . free(FreePtr); 5-625if (veg) Warning: Missing curly brace looked as far as 632 5-637 fdp.6.6
    5-703 halt; Attention: Classified text in wrong file name: halt
    5-703 . halt; 5-739 case: case: Attention: Stacked case statements 5-740 // stacked case statements but only if there is a new line in between case: Attention: Stacked case statements 5-741 . // stacked case statements but only if there is a new line in between 5-743 case: case: Attention: Stacked case statements 5-744 case: case: Attention: Stacked case statements 5-750 default: { halt; } Attention: Missing SwError 5-752 halt; Attention: Classified text in wrong file name: halt
    5-752 . halt; 5-764 free(FreePtr); Attention: Storage FreePtr); 5-764 . free(FreePtr); 5-767 Warning: goto Statement goto error; 5-767 . goto error; 5-781 /* LE SV TOC-1470 this is a p_fdp-06.6.43 req to halt*/ Attention: Classified text in wrong file name: halt
    5-846 fdp.6.7
    5-888 fdp.6.8
    5-963 Warning: goto Statement goto error; 5-963 . goto error; 5-976 dead_block = C * D; Attention: Dead Code 5-1219 fdp.6.9
    5-1333 // ??? go see ws Attention: Possible problem Keyword ?? 5-1333 . // ??? go see ws 5-1383 A = (int)B + C; Attention: Recasting (int) 5-1411 fdp.6.10
    5-1442 dead_block = C * D; Attention: Dead Code 5-1494 FreePtr = HmiStringPtr; Attention: Storage FreePtr = HmiStringPtr; 5-1494 . FreePtr = HmiStringPtr; 5-1539 { case one: { switch (nested) Attention: Missing default 5-1541 { { switch (nested) Attention: Nested switch 5-1545 X = Y + Z; X = Y + Z; case: Attention: Missing break in case 5-1585 fdp.6.11
    5-1658 { case one: { run_this; break; } case two: { run_this; break; } // missing default } if (A != B) { A = B + C; D = E + F; } A = B*C; if (A >= B) { A = B + C; D = E + F; } if (A < B) { A = B + C; D = E + F; } if (A ge B) { A = B + C; D = E + F; } A = B+C; A = B/C; A = B*C; A = B+C; A = B+C; switch (fdp stuff) Attention: Missing default 5-1810 . rcv_buffer = (U16 *) alloc(size+1); 5-1840 Warning: do Loop do forever; 5-1855 fdp.6.12
    5-1972 dead_code = D + E; Attention: Dead Code 5-2016 dead_code = D + E; Attention: Dead Code 5-2078 { case one: { switch (nested) Attention: Missing default 5-2080 { { switch (nested) Attention: Nested switch 5-2084 X = Y + Z; X = Y + Z; case: Attention: Missing break in case 5-2104 Warning: goto Statement goto error; 5-2104 . goto error; Warning: Functions Exceed 12
    Error: File with 941 LOC 9 9 Result: result/source/pr-app/pr-app-FDP123/p_fdp-06.c


    10 10 Source: source/pr-app/pr-app-FDP123/p_fdp-06.h

    Attention: Header Classification Marking Wrong
    Note: Good Header
    10 10 Result: result/source/pr-app/pr-app-FDP123/p_fdp-06.h



    Settings

    Description 6

    Master Directories
    Project Instrumentation Test
    Source Result Analysis
    Metrics

    Report Markings
    Report Marking
    Highest Code Classification
    Lowest Code Classification
    Classified Keywords

    Headers
    C Header
    H Header
    asm Header

    File Controls
    Assembly Extensions
    Access Files
    Ignore Files
    Paths
    File Path
    Src Paths (websever /~iat no websever ../../)
    URL (websever /~iat no websever ../../ dos is blank)

    Source Dir Path
    Result Dir Path
    Analysis Dir Path(no websever setting ../ft-red-B1B2D6_Ry)
    Analysis Report Name
    Files
    toc file bfw file hmi file
    toc html bfw html

    General Settings
    CPCs
    1 2 3 4 5 6 7 Colors

    Log Event Patterns
    SV Events case Insensitive
    Filter SV Events case Insensitive (e.g. traffic)
    Filter Files case Insensitive
    DB Events case Sensitive
    HMI Events case Sensitive
    LOC Events case Sensitive
    Filter LOC Events (e.g. traffic)

    Table Driven Functions used by uncalled functions detector


    Fixed Keywords case insensitive
    C
    H
    Assembly

    Keywords case insensitive
    find 1
    find 2
    find 3
    find 4
    find 5

    ignore lines

    Keyword Window

    Hamming Patterns


    Log Events
    SV Start DB Start HMI Start LOC Start
    Instrument Source LE Summary Auto Trace Fix LE English

    Show in Details Report
    Abstract SV REQUIRED Full Header All SourceCode Only SVCV src
    Comments CV REQUIRED Rquirements Functions Show Only Affected Files Analyze Only LE SV

    Reports
    Control Menu Keywords Stats Metrics Ham Values Details Problem Summaries Problem Descriptions Compare

    Reports - Automatic Detectors Default Problems Locked Files Date (e.g. 01/05/2003)
    Fatal Printf C Headers H Headers ASM Headers
    Class SV Marking CV Marking Keywords Code Keywords Prologues
    No Curly Braces ifdef Switch Default's Default Error Case Break
    Nested Switches Stacked Cases Calling Rules No Error Exit ?: operator
    Func/File LOC/File Line Length < 5 LOC/Func > 100 LOC/Func
    Uncalled Func's Dead Code Fuzzy Log Events ++/-- in if, else, while do Loops
    malloc free Re-Casting goto No Func Header

    Regression noise reduction for Automatic Detectors - must run regression.pl first
    new files
    mod files

    Metrics Baseline Accessed
    Metrics Saved (enable stats)

    Hide Controls Show Checked Summary Checked Details Not Checked All

    done
    12/08/2003 15:50:40 start
    12/08/2003 15:50:49 end