Logevents v111003 analysis/pr-app-MSAW123 s_le-summary.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 This is the companion report to codegen which is the same as this report except that files not instrumented are not shown. It reduces the noise. Also le-sumamry does not perform the actual instrumentation. 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.
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.
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:09:07


Settings

Description 14

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

    58LE SV

    Alpha Sort

    58LE SV

    Keywords Not Found

    nnoonnee nnoonnee nnoonnee nnoonnee


    Details Report

    1 1 Source: source/pr-app/pr-app-MSAW123/msaw-01.c
     1-15 msaw.1.1
    1-160 /* LE SV TOC-2201 this is a msaw-01.1.29 req to increment*/ 1 1 Result: result/source/pr-app/pr-app-MSAW123/msaw-01.c


    2 3 Source: source/pr-app/pr-app-MSAW123/msaw-02.c 2-13 msaw.2.1
    2-53 /* LE SV TOC-2202 this is a msaw-02.1.5 req to recover*/ 2-58 /* LE SV TOC-2203 this is a msaw-02.1.9 req to process*/ 2-80 /* LE SV TOC-2204 this is a msaw-02.1.12 req to compare*/ 2-111 /* LE SV TOC-2205 this is a msaw-02.1.17 req to transform*/ 2-141 /* LE SV TOC-2206 this is a msaw-02.1.22 req to recover*/ 2-182 /* LE SV TOC-2207 this is a msaw-02.1.37 req to check unix*/ 2-342 /* LE SV TOC-2208 this is a msaw-02.1.77 req to translate*/ 2-390 msaw.2.2
    2-486 /* LE SV TOC-2209 this is a msaw-02.2.24 req to convert*/ 2 3 Result: result/source/pr-app/pr-app-MSAW123/msaw-02.c


    3 5 Source: source/pr-app/pr-app-MSAW123/msaw-03.c 3-15 msaw.3.1
    3-144 /* LE SV TOC-2210 this is a msaw-03.1.27 req to verify*/ 3-246 /* LE SV TOC-2211 this is a msaw-03.1.60 req to compare*/ 3-329 /* LE SV TOC-2212 this is a msaw-03.1.76 req to call isr*/ 3-382 msaw.3.2
    3-409 /* LE SV TOC-2213 this is a msaw-03.2.10 req to convert*/ 3-543 /* LE SV TOC-2214 this is a msaw-03.2.48 req to store*/ 3-552 /* LE SV TOC-2215 this is a msaw-03.2.50 req to fail*/ 3-647 msaw.3.3
    3-776 /* LE SV TOC-2216 this is a msaw-03.3.38 req to call admin*/ 3-898 msaw.3.4
    3-920 /* LE SV TOC-2217 this is a msaw-03.4.5 req to update*/ 3-982 /* LE SV TOC-2218 this is a msaw-03.4.36 req to set RTC*/ 3-1024 msaw.3.5
    3-1039 /* LE SV TOC-2219 this is a msaw-03.5.4 req to store*/ 3-1116 msaw.3.6
    3-1285 /* LE SV TOC-008 we really should log all error calls */ 3-1285 { FATAL Compile Error: Missing curly brace LE breaks path 3-1300 /* LE SV TOC-2220 this is a msaw-03.6.48 req to assign*/ 3-1322 /* LE SV TOC-2221 this is a msaw-03.6.51 req to detect error*/ 3-1330 /* LE SV TOC-2222 this is a msaw-03.6.52 req to call admin*/ 3-1362 msaw.3.7
    3-1400 /* LE SV TOC-2223 this is a msaw-03.7.9 req to audit*/ 3-1407 /* LE SV TOC-2224 this is a msaw-03.7.15 req to reject*/ 3-1527 /* LE SV TOC-2225 this is a msaw-03.7.43 req to record*/ 3-1654 /* LE SV TOC-2226 this is a msaw-03.7.66 req to translate*/ 3-1706 msaw.3.8
    3-1734 /* LE SV TOC-2227 this is a msaw-03.8.5 req to reject*/ 3-1809 /* LE SV TOC-2228 this is a msaw-03.8.24 req to halt*/ 3-1838 /* LE SV TOC-2229 this is a msaw-03.8.28 req to assign*/ 3-1849 msaw.3.9
    3-1913 msaw.3.10
    3-1953 /* LE SV TOC-2230 this is a msaw-03.10.11 req to validate*/ 3-2033 msaw.3.11
    3-2144 /* LE SV TOC-2231 this is a msaw-03.11.27 req to check unix*/ 3-2152 /* LE SV TOC-2232 this is a msaw-03.11.28 req to increment*/ 3-2182 /* LE SV TOC-2233 this is a msaw-03.11.39 req to call isr*/ 3-2226 /* LE SV TOC-2234 this is a msaw-03.11.43 req to set RTC*/ 3-2247 msaw.3.12
    3-2307 /* LE SV TOC-2235 this is a msaw-03.12.12 req to halt*/ 3-2396 /* LE SV TOC-2236 this is a msaw-03.12.33 req to recover*/ 3 5 Result: result/source/pr-app/pr-app-MSAW123/msaw-03.c


    4 7 Source: source/pr-app/pr-app-MSAW123/msaw-04.c 4-15 msaw.4.1
    4-46 msaw.4.2
    4-58 /* LE SV TOC-2237 this is a msaw-04.2.1 req to call isr*/ 4-80 msaw.4.3
    4-138 /* LE SV TOC-2238 this is a msaw-04.3.25 req to assign*/ 4-185 /* LE SV TOC-2239 this is a msaw-04.3.34 req to transform*/ 4-220 /* LE SV TOC-2240 this is a msaw-04.3.43 req to halt*/ 4-280 msaw.4.4
    4-389 /* LE SV TOC-2241 this is a msaw-04.4.30 req to validate*/ 4-536 /* LE SV TOC-2242 this is a msaw-04.4.68 req to transform*/ 4-560 msaw.4.5
    4-713 msaw.4.6
    4-761 msaw.4.7
    4-804 /* LE SV TOC-2243 this is a msaw-04.7.8 req to check unix*/ 4-834 msaw.4.8
    4-854 /* LE SV TOC-2244 this is a msaw-04.8.3 req to set RTC*/ 4-911 /* LE SV TOC-2245 this is a msaw-04.8.16 req to verify*/ 4-932 msaw.4.9
    4-952 /* LE SV TOC-2246 this is a msaw-04.9.3 req to enable*/ 4-992 /* LE SV TOC-2247 this is a msaw-04.9.12 req to verify*/ 4-1003 msaw.4.10
    4-1030 /* LE SV TOC-2248 this is a msaw-04.10.5 req to transform*/ 4-1091 /* LE SV TOC-2249 this is a msaw-04.10.23 req to recover*/ 4-1091 A = (long)B + C; FATAL Compile Error: LE breaks long path 4-1109 /* LE SV TOC-2250 this is a msaw-04.10.27 req to audit*/ 4-1157 /* LE SV TOC-008 we really should log all error calls */ 4-1157 { FATAL Compile Error: Missing curly brace LE breaks path 4-1235 msaw.4.11
    4-1281 /* LE SV TOC-2251 this is a msaw-04.11.15 req to halt*/ 4-1374 /* LE SV TOC-2252 this is a msaw-04.11.37 req to store*/ 4-1393 /* LE SV TOC-2253 this is a msaw-04.11.43 req to transform*/ 4-1445 msaw.4.12
    4-1501 msaw.4.13
    4-1635 /* LE SV TOC-2254 this is a msaw-04.13.31 req to check pSOS*/ 4-1688 msaw.4.14
    4-1719 /* LE SV TOC-2255 this is a msaw-04.14.11 req to inhibit*/ 4-1731 /* LE SV TOC-2256 this is a msaw-04.14.15 req to disable*/ 4 7 Result: result/source/pr-app/pr-app-MSAW123/msaw-04.c



    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-MSAW123/msaw-01.c
    1 1 Result: result/source/pr-app/pr-app-MSAW123/msaw-01.c

    source/pr-app/pr-app-MSAW123/msaw-01.c result/source/pr-app/pr-app-MSAW123/msaw-01.c

    161a162
    > LogSvEvent((int)1001); /*12/08/2003 16:09:03*/


    2 3 Source: source/pr-app/pr-app-MSAW123/msaw-02.c
    2 3 Result: result/source/pr-app/pr-app-MSAW123/msaw-02.c

    source/pr-app/pr-app-MSAW123/msaw-02.c result/source/pr-app/pr-app-MSAW123/msaw-02.c

    54a55
    > LogSvEvent((int)1002); /*12/08/2003 16:09:03*/
    59a61
    > LogSvEvent((int)1003); /*12/08/2003 16:09:03*/
    81a84
    > LogSvEvent((int)1004); /*12/08/2003 16:09:03*/
    112a116
    > LogSvEvent((int)1005); /*12/08/2003 16:09:03*/
    142a147
    > LogSvEvent((int)1006); /*12/08/2003 16:09:03*/
    183a189
    > LogSvEvent((int)1007); /*12/08/2003 16:09:03*/
    343a350
    > LogSvEvent((int)1008); /*12/08/2003 16:09:03*/
    487a495
    > LogSvEvent((int)1009); /*12/08/2003 16:09:03*/


    3 5 Source: source/pr-app/pr-app-MSAW123/msaw-03.c
    3 5 Result: result/source/pr-app/pr-app-MSAW123/msaw-03.c

    source/pr-app/pr-app-MSAW123/msaw-03.c result/source/pr-app/pr-app-MSAW123/msaw-03.c

    145a146
    > LogSvEvent((int)1010); /*12/08/2003 16:09:03*/
    247a249
    > LogSvEvent((int)1011); /*12/08/2003 16:09:03*/
    330a333
    > LogSvEvent((int)1012); /*12/08/2003 16:09:03*/
    410a414
    > LogSvEvent((int)1013); /*12/08/2003 16:09:03*/
    544a549
    > LogSvEvent((int)1014); /*12/08/2003 16:09:03*/
    553a559
    > LogSvEvent((int)1015); /*12/08/2003 16:09:03*/
    777a784
    > LogSvEvent((int)1016); /*12/08/2003 16:09:03*/
    921a929
    > LogSvEvent((int)1017); /*12/08/2003 16:09:03*/
    983a992
    > LogSvEvent((int)1018); /*12/08/2003 16:09:03*/
    1040a1050
    > LogSvEvent((int)1019); /*12/08/2003 16:09:03*/
    1286a1297
    > LogSvEvent((int)1020); /*12/08/2003 16:09:03*/
    1301a1313
    > LogSvEvent((int)1021); /*12/08/2003 16:09:03*/
    1323a1336
    > LogSvEvent((int)1022); /*12/08/2003 16:09:03*/
    1331a1345
    > LogSvEvent((int)1023); /*12/08/2003 16:09:03*/
    1401a1416
    > LogSvEvent((int)1024); /*12/08/2003 16:09:03*/
    1408a1424
    > LogSvEvent((int)1025); /*12/08/2003 16:09:03*/
    1528a1545
    > LogSvEvent((int)1026); /*12/08/2003 16:09:03*/
    1655a1673
    > LogSvEvent((int)1027); /*12/08/2003 16:09:03*/
    1735a1754
    > LogSvEvent((int)1028); /*12/08/2003 16:09:03*/
    1810a1830
    > LogSvEvent((int)1029); /*12/08/2003 16:09:03*/
    1839a1860
    > LogSvEvent((int)1030); /*12/08/2003 16:09:03*/
    1954a1976
    > LogSvEvent((int)1031); /*12/08/2003 16:09:03*/
    2145a2168
    > LogSvEvent((int)1032); /*12/08/2003 16:09:03*/
    2153a2177
    > LogSvEvent((int)1033); /*12/08/2003 16:09:03*/
    2183a2208
    > LogSvEvent((int)1034); /*12/08/2003 16:09:03*/
    2227a2253
    > LogSvEvent((int)1035); /*12/08/2003 16:09:03*/
    2308a2335
    > LogSvEvent((int)1036); /*12/08/2003 16:09:03*/
    2397a2425
    > LogSvEvent((int)1037); /*12/08/2003 16:09:03*/


    4 7 Source: source/pr-app/pr-app-MSAW123/msaw-04.c
    4 7 Result: result/source/pr-app/pr-app-MSAW123/msaw-04.c

    source/pr-app/pr-app-MSAW123/msaw-04.c result/source/pr-app/pr-app-MSAW123/msaw-04.c

    59a60
    > LogSvEvent((int)1038); /*12/08/2003 16:09:03*/
    139a141
    > LogSvEvent((int)1039); /*12/08/2003 16:09:03*/
    186a189
    > LogSvEvent((int)1040); /*12/08/2003 16:09:03*/
    221a225
    > LogSvEvent((int)1041); /*12/08/2003 16:09:03*/
    390a395
    > LogSvEvent((int)1042); /*12/08/2003 16:09:03*/
    537a543
    > LogSvEvent((int)1043); /*12/08/2003 16:09:03*/
    805a812
    > LogSvEvent((int)1044); /*12/08/2003 16:09:03*/
    855a863
    > LogSvEvent((int)1045); /*12/08/2003 16:09:03*/
    912a921
    > LogSvEvent((int)1046); /*12/08/2003 16:09:03*/
    953a963
    > LogSvEvent((int)1047); /*12/08/2003 16:09:03*/
    993a1004
    > LogSvEvent((int)1048); /*12/08/2003 16:09:03*/
    1031a1043
    > LogSvEvent((int)1049); /*12/08/2003 16:09:03*/
    1092a1105
    > LogSvEvent((int)1050); /*12/08/2003 16:09:03*/
    1110a1124
    > LogSvEvent((int)1051); /*12/08/2003 16:09:03*/
    1158a1173
    > LogSvEvent((int)1052); /*12/08/2003 16:09:03*/
    1282a1298
    > LogSvEvent((int)1053); /*12/08/2003 16:09:03*/
    1375a1392
    > LogSvEvent((int)1054); /*12/08/2003 16:09:03*/
    1394a1412
    > LogSvEvent((int)1055); /*12/08/2003 16:09:03*/
    1636a1655
    > LogSvEvent((int)1056); /*12/08/2003 16:09:03*/
    1720a1740
    > LogSvEvent((int)1057); /*12/08/2003 16:09:03*/
    1732a1753
    > LogSvEvent((int)1058); /*12/08/2003 16:09:03*/


    done
    12/08/2003 16:09:07 start
    12/08/2003 16:09:09 end