Logevents v111003 analysis/pr-app-MSAW123 s_error-handling.html C:\IndigoPerl\bin\perl.exe 5.006

Description This is also a legacy report. Many of the IAT automatic detectors in the stat-problems report started with this report. This report extracts all the decisions and certain keywords such as calls to software error. Use the details area of this report to determine if there are nesting problems or failures to call software error. If 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.
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 16:09:28


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

    365if ( 102case 77break 48switch 45default 43SwError

    Alpha Sort

    43SwError 77break 102case 45default 365if ( 48switch

    Keywords Not Found

    else\s*\( else\s*\n return nnoonnee gNoteError


    Details Report

    1 1 Source: source/pr-app/pr-app-MSAW123/msaw-01.c
     1-15 msaw.1.1
    1-44 . switch (msaw stuff) 1-46 . case one: 1-49 . break; 1-51 . case two: 1-54 . break; 1-56 . default: 1-58 . SwError; 1-63 . if (A != B) 1-70 . if (A gt B) 1-78 . if (A gt B) 1-88 . if (A gt B) 1-96 . if (A le B) 1-104 . if (A < B) 1-111 . if (A != B) 1-120 . if (A le B) 1-128 . if (A > = B) 1-140 . switch (msaw stuff) 1-142 . case one: 1-145 . break; 1-147 . case two: 1-150 . break; 1-152 . default: 1-154 . SwError; 1-162 . switch (msaw stuff) 1-164 . case one: 1-167 . break; 1-169 . case two: 1-172 . break; 1-174 . default: 1-176 . SwError; 1-182 . if (A ge B) 1-194 . if (A ne B) 1-201 . if (A ge B) 1-209 . if (A ne B) 1 1 Result: result/source/pr-app/pr-app-MSAW123/msaw-01.c


    2 2 Source: source/pr-app/pr-app-MSAW123/msaw-02.c 2-13 msaw.2.1
    2-28 . switch (msaw stuff) 2-30 . case one: 2-33 . break; 2-35 . case two: 2-38 . break; 2-40 . default: 2-42 . SwError; 2-47 . if (A le B) 2-60 . switch (msaw stuff) 2-62 . case one: 2-65 . break; 2-67 . case two: 2-70 . break; 2-72 . default: 2-74 . SwError; 2-85 . if (A gt B) 2-92 . switch (msaw stuff) 2-94 . case one: 2-97 . break; 2-99 . case two: 2-102 . break; 2-104 . default: 2-106 . SwError; 2-113 . if (A > B) 2-120 . if (A < B) 2-128 . if (A ne B) 2-135 . if (A ge B) 2-149 . if (A gt B) 2-159 . if (A > = B) 2-167 . if (A != B) 2-176 . if (A == B) 2-184 . if (A ge B) 2-192 . if (A == B) 2-209 . if (A le B) 2-217 . switch (msaw stuff) 2-219 . case one: 2-222 . break; 2-224 . case two: 2-227 . break; 2-236 . if (A eq B) 2-243 . if (A != B) 2-250 . if (A lt B) 2-257 . if (A ge B) 2-264 . if (A != B) 2-271 . if (A < = B) 2-278 . switch (msaw stuff) 2-280 . case one: 2-283 . break; 2-285 . case two: 2-288 . break; 2-290 . default: 2-292 . SwError; 2-298 . if (A le B) 2-311 . if (A gt B) 2-318 . if (A lt B) 2-327 . if (A < B) 2-335 . if (A ge B) 2-344 . if (A < = B) 2-354 . if (A > = B) 2-364 . if (A ge B) 2-372 . if (A != B) 2-390 msaw.2.2
    2-403 . if (A > B) 2-416 . if (A le B) 2-424 . if (A != B) 2-431 . if (A != B) 2-439 . if (A ge B) 2-452 . if (A < B) 2-459 . if (A gt B) 2-466 . if (A gt B) 2-473 . if (A le B) 2-480 . if (A gt B) 2-488 . switch (msaw stuff) 2-490 . case one: 2-495 . case two: 2-498 . break; 2-500 . default: 2-502 . SwError; 2-511 . if (A le B) 2-518 . if (A < = B) 2-526 . switch (msaw stuff) 2-528 . case one: 2-531 . break; 2-533 . case two: 2-536 . break; 2-538 . default: 2-540 . SwError; 2-546 . if (A le B) 2-558 . switch (msaw stuff) 2-560 . case one: 2-565 . case two: 2-568 . break; 2-570 . default: 2-572 . SwError; 2-579 . if (A gt B) 2-586 . if (A == B) 2-594 . switch (msaw stuff) 2-596 . case one: 2-601 . case two: 2-604 . break; 2-606 . default: 2-608 . SwError; 2 2 Result: result/source/pr-app/pr-app-MSAW123/msaw-02.c


    3 3 Source: source/pr-app/pr-app-MSAW123/msaw-03.c 3-15 msaw.3.1
    3-51 . if (A > = B) 3-62 . if (A ge B) 3-71 . if (A > B) 3-79 . if (A != B) 3-92 . if (A == B) 3-100 . if (A < B) 3-110 . if (A > B) 3-119 . switch (msaw stuff) 3-121 . case one: 3-124 . break; 3-126 . case two: 3-129 . break; 3-131 . default: 3-133 . SwError; 3-138 . if (A == B) 3-148 . switch (msaw stuff) 3-150 . case one: 3-153 . break; 3-155 . case two: 3-158 . break; 3-160 . default: 3-162 . SwError; 3-169 . if (A eq B) 3-182 . if (A < = B) 3-190 . if (A le B) 3-205 . if (A != B) 3-212 . if (A lt B) 3-224 . if (A le B) 3-232 . if (A < B) 3-239 . if (A < B) 3-249 . switch (msaw stuff) 3-251 . case one: 3-254 . break; 3-256 . case two: 3-259 . break; 3-261 . default: 3-263 . SwError; 3-268 . if (A != B) 3-275 . if (A lt B) 3-283 . if (A == B) 3-291 . if (A < B) 3-298 . if (A ne B) 3-307 . if (A ne B) 3-314 . if (A != B) 3-323 . if (A ge B) 3-333 . switch (msaw stuff) 3-335 . case one: 3-340 . case two: 3-343 . break; 3-345 . default: 3-347 . SwError; 3-352 . if (A == B) 3-359 . if (A < B) 3-367 . if (A != B) 3-382 msaw.3.2
    3-401 . if (A ge B) 3-411 . if (veg) 3-417 . if (A ge B) 3-424 . if (A lt B) 3-431 . if (veg) 3-437 . if (A ge B) 3-445 . if (A ge B) 3-453 . switch (msaw stuff) 3-455 . case one: 3-458 . break; 3-460 . case two: 3-463 . break; 3-465 . default: 3-467 . SwError; 3-475 . if (A < B) 3-487 . if (A gt B) 3-496 . if (A le B) 3-507 . if (A > = B) 3-514 . if (A == B) 3-523 . if (A ne B) 3-530 . if (A ne B) 3-546 . if (A eq B) 3-555 . if (A > = B) 3-563 . if (A == B) 3-572 . if (A eq B) 3-579 . if (A < = B) 3-586 . if (A ne B) 3-595 . if (A != B) 3-608 . if (A gt B) 3-627 . if (A le B) 3-634 . if (A > B) 3-647 msaw.3.3
    3-664 . if (A lt B) 3-673 . if (A gt B) 3-680 . if (A gt B) 3-687 . if (A < B) 3-695 . if (A ge B) 3-706 . switch (msaw stuff) 3-708 . case one: 3-710 . switch (nested) 3-712 . case: 3-714 . case: 3-716 . default: 3-717 . SwError; 3-720 . case two: 3-723 . break; 3-725 . default: 3-727 . SwError; 3-737 . if (A lt B) 3-753 . if (A == B) 3-761 . if (A < = B) 3-770 . if (A ge B) 3-779 . if (A == B) 3-786 . if (A > B) 3-795 . if (A < = B) 3-803 . switch (msaw stuff) 3-805 . case one: 3-808 . break; 3-810 . case two: 3-813 . break; 3-815 . default: 3-817 . SwError; 3-823 . if (A == B) 3-831 . if (A lt B) 3-841 . switch (msaw stuff) 3-843 . case one: 3-846 . break; 3-848 . case two: 3-851 . break; 3-857 . if (A == B) 3-866 . if (A < B) 3-875 . if (A ne B) 3-882 . if (A gt B) 3-898 msaw.3.4
    3-912 . if (A lt B) 3-926 . if (A != B) 3-939 . if (A > B) 3-954 . if (A lt B) 3-963 . if (A == B) 3-970 . if (A < = B) 3-986 . if (A eq B) 3-994 . if (A ge B) 3-1004 . if (A eq B) 3-1011 . if (A le B) 3-1024 msaw.3.5
    3-1043 . if (A < = B) 3-1051 . if (A eq B) 3-1060 . if (A > B) 3-1067 . if (A lt B) 3-1075 . if (A > B) 3-1083 . if (A < B) 3-1099 . if (A gt B) 3-1116 msaw.3.6
    3-1132 . if (A < B) 3-1145 . if (A != B) 3-1156 . if (A le B) 3-1163 . if (veg) 3-1169 . switch (msaw stuff) 3-1171 . case: 3-1172 . case: 3-1175 . case: 3-1176 . case: 3-1177 . case: 3-1180 . break; 3-1182 . default: 3-1191 . if (A < B) 3-1200 . if (A ne B) 3-1209 . if (A != B) 3-1217 . if (A != B) 3-1226 . if (A lt B) 3-1236 . if (A eq B) 3-1248 . if (A gt B) 3-1255 . if (A < = B) 3-1267 . if (A == B) 3-1274 . if (A ne B) 3-1284 . if ($msaw stuff > $othermsaw stuff) 3-1291 . if (A > B) 3-1304 . switch (msaw stuff) 3-1306 . case one: 3-1309 . break; 3-1311 . case two: 3-1314 . break; 3-1316 . default: 3-1318 . SwError; 3-1324 . if (A > = B) 3-1336 . switch (msaw stuff) 3-1338 . case one: 3-1341 . break; 3-1343 . case two: 3-1346 . break; 3-1348 . default: 3-1350 . SwError; 3-1362 msaw.3.7
    3-1377 . if (A ne B) 3-1388 . if (veg) 3-1393 . if (A ge B) 3-1412 . if (A eq B) 3-1420 . if (A ne B) 3-1428 . switch (msaw stuff) 3-1430 . case one: 3-1433 . break; 3-1435 . case two: 3-1438 . break; 3-1440 . default: 3-1442 . SwError; 3-1449 . if (A gt B) 3-1456 . switch (msaw stuff) 3-1458 . case one: 3-1461 . break; 3-1463 . case two: 3-1466 . break; 3-1468 . default: 3-1470 . SwError; 3-1477 . if (A > = B) 3-1485 . if (A eq B) 3-1494 . if (A ne B) 3-1505 . switch (msaw stuff) 3-1507 . case one: 3-1510 . break; 3-1512 . case two: 3-1515 . break; 3-1517 . default: 3-1519 . SwError; 3-1533 . if (A == B) 3-1540 . if (A > = B) 3-1548 . switch (msaw stuff) 3-1550 . case one: 3-1553 . break; 3-1555 . case two: 3-1558 . break; 3-1564 . if (A ne B) 3-1573 . if (A le B) 3-1580 . if (A le B) 3-1587 . if (A ge B) 3-1594 . switch (msaw stuff) 3-1596 . case one: 3-1599 . break; 3-1601 . case two: 3-1604 . break; 3-1606 . default: 3-1608 . SwError; 3-1626 . if (A gt B) 3-1634 . if (A ne B) 3-1641 . if (A ge B) 3-1648 . if (A > B) 3-1656 . if (A le B) 3-1664 . if (A eq B) 3-1672 . if (A > = B) 3-1680 . switch (msaw stuff) 3-1682 . case one: 3-1685 . break; 3-1687 . case two: 3-1690 . break; 3-1692 . default: 3-1694 . SwError; 3-1706 msaw.3.8
    3-1721 . if (A > B) 3-1728 . if (A != B) 3-1740 . if (A le B) 3-1749 . if (A gt B) 3-1760 . switch (msaw stuff) 3-1762 . case one: 3-1765 . break; 3-1767 . case two: 3-1770 . break; 3-1772 . default: 3-1774 . SwError; 3-1781 . switch (msaw stuff) 3-1783 . case one: 3-1786 . break; 3-1788 . case two: 3-1791 . break; 3-1793 . default: 3-1795 . SwError; 3-1800 . if (A ne B) 3-1811 . if (A > B) 3-1818 . if (A < = B) 3-1825 . if (A eq B) 3-1832 . if (A ge B) 3-1849 msaw.3.9
    3-1865 . if (A le B) 3-1878 . if (A eq B) 3-1887 . switch (msaw stuff) 3-1889 . case one: 3-1892 . break; 3-1894 . case two: 3-1897 . break; 3-1899 . default: 3-1901 . SwError; 3-1913 msaw.3.10
    3-1930 . if (A le B) 3-1937 . if (A ge B) 3-1946 . if (A == B) 3-1957 . if (A ge B) 3-1968 . if (A < = B) 3-1976 . if (A ge B) 3-1988 . if (A ge B) 3-2004 . if (A > = B) 3-2011 . if (veg) 3-2019 . if (A ne B) 3-2033 msaw.3.11
    3-2046 . if (A le B) 3-2053 . switch (msaw stuff) 3-2055 . case one: 3-2058 . break; 3-2060 . case two: 3-2063 . break; 3-2065 . default: 3-2067 . SwError; 3-2073 . if (A le B) 3-2083 . if (A < B) 3-2092 . if (A ne B) 3-2100 . if (A > = B) 3-2107 . if (A gt B) 3-2116 . if (A != B) 3-2123 . if (A == B) 3-2135 . if (A < B) 3-2146 . if (A == B) 3-2154 . if (A < = B) 3-2168 . if (A le B) 3-2176 . if (A lt B) 3-2184 . switch (msaw stuff) 3-2186 . case one: 3-2188 . switch (nested) 3-2190 . case: 3-2192 . case: 3-2194 . default: 3-2195 . SwError; 3-2198 . case two: 3-2201 . break; 3-2203 . default: 3-2205 . SwError; 3-2211 . if (A < B) 3-2220 . if (A > = B) 3-2230 . if (A != B) 3-2247 msaw.3.12
    3-2260 . if (A != B) 3-2267 . if (A > = B) 3-2277 . if (A < = B) 3-2284 . if (A eq B) 3-2293 . if (A le B) 3-2300 . if (A < = B) 3-2309 . if (A le B) 3-2319 . if (A > B) 3-2326 . if (A le B) 3-2334 . if (A == B) 3-2341 . if (A > = B) 3-2355 . if (A > = B) 3-2363 . if (A gt B) 3-2371 . if (A < = B) 3-2379 . if (A ne B) 3-2390 . if (A ne B) 3 3 Result: result/source/pr-app/pr-app-MSAW123/msaw-03.c


    4 4 Source: source/pr-app/pr-app-MSAW123/msaw-04.c 4-15 msaw.4.1
    4-46 msaw.4.2
    4-66 . if (A lt B) 4-80 msaw.4.3
    4-94 . if (A == B) 4-105 . if (veg) 4-124 . if (A == B) 4-140 . if (A eq B) 4-147 . switch (msaw stuff) 4-149 . case one: 4-152 . break; 4-154 . case two: 4-157 . break; 4-159 . default: 4-161 . SwError; 4-170 . if (A le B) 4-179 . if (A eq B) 4-189 . switch (msaw stuff) 4-191 . case one: 4-194 . break; 4-196 . case two: 4-199 . break; 4-201 . default: 4-203 . SwError; 4-214 . if (A < B) 4-226 . switch (msaw stuff) 4-228 . case: 4-229 . case: 4-232 . case: 4-233 . case: 4-234 . case: 4-237 . break; 4-239 . default: 4-246 . if (A ne B) 4-253 . if (A < = B) 4-262 . if (A gt B) 4-280 msaw.4.4
    4-296 . if (A < = B) 4-303 . if (A < B) 4-313 . if (A lt B) 4-323 . if (A eq B) 4-331 . if (A ge B) 4-343 . if (A != B) 4-353 . if (A != B) 4-360 . if (A lt B) 4-367 . if (A != B) 4-376 . if (A gt B) 4-383 . if (A lt B) 4-392 . if (A lt B) 4-399 . if (A eq B) 4-407 . if (A < B) 4-414 . if (A > B) 4-421 . switch (msaw stuff) 4-423 . case one: 4-426 . break; 4-428 . case two: 4-431 . break; 4-433 . default: 4-435 . SwError; 4-442 . if (A lt B) 4-450 . switch (msaw stuff) 4-452 . case one: 4-455 . break; 4-457 . case two: 4-460 . break; 4-462 . default: 4-464 . SwError; 4-470 . if (A < = B) 4-477 . if (A != B) 4-496 . switch (msaw stuff) 4-498 . case one: 4-503 . case two: 4-506 . break; 4-508 . default: 4-510 . SwError; 4-516 . if (A ge B) 4-539 . if (A lt B) 4-547 . if (A eq B) 4-560 msaw.4.5
    4-575 . if (A < B) 4-591 . if (A ne B) 4-598 . if (A ge B) 4-606 . if (A < = B) 4-617 . if (A != B) 4-625 . if (A == B) 4-632 . if (A > B) 4-640 . if (A > = B) 4-650 . if (A ge B) 4-659 . if (A > B) 4-666 . if (A < = B) 4-674 . switch (msaw stuff) 4-676 . case one: 4-678 . switch (nested) 4-680 . case: 4-682 . case: 4-684 . default: 4-685 . SwError; 4-688 . case two: 4-691 . break; 4-693 . default: 4-695 . SwError; 4-700 . if (A != B) 4-713 msaw.4.6
    4-729 . if (A < B) 4-737 . if (A < = B) 4-746 . if (A gt B) 4-761 msaw.4.7
    4-774 . if (A le B) 4-781 . if (A > B) 4-790 . if (A eq B) 4-798 . if (A > = B) 4-807 . if (A eq B) 4-817 . if (A ge B) 4-834 msaw.4.8
    4-847 . if (A lt B) 4-857 . if (A ge B) 4-865 . if (A ne B) 4-873 . if (A < B) 4-880 . switch (msaw stuff) 4-882 . case one: 4-885 . break; 4-887 . case two: 4-890 . break; 4-892 . default: 4-894 . SwError; 4-903 . if (A gt B) 4-919 . if (A < = B) 4-932 msaw.4.9
    4-945 . if (A gt B) 4-954 . if (A le B) 4-961 . if (A ne B) 4-968 . if (A gt B) 4-976 . if (A lt B) 4-986 . if (A lt B) 4-1003 msaw.4.10
    4-1018 . if (veg) 4-1023 . if (A > = B) 4-1032 . if (A != B) 4-1039 . if (A > = B) 4-1046 . if (A < = B) 4-1055 . if (A eq B) 4-1072 . if (A ne B) 4-1082 . if (veg) 4-1094 . if (A > = B) 4-1102 . if (A > B) 4-1111 . if (A gt B) 4-1119 . if (A > = B) 4-1126 . if (A > = B) 4-1133 . if (A ge B) 4-1141 . if (A lt B) 4-1148 . if (A > B) 4-1156 . if ($msaw stuff > $othermsaw stuff) 4-1167 . if (A < B) 4-1174 . if (A lt B) 4-1182 . if (A le B) 4-1189 . if (A gt B) 4-1197 . if (A > B) 4-1205 . if (A ne B) 4-1220 . if (A > = B) 4-1235 msaw.4.11
    4-1251 . if (A le B) 4-1261 . if (A == B) 4-1275 . if (A eq B) 4-1285 . if (A lt B) 4-1294 . if (A < = B) 4-1301 . if (A > = B) 4-1308 . if (A gt B) 4-1317 . if (A ge B) 4-1325 . if (A != B) 4-1333 . switch (msaw stuff) 4-1335 . case one: 4-1337 . switch (nested) 4-1339 . case: 4-1341 . case: 4-1343 . default: 4-1344 . SwError; 4-1347 . case two: 4-1350 . break; 4-1352 . default: 4-1354 . SwError; 4-1368 . if (A < B) 4-1377 . if (A < B) 4-1386 . if (A ge B) 4-1395 . if (A gt B) 4-1405 . if (A ge B) 4-1412 . switch (msaw stuff) 4-1414 . case one: 4-1417 . break; 4-1419 . case two: 4-1422 . break; 4-1424 . default: 4-1426 . SwError; 4-1432 . if (A < B) 4-1445 msaw.4.12
    4-1458 . if (A le B) 4-1472 . if (A != B) 4-1481 . if (A ge B) 4-1488 . if (A > = B) 4-1501 msaw.4.13
    4-1514 . if (A lt B) 4-1521 . if (veg) 4-1528 . if (A > B) 4-1537 . if (A eq B) 4-1544 . if (A lt B) 4-1551 . if (A == B) 4-1558 . if (A > B) 4-1567 . if (A < B) 4-1575 . if (A != B) 4-1585 . if (A > = B) 4-1596 . if (A lt B) 4-1605 . if (A gt B) 4-1614 . if (A < B) 4-1621 . if (A le B) 4-1628 . if (A < = B) 4-1640 . if (A != B) 4-1647 . if (A ge B) 4-1658 . if (A ne B) 4-1666 . if (A ne B) 4-1674 . if (A == B) 4-1688 msaw.4.14
    4-1722 . if (A ne B) 4-1737 . if (A == B) 4-1752 . if (A le B) 4 4 Result: result/source/pr-app/pr-app-MSAW123/msaw-04.c



    Settings

    Description 7

    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 16:09:28 start
    12/08/2003 16:09:31 end