Logevents v111003 analysis/pr-app-RDP123 s_codegen.html C:\IndigoPerl\bin\perl.exe 5.006

Logevents is a web based analysis tool used to analyze source code for SV CV attributes, insert log events, save the newly modified source, and perform a DIFF between the orginal source and the resulting source code. The classification markings appear in the web page title, top, bottom, and after each access of an s_ file.

Description Running this report will instrument the source code with log events. Examine the keywords and verify that the number of LE SV items is as expected. Scroll or select the link into the details area and look for potential problems. Continue to examine the translate file. Finally examine the DIFF report and verify that the software includes only introduction of executable log event code and modifications of the original log event comments. Even though there is a DIFF, select several source and result files in the details and DIFF areas to verify that the code modifications occurred as exepected. Verify that the categories of hyper links work by click on each type (source, result, TOC, xx-xxx). The datareduction report and source code reports must be in place for the TOC and xx-xxx links to work. There is a companion report le-summary which is the same as this report except that files not instrumented are not shown. It reduces the noise.
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.
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.
TranslateThis analysis shows the translate.dat file that was created by this instrumentation activity that will used by data reduction.
CompareThis analysis shows a DIFF between the original source code and the new instrumented code.

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

12/08/2003 16:13:52


Settings

Description 13

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


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

    39LE SV

    Alpha Sort

    39LE SV

    Keywords Not Found

    nnoonnee nnoonnee nnoonnee nnoonnee nnoonnee


    Details Report

    1 1 Source: source/pr-app/pr-app-RDP123/rdp-01.c
     1-15 rdp.1.1
    1-69 /* LE SV TOC-2601 this is a rdp-01.1.5 req to disable*/ 1-92 rdp.1.2
    1-106 /* LE SV TOC-2602 this is a rdp-01.2.3 req to recover*/ 1-137 /* LE SV TOC-2603 this is a rdp-01.2.9 req to enable*/ 1-137 A = (int)B + C; FATAL Compile Error: LE breaks int path 1-140 /* LE SV TOC-2604 this is a rdp-01.2.10 req to record*/ 1-263 /* LE SV TOC-2605 this is a rdp-01.2.41 req to process*/ 1-274 /* LE SV TOC-2606 this is a rdp-01.2.45 req to record*/ 1-318 /* LE SV TOC-2607 this is a rdp-01.2.54 req to disable*/ 1-388 rdp.1.3
    1-407 /* LE SV TOC-2608 this is a rdp-01.3.2 req to check pSOS*/ 1-451 /* LE SV TOC-2609 this is a rdp-01.3.14 req to verify*/ 1-453 /* LE SV TOC-2610 this is a rdp-01.3.15 req to increment*/ 1-518 /* LE SV TOC-2611 this is a rdp-01.3.25 req to reject*/ 1-593 /* LE SV TOC-2612 this is a rdp-01.3.39 req to reject*/ 1-690 /* LE SV TOC-2613 this is a rdp-01.3.61 req to set RTC*/ 1-765 /* LE SV TOC-2614 this is a rdp-01.3.81 req to translate*/ 1-813 /* LE SV TOC-2615 this is a rdp-01.3.98 req to convert*/ 1-822 rdp.1.4
    1-882 /* LE SV TOC-2616 this is a rdp-01.4.16 req to detect error*/ 1-936 rdp.1.5
    1-955 /* LE SV TOC-2617 this is a rdp-01.5.2 req to assign*/ 1-957 /* LE SV TOC-2618 this is a rdp-01.5.3 req to process*/ 1-982 /* LE SV TOC-2619 this is a rdp-01.5.15 req to store*/ 1-991 rdp.1.6
    1 1 Result: result/source/pr-app/pr-app-RDP123/rdp-01.c


    2 2 Source: source/pr-app/pr-app-RDP123/rdp-01.h 2 2 Result: result/source/pr-app/pr-app-RDP123/rdp-01.h


    3 3 Source: source/pr-app/pr-app-RDP123/rdp-02.c 2-15 rdp.2.1
    2-69 /* LE SV TOC-2620 this is a rdp-02.1.13 req to check pSOS*/ 2-80 /* LE SV TOC-2621 this is a rdp-02.1.17 req to reject*/ 2-88 /* LE SV TOC-2622 this is a rdp-02.1.18 req to check unix*/ 2-95 /* LE SV TOC-2623 this is a rdp-02.1.23 req to update*/ 2-147 /* LE SV TOC-2624 this is a rdp-02.1.41 req to compare*/ 2-194 rdp.2.2
    2-244 /* LE SV TOC-2625 this is a rdp-02.2.14 req to process*/ 2-268 /* LE SV TOC-2626 this is a rdp-02.2.19 req to audit*/ 2-279 rdp.2.3
    2-329 rdp.2.4
    2-448 rdp.2.5
    2-468 /* LE SV TOC-2627 this is a rdp-02.5.3 req to set Real Time Clock*/ 2-500 /* LE SV TOC-2628 this is a rdp-02.5.15 req to translate*/ 2-583 /* LE SV TOC-2629 this is a rdp-02.5.31 req to inhibit*/ 2-600 /* LE SV TOC-2630 this is a rdp-02.5.35 req to call isr*/ 2-636 /* LE SV TOC-2631 this is a rdp-02.5.40 req to assign*/ 2-679 rdp.2.6
    2-846 /* LE SV TOC-2632 this is a rdp-02.6.31 req to convert*/ 2-906 /* LE SV TOC-2633 this is a rdp-02.6.48 req to compare*/ 2-930 rdp.2.7
    2-1059 /* LE SV TOC-2634 this is a rdp-02.7.51 req to convert*/ 2-1075 /* LE SV TOC-2635 this is a rdp-02.7.54 req to assign*/ 2-1087 /* LE SV TOC-2636 this is a rdp-02.7.59 req to disable*/ 2-1126 rdp.2.8
    2-1209 /* LE SV TOC-2637 this is a rdp-02.8.17 req to compare*/ 2-1269 /* LE SV TOC-2638 this is a rdp-02.8.32 req to disable*/ 2-1330 rdp.2.9
    2-1353 /* LE SV TOC-2639 this is a rdp-02.9.6 req to recover*/ 2-1366 rdp.2.10
    3 3 Result: result/source/pr-app/pr-app-RDP123/rdp-02.c


    4 4 Source: source/pr-app/pr-app-RDP123/rdp-02.h 4 4 Result: result/source/pr-app/pr-app-RDP123/rdp-02.h



    Resulting Translate Structure

    This is an include file that is stored with the resulting source. It is accessed by the data reduction software to translate the unique codes assigned by this application to the english text associated with the code. Since each pass through this code will assign new codes to the events, if there is a software change, this file needs to be under CM control in the same manner as the resulting test source. Note that the original source file name and C-function is attached to the logevent.

    C:/project-iat/inst --- analysis/pr-app-RDP123/translate.dat

    time, Translate File Created 12/08/2003 16:13:52
    1001, rdp-01.c rdp.1.1 LE SV TOC-2601 this is a rdp-01.1.5 req to disable
    1002, rdp-01.c rdp.1.2 LE SV TOC-2602 this is a rdp-01.2.3 req to recover
    1003, rdp-01.c rdp.1.2 LE SV TOC-2603 this is a rdp-01.2.9 req to enable
    1004, rdp-01.c rdp.1.2 LE SV TOC-2604 this is a rdp-01.2.10 req to record
    1005, rdp-01.c rdp.1.2 LE SV TOC-2605 this is a rdp-01.2.41 req to process
    1006, rdp-01.c rdp.1.2 LE SV TOC-2606 this is a rdp-01.2.45 req to record
    1007, rdp-01.c rdp.1.2 LE SV TOC-2607 this is a rdp-01.2.54 req to disable
    1008, rdp-01.c rdp.1.3 LE SV TOC-2608 this is a rdp-01.3.2 req to check pSOS
    1009, rdp-01.c rdp.1.3 LE SV TOC-2609 this is a rdp-01.3.14 req to verify
    1010, rdp-01.c rdp.1.3 LE SV TOC-2610 this is a rdp-01.3.15 req to increment
    1011, rdp-01.c rdp.1.3 LE SV TOC-2611 this is a rdp-01.3.25 req to reject
    1012, rdp-01.c rdp.1.3 LE SV TOC-2612 this is a rdp-01.3.39 req to reject
    1013, rdp-01.c rdp.1.3 LE SV TOC-2613 this is a rdp-01.3.61 req to set RTC
    1014, rdp-01.c rdp.1.3 LE SV TOC-2614 this is a rdp-01.3.81 req to translate
    1015, rdp-01.c rdp.1.3 LE SV TOC-2615 this is a rdp-01.3.98 req to convert
    1016, rdp-01.c rdp.1.4 LE SV TOC-2616 this is a rdp-01.4.16 req to detect error
    1017, rdp-01.c rdp.1.5 LE SV TOC-2617 this is a rdp-01.5.2 req to assign
    1018, rdp-01.c rdp.1.5 LE SV TOC-2618 this is a rdp-01.5.3 req to process
    1019, rdp-01.c rdp.1.5 LE SV TOC-2619 this is a rdp-01.5.15 req to store
    1020, rdp-02.c rdp.2.1 LE SV TOC-2620 this is a rdp-02.1.13 req to check pSOS
    1021, rdp-02.c rdp.2.1 LE SV TOC-2621 this is a rdp-02.1.17 req to reject
    1022, rdp-02.c rdp.2.1 LE SV TOC-2622 this is a rdp-02.1.18 req to check unix
    1023, rdp-02.c rdp.2.1 LE SV TOC-2623 this is a rdp-02.1.23 req to update
    1024, rdp-02.c rdp.2.1 LE SV TOC-2624 this is a rdp-02.1.41 req to compare
    1025, rdp-02.c rdp.2.2 LE SV TOC-2625 this is a rdp-02.2.14 req to process
    1026, rdp-02.c rdp.2.2 LE SV TOC-2626 this is a rdp-02.2.19 req to audit
    1027, rdp-02.c rdp.2.5 LE SV TOC-2627 this is a rdp-02.5.3 req to set Real Time Clock
    1028, rdp-02.c rdp.2.5 LE SV TOC-2628 this is a rdp-02.5.15 req to translate
    1029, rdp-02.c rdp.2.5 LE SV TOC-2629 this is a rdp-02.5.31 req to inhibit
    1030, rdp-02.c rdp.2.5 LE SV TOC-2630 this is a rdp-02.5.35 req to call isr
    1031, rdp-02.c rdp.2.5 LE SV TOC-2631 this is a rdp-02.5.40 req to assign
    1032, rdp-02.c rdp.2.6 LE SV TOC-2632 this is a rdp-02.6.31 req to convert
    1033, rdp-02.c rdp.2.6 LE SV TOC-2633 this is a rdp-02.6.48 req to compare
    1034, rdp-02.c rdp.2.7 LE SV TOC-2634 this is a rdp-02.7.51 req to convert
    1035, rdp-02.c rdp.2.7 LE SV TOC-2635 this is a rdp-02.7.54 req to assign
    1036, rdp-02.c rdp.2.7 LE SV TOC-2636 this is a rdp-02.7.59 req to disable
    1037, rdp-02.c rdp.2.8 LE SV TOC-2637 this is a rdp-02.8.17 req to compare
    1038, rdp-02.c rdp.2.8 LE SV TOC-2638 this is a rdp-02.8.32 req to disable
    1039, rdp-02.c rdp.2.9 LE SV TOC-2639 this is a rdp-02.9.6 req to recover
    9998, TOC-9998 Tool self test - missing toc text test
    


    Difference Report - DIFF

    This is a standard gnu DIFF report. Additions to the second file appear in green while deletions from the second file or additions to the first file appear in red. This DIFF report will traverse the entire directory tree structure. You must duplicate the tree structure of the source by copying the source into the result prior to executing this script.

    1 1 Source: source/pr-app/pr-app-RDP123/rdp-01.c
    1 1 Result: result/source/pr-app/pr-app-RDP123/rdp-01.c

    source/pr-app/pr-app-RDP123/rdp-01.c result/source/pr-app/pr-app-RDP123/rdp-01.c

    70a71
    > LogSvEvent((int)1001); /*12/08/2003 16:13:52*/
    107a109
    > LogSvEvent((int)1002); /*12/08/2003 16:13:52*/
    138a141
    > LogSvEvent((int)1003); /*12/08/2003 16:13:52*/
    141a145
    > LogSvEvent((int)1004); /*12/08/2003 16:13:52*/
    264a269
    > LogSvEvent((int)1005); /*12/08/2003 16:13:52*/
    275a281
    > LogSvEvent((int)1006); /*12/08/2003 16:13:52*/
    319a326
    > LogSvEvent((int)1007); /*12/08/2003 16:13:52*/
    408a416
    > LogSvEvent((int)1008); /*12/08/2003 16:13:52*/
    452a461
    > LogSvEvent((int)1009); /*12/08/2003 16:13:52*/
    454a464
    > LogSvEvent((int)1010); /*12/08/2003 16:13:52*/
    519a530
    > LogSvEvent((int)1011); /*12/08/2003 16:13:52*/
    594a606
    > LogSvEvent((int)1012); /*12/08/2003 16:13:52*/
    691a704
    > LogSvEvent((int)1013); /*12/08/2003 16:13:52*/
    766a780
    > LogSvEvent((int)1014); /*12/08/2003 16:13:52*/
    814a829
    > LogSvEvent((int)1015); /*12/08/2003 16:13:52*/
    883a899
    > LogSvEvent((int)1016); /*12/08/2003 16:13:52*/
    956a973
    > LogSvEvent((int)1017); /*12/08/2003 16:13:52*/
    958a976
    > LogSvEvent((int)1018); /*12/08/2003 16:13:52*/
    983a1002
    > LogSvEvent((int)1019); /*12/08/2003 16:13:52*/


    2 2 Source: source/pr-app/pr-app-RDP123/rdp-01.h
    2 2 Result: result/source/pr-app/pr-app-RDP123/rdp-01.h

    source/pr-app/pr-app-RDP123/rdp-01.h result/source/pr-app/pr-app-RDP123/rdp-01.h


    3 3 Source: source/pr-app/pr-app-RDP123/rdp-02.c
    3 3 Result: result/source/pr-app/pr-app-RDP123/rdp-02.c

    source/pr-app/pr-app-RDP123/rdp-02.c result/source/pr-app/pr-app-RDP123/rdp-02.c

    70a71
    > LogSvEvent((int)1020); /*12/08/2003 16:13:52*/
    81a83
    > LogSvEvent((int)1021); /*12/08/2003 16:13:52*/
    89a92
    > LogSvEvent((int)1022); /*12/08/2003 16:13:52*/
    96a100
    > LogSvEvent((int)1023); /*12/08/2003 16:13:52*/
    148a153
    > LogSvEvent((int)1024); /*12/08/2003 16:13:52*/
    245a251
    > LogSvEvent((int)1025); /*12/08/2003 16:13:52*/
    269a276
    > LogSvEvent((int)1026); /*12/08/2003 16:13:52*/
    469a477
    > LogSvEvent((int)1027); /*12/08/2003 16:13:52*/
    501a510
    > LogSvEvent((int)1028); /*12/08/2003 16:13:52*/
    584a594
    > LogSvEvent((int)1029); /*12/08/2003 16:13:52*/
    601a612
    > LogSvEvent((int)1030); /*12/08/2003 16:13:52*/
    637a649
    > LogSvEvent((int)1031); /*12/08/2003 16:13:52*/
    847a860
    > LogSvEvent((int)1032); /*12/08/2003 16:13:52*/
    907a921
    > LogSvEvent((int)1033); /*12/08/2003 16:13:52*/
    1060a1075
    > LogSvEvent((int)1034); /*12/08/2003 16:13:52*/
    1076a1092
    > LogSvEvent((int)1035); /*12/08/2003 16:13:52*/
    1088a1105
    > LogSvEvent((int)1036); /*12/08/2003 16:13:52*/
    1210a1228
    > LogSvEvent((int)1037); /*12/08/2003 16:13:52*/
    1270a1289
    > LogSvEvent((int)1038); /*12/08/2003 16:13:52*/
    1354a1374
    > LogSvEvent((int)1039); /*12/08/2003 16:13:52*/


    4 4 Source: source/pr-app/pr-app-RDP123/rdp-02.h
    4 4 Result: result/source/pr-app/pr-app-RDP123/rdp-02.h

    source/pr-app/pr-app-RDP123/rdp-02.h result/source/pr-app/pr-app-RDP123/rdp-02.h


    done
    12/08/2003 16:13:52 start
    12/08/2003 16:13:54 end