QP/C 8.1.2
Real-Time Event Framework
Loading...
Searching...
No Matches
Software Metrics Report

About this Document

Generating HIS Metrics with PCLP

The PC-Lint-Plus v2025 ([PCLP-2025]) static analysis tool can generate a very comprehensive set of code metrics, far exceeding the HIS Standard. This section outlines how the HIS Metrics are interpreted and generated from the PCLP metrics data (see [PCLP-2025] Section 10.6 'Bult-in Metrics' and 10.6.5 'Function').

HIS Metric PCLP Metrics Description (from PCLP Manual)
v(G) cyclomatic_complexity The McCabe cyclomatic complexity of a function.
PATH cyclomatic_complexity * log2(halstead_vocabulary) Where: cyclomatic_complexity is the cyclomatic complexity (v(G)) and halstead_vocabulary is the Halstead vocabulary (N), both measured by PCLP.
STMT num_stmts The number of statements within a function. Every statement within the body of any compound statement is counted.
LEVEL avg_scope_nesting_depth The average nesting depth of compound statements enclosing each statement in a function. That is, the sum for each integral nesting level of the product of that nesting level and the number of statements with that nesting level, divided by the number of statements.
CALLS num_called_functions The number of distinct functions defined within the analyzed project called by this function. Each function called at least once is only counted once, regardless of how many different calls to it appear within the body of this function. This metric does not count called functions that exist only as declarations that are never defined anywhere within the analyzed project.
PARAM num_parameters The number of parameters for a function. In C, the explicit me instance parameter is counted, but in C++ the implicit this instance parameter is not counted. Also, in C++, parameters with default arguments are counted.
RETURN num_return_stmts The number of return statements within a function. The implicit return at the end of main or a function defined as returning void (or a catch clause of a function-try-block thereof) is not included.
GOTO num_backward_goto_stmts + num_forward_goto_stmts Calculated sum of: The number of backward goto statements plus the number of forward goto statements within a function.
COMF num_comment_lines /
num_code_lines
Calculated ratio of: The number of comment lines to the number of code lines in a lexical function definition.
NOMV see misra-qp The number of HIS subset violations after applying the provided Deviaition Permits and Deviation Records.
NOMVPR see misra-qp The number of MISRA violations per rule after applying the provided Deviaition Permits and Deviation Records.

Function Metrics

This section contains the function metrics measured by the PC-Lint-Plus (v2025) static analysis tool. The metrics were collected under the conditions typically applied for the Release build configuration. Specifically, the QP Functional Safety (FuSa) Subsystem is enabled, but the QP/Spy software tracing is disabled (except for analysis of QS target-resident QP/Spy component).

v(G) PATH STMT LEVEL CALLS PARAM RETURN GOTO COMF Function @ <file>
(<=16) (<99) (<=55) (<=4) (<=7) (<=7) (<=1) (==0) (>=0.2)
-------------------------------------------------------------------------------
1 5 3 1 1 2 0 0 0.7 QActive_ctor @ src/qf/qf_qact.c:50:6
4 21 17 2 1 3 1 0 0.4 QActive_defer @ src/qf/qf_defer.c:44:6
3 15 8 2 2 3 1 0 0.4 QActive_flushDeferred @ src/qf/qf_defer.c:135:10
4 20 8 1 3 1 1 0 0.2 QActive_getQueueFree @ src/qf/qf_actq.c:357:10
4 20 8 1 3 1 1 0 0.3 QActive_getQueueMin @ src/qf/qf_actq.c:377:10
6 31 14 2 4 1 1 0 0.3 QActive_getQueueUse @ src/qf/qf_actq.c:323:10
8 46 32 2 3 1 1 0 0.6 QActive_get_ @ src/qf/qf_actq.c:202:14
6 33 20 2 7 3 0 0 0.5 QActive_multicast_ @ src/qf/qf_ps.c:132:13
5 29 23 2 1 3 0 0 0.6 QActive_postFIFO_ @ src/qf/qf_actq.c:267:13
8 48 29 2 5 2 0 0 0.5 QActive_postLIFO_ @ src/qf/qf_actq.c:128:6
7 42 24 2 6 4 1 0 0.4 QActive_post_ @ src/qf/qf_actq.c:50:6
4 20 6 1 2 2 0 0 0.3 QActive_psInit @ src/qf/qf_ps.c:54:6
6 35 19 1 7 3 0 0 0.6 QActive_publish_ @ src/qf/qf_ps.c:75:6
6 34 24 2 6 2 1 0 0.6 QActive_recall @ src/qf/qf_defer.c:78:6
12 67 20 2 3 1 0 0 0.3 QActive_register_ @ src/qf/qf_qact.c:72:6
7 39 13 1 4 2 0 0 0.4 QActive_subscribe @ src/qf/qf_ps.c:191:6
4 20 8 1 3 1 0 0 0.5 QActive_unregister_ @ src/qf/qf_qact.c:121:6
7 39 13 1 4 2 0 0 0.4 QActive_unsubscribe @ src/qf/qf_ps.c:225:6
8 45 18 2 5 1 0 0 0.4 QActive_unsubscribeAll @ src/qf/qf_ps.c:259:6
8 46 32 3 3 2 1 0 0.5 QEQueue_get @ src/qf/qf_qeq.c:214:21
1 3 1 1 0 1 1 0 0.7 QEQueue_getFree @ src/qf/qf_qeq.c:290:10
1 3 1 1 0 1 1 0 0.7 QEQueue_getMin @ src/qf/qf_qeq.c:297:10
2 9 4 1 0 1 1 0 0.4 QEQueue_getUse @ src/qf/qf_qeq.c:279:10
3 16 12 1 3 3 0 0 0.5 QEQueue_init @ src/qf/qf_qeq.c:44:6
1 4 1 1 0 1 1 0 0.7 QEQueue_isEmpty @ src/qf/qf_qeq.c:304:6
9 54 26 2 4 4 1 0 0.5 QEQueue_post @ src/qf/qf_qeq.c:71:6
8 46 29 2 4 3 0 0 0.5 QEQueue_postLIFO @ src/qf/qf_qeq.c:156:6
1 4 3 1 0 2 0 0 0.4 QEvt_ctor @ src/qf/qf_act.c:47:6
1 3 2 1 0 2 1 0 0.2 QEvt_init @ src/qf/qf_act.c:54:7
1 4 2 1 0 1 0 0 0.5 QEvt_refCtr_dec_ @ src/qf/qf_act.c:73:6
2 8 3 1 1 1 0 0 0.8 QEvt_refCtr_inc_ @ src/qf/qf_act.c:61:6
2 11 6 1 4 1 0 0 0.3 QF_deleteRef_ @ src/qf/qf_dyn.c:367:6
8 46 22 3 5 1 0 0 0.3 QF_gc @ src/qf/qf_dyn.c:268:6
4 21 8 1 3 1 1 0 0.2 QF_getPoolFree @ src/qf/qf_dyn.c:142:10
4 21 8 1 3 1 1 0 0.2 QF_getPoolMin @ src/qf/qf_dyn.c:166:10
5 27 12 1 4 1 1 0 0.3 QF_getPoolUse @ src/qf/qf_dyn.c:107:10
6 33 15 1 4 2 1 0 0.4 QF_newRef_ @ src/qf/qf_dyn.c:325:14
10 61 31 2 4 3 1 0 0.5 QF_newX_ @ src/qf/qf_dyn.c:190:8
3 15 7 1 3 0 1 0 0.2 QF_poolGetMaxBlockSize @ src/qf/qf_dyn.c:87:10
4 22 9 1 4 3 0 0 0.5 QF_poolInit @ src/qf/qf_dyn.c:46:6
4 21 15 2 2 2 1 0 0.4 QHsm_childState @ src/qf/qep_hsm.c:600:15
1 5 4 1 0 2 0 0 0.4 QHsm_ctor @ src/qf/qep_hsm.c:139:6
15 98 55 2 5 3 0 0 0.6 QHsm_dispatch_ @ src/qf/qep_hsm.c:241:6
11 66 35 3 2 4 0 0 0.5 QHsm_enter_target_ @ src/qf/qep_hsm.c:501:6
1 4 1 1 0 1 1 0 0.7 QHsm_getStateHandler_ @ src/qf/qep_hsm.c:642:15
8 51 38 2 3 3 0 0 0.6 QHsm_init_ @ src/qf/qep_hsm.c:165:6
4 22 15 2 2 2 1 0 0.5 QHsm_isIn_ @ src/qf/qep_hsm.c:567:6
1 4 1 1 0 1 1 0 0.7 QHsm_state @ src/qf/qep_hsm.c:634:15
1 4 3 1 0 2 1 0 0.4 QHsm_top @ src/qf/qep_hsm.c:156:8
12 71 43 3 2 3 1 0 0.6 QHsm_tran_complex_ @ src/qf/qep_hsm.c:412:8
10 58 28 3 2 3 1 0 0.5 QHsm_tran_simple_ @ src/qf/qep_hsm.c:344:8
1 5 3 1 1 2 0 0 0.7 QMActive_ctor @ src/qf/qf_qmact.c:44:6
11 64 34 2 3 3 1 0 0.6 QMPool_get @ src/qf/qf_mem.c:108:8
1 3 1 1 0 1 1 0 0.7 QMPool_getFree @ src/qf/qf_mem.c:247:10
1 3 1 1 0 1 1 0 0.7 QMPool_getMin @ src/qf/qf_mem.c:254:10
1 4 1 1 0 1 1 0 0.7 QMPool_getUse @ src/qf/qf_mem.c:240:10
6 36 26 1 3 4 0 0 0.4 QMPool_init @ src/qf/qf_mem.c:44:6
7 40 20 1 3 3 0 0 0.5 QMPool_put @ src/qf/qf_mem.c:188:6
4 21 14 2 2 2 1 0 0.2 QMsm_childStateObj @ src/qf/qep_msm.c:444:17
1 5 4 1 0 2 0 0 0.4 QMsm_ctor @ src/qf/qep_msm.c:140:6
11 70 38 2 5 3 0 0 0.3 QMsm_dispatch_ @ src/qf/qep_msm.c:203:6
6 35 23 2 2 3 1 0 0.3 QMsm_enterHistory_ @ src/qf/qep_msm.c:376:15
6 35 19 2 2 3 1 0 0.3 QMsm_execTatbl_ @ src/qf/qep_msm.c:305:15
3 16 7 2 0 4 0 0 0.4 QMsm_exitToTranSource_ @ src/qf/qep_msm.c:348:13
1 4 1 1 0 1 1 0 0.3 QMsm_getStateHandler_ @ src/qf/qep_msm.c:476:15
6 35 24 2 3 3 0 0 0.3 QMsm_init_ @ src/qf/qep_msm.c:157:6
3 15 8 2 0 2 1 0 0.2 QMsm_isIn_ @ src/qf/qep_msm.c:428:6
1 4 1 1 0 1 1 0 0.3 QMsm_stateObj @ src/qf/qep_msm.c:470:16
1 3 1 1 0 0 1 0 0.3 QMsm_topQMState @ src/qf/qep_msm.c:422:17
1 5 1 1 1 1 1 0 0.4 QPSet_findMax @ src/qf/qf_qact.c:249:14
1 5 1 1 0 2 1 0 0.2 QPSet_hasElement @ src/qf/qf_qact.c:207:6
1 5 1 1 0 2 0 0 0.2 QPSet_insert @ src/qf/qf_qact.c:219:6
1 4 1 1 0 1 1 0 0.4 QPSet_isEmpty @ src/qf/qf_qact.c:185:6
1 4 1 1 0 1 1 0 0.4 QPSet_notEmpty @ src/qf/qf_qact.c:196:6
1 5 1 1 0 2 0 0 0.2 QPSet_remove @ src/qf/qf_qact.c:234:6
1 4 1 1 0 1 0 0 0.3 QPSet_setEmpty @ src/qf/qf_qact.c:177:6
1 5 4 1 1 2 0 0 0.3 QTicker_ctor @ src/qf/qf_actq.c:401:6
3 15 11 1 4 3 0 0 0.3 QTicker_dispatch_ @ src/qf/qf_actq.c:441:6
1 4 6 1 2 3 0 0 0.4 QTicker_init_ @ src/qf/qf_actq.c:420:6
6 35 23 2 4 2 0 0 0.5 QTicker_trig_ @ src/qf/qf_actq.c:471:6
7 42 22 1 3 3 0 0 0.6 QTimeEvt_armX @ src/qf/qf_time.c:78:6
3 16 13 1 4 4 0 0 0.3 QTimeEvt_ctorX @ src/qf/qf_time.c:50:6
4 23 23 2 2 1 1 0 0.4 QTimeEvt_disarm @ src/qf/qf_time.c:146:6
4 22 20 2 0 4 1 0 0.5 QTimeEvt_expire_ @ src/qf/qf_time.c:398:12
1 3 1 1 0 1 1 0 0.7 QTimeEvt_getCtr @ src/qf/qf_time.c:376:13
2 9 2 2 1 0 0 0 0.2 QTimeEvt_init @ src/qf/qf_time.c:384:6
3 14 4 1 1 1 1 0 0.1 QTimeEvt_noActive @ src/qf/qf_time.c:363:6
7 43 24 2 3 2 1 0 0.6 QTimeEvt_rearm @ src/qf/qf_time.c:190:6
7 42 28 2 5 2 0 0 0.4 QTimeEvt_tick_ @ src/qf/qf_time.c:278:6
1 4 6 1 2 1 1 0 0.2 QTimeEvt_wasDisarmed @ src/qf/qf_time.c:262:6
1 4 1 1 0 2 1 0 0.3 Q_PRIO @ include/qp.h:688:25
3 16 13 1 5 7 0 0 0.4 QActive_start @ src/qv/qv.c:211:6
1 3 2 1 2 0 0 0 0.4 QF_init @ src/qv/qv.c:91:6
5 30 17 2 9 0 0 0 0.4 QF_run @ src/qv/qv.c:110:7
1 2 1 1 1 0 0 0 0.7 QF_stop @ src/qv/qv.c:103:6
3 13 8 2 2 1 0 0 0.2 QV_schedDisable @ src/qv/qv.c:52:6
3 13 8 2 2 0 0 0 0.2 QV_schedEnable @ src/qv/qv.c:72:6
4 23 17 1 7 7 0 0 0.4 QActive_start @ src/qk/qk.c:342:6
1 4 3 1 2 0 0 0 0.6 QF_init @ src/qk/qk.c:285:6
3 16 8 1 6 0 0 0 0.4 QF_run @ src/qk/qk.c:307:7
1 2 1 1 1 0 0 0 0.7 QF_stop @ src/qk/qk.c:300:6
8 49 24 2 6 0 0 0 0.5 QK_activate_ @ src/qk/qk.c:177:6
4 19 12 2 4 1 1 0 0.5 QK_schedLock @ src/qk/qk.c:52:14
6 30 12 2 6 1 0 0 0.5 QK_schedUnlock @ src/qk/qk.c:80:6
4 18 9 2 2 0 1 0 0.5 QK_sched_ @ src/qk/qk.c:113:14
5 25 11 2 3 2 1 0 0.4 QK_sched_act_ @ src/qk/qk.c:141:14
7 41 19 1 7 7 0 0 0.5 QActive_start @ src/qxk/qxk.c:416:6
1 5 6 1 2 0 0 0 0.7 QF_init @ src/qxk/qxk.c:352:6
3 16 12 1 7 0 0 0 0.4 QF_run @ src/qxk/qxk.c:379:7
1 2 1 1 1 0 0 0 0.7 QF_stop @ src/qxk/qxk.c:372:6
12 73 36 3 10 0 0 0 0.5 QXK_activate_ @ src/qxk/qxk.c:190:6
1 5 1 1 0 1 0 0 0.3 QXK_contextSw_ @ src/qxk/qxk.c:295:6
3 14 8 1 3 0 1 0 0.2 QXK_current @ src/qxk/qxk.c:119:11
5 27 14 2 4 1 1 0 0.4 QXK_schedLock @ src/qxk/qxk.c:51:14
6 31 14 2 6 1 0 0 0.5 QXK_schedUnlock @ src/qxk/qxk.c:84:6
9 48 23 2 5 0 1 0 0.4 QXK_sched_ @ src/qxk/qxk.c:138:14
4 21 11 1 6 0 0 0 0.3 QXK_threadExit_ @ src/qxk/qxk.c:323:6
2 10 8 1 4 2 0 0 0.3 QXMutex_init @ src/qxk/qxk_mutex.c:48:6
11 68 31 2 10 2 1 0 0.6 QXMutex_lock @ src/qxk/qxk_mutex.c:151:6
8 47 19 1 5 1 0 0 0.7 QXMutex_relOneThr_ @ src/qxk/qxk_mutex.c:334:6
14 85 29 2 3 2 1 0 0.7 QXMutex_tryAcq_ @ src/qxk/qxk_mutex.c:69:6
6 34 13 2 4 1 1 0 0.4 QXMutex_tryLock @ src/qxk/qxk_mutex.c:224:6
12 73 32 2 9 1 0 0 0.5 QXMutex_unlock @ src/qxk/qxk_mutex.c:257:6
4 19 8 1 4 3 0 0 0.2 QXSemaphore_init @ src/qxk/qxk_sema.c:48:6
10 61 27 2 10 1 1 0 0.5 QXSemaphore_signal @ src/qxk/qxk_sema.c:187:6
5 27 16 2 3 1 1 0 0.3 QXSemaphore_tryWait @ src/qxk/qxk_sema.c:152:6
13 81 37 2 9 2 1 0 0.5 QXSemaphore_wait @ src/qxk/qxk_sema.c:70:6
2 9 3 1 3 1 0 0 0.6 QXThread_block_ @ src/qxk/qxk_xthr.c:224:6
1 5 5 1 2 3 0 0 0.3 QXThread_ctor @ src/qxk/qxk_xthr.c:48:6
7 40 18 1 6 1 1 0 0.6 QXThread_delay @ src/qxk/qxk_xthr.c:65:6
2 10 8 1 4 1 1 0 0.4 QXThread_delayCancel @ src/qxk/qxk_xthr.c:111:6
13 82 42 2 7 1 1 0 0.5 QXThread_queueGet @ src/qxk/qxk_xthr.c:129:14
7 42 20 1 8 7 0 0 0.4 QXThread_start @ src/qxk/qxk_xthr.c:319:6
5 27 11 2 1 3 0 0 0.8 QXThread_teArm_ @ src/qxk/qxk_xthr.c:262:6
2 8 5 1 0 1 1 0 0.5 QXThread_teDisarm_ @ src/qxk/qxk_xthr.c:305:6
1 4 2 1 1 1 0 0 1.0 QXThread_timeout_ @ src/qxk/qxk_xthr.c:249:6
2 9 3 1 3 1 0 0 0.5 QXThread_unblock_ @ src/qxk/qxk_xthr.c:237:6
11 48 37 2 0 2 0 0 0.5 QS_2u8_raw_ @ src/qs/qs.c:344:6
3 15 10 1 8 3 0 0 0.2 QS_assertion_pre_ @ src/qs/qs.c:764:6
7 33 29 2 0 1 0 0 0.6 QS_beginRec_ @ src/qs/qs.c:278:6
1 4 5 1 5 0 0 0 0.3 QS_crit_entry_pre_ @ src/qs/qs.c:787:6
1 4 5 1 5 0 0 0 0.3 QS_crit_exit_pre_ @ src/qs/qs.c:797:6
8 42 28 2 0 0 0 0 0.4 QS_endRec_ @ src/qs/qs.c:298:6
1 5 8 1 7 3 0 0 0.3 QS_enum_dict_pre_ @ src/qs/qs.c:743:6
8 42 31 2 0 2 0 0 0.5 QS_f32_fmt_ @ src/qs/qs_fp.c:37:6
15 86 53 2 0 2 0 0 0.4 QS_f64_fmt_ @ src/qs/qs_fp.c:72:6
2 9 1 1 0 3 1 0 0.2 QS_fltCheck_ @ src/qs/qs.c:131:6
2 9 8 1 7 2 0 0 0.4 QS_fun_dict_pre_ @ src/qs/qs.c:704:6
5 24 19 2 0 1 1 0 0.4 QS_getBlock @ src/qs/qs.c:88:17
3 14 12 2 0 0 1 0 0.6 QS_getByte @ src/qs/qs.c:64:10
3 14 8 2 0 1 1 0 0.2 QS_getCurrId @ src/qs/qs_rx.c:380:9
8 38 8 2 0 1 1 0 0.4 QS_getCurrObj @ src/qs/qs_rx.c:344:7
1 4 1 1 0 2 1 0 0.3 QS_glbCheck_ @ src/qs/qs.c:142:6
6 38 27 2 3 1 0 0 0.4 QS_glbFilter_ @ src/qs/qs.c:152:6
1 5 7 1 5 2 0 0 0.4 QS_initBuf @ src/qs/qs.c:42:6
1 4 5 1 5 2 0 0 0.3 QS_isr_entry_pre_ @ src/qs/qs.c:808:6
1 4 5 1 5 2 0 0 0.3 QS_isr_exit_pre_ @ src/qs/qs.c:818:6
1 4 1 1 0 1 1 0 0.3 QS_locCheck_ @ src/qs/qs.c:147:6
7 42 28 2 3 1 0 0 0.2 QS_locFilter_ @ src/qs/qs.c:220:6
13 64 45 2 0 2 0 0 0.6 QS_mem_fmt_ @ src/qs/qs.c:549:6
11 64 41 2 8 3 0 0 0.3 QS_obj_arr_dict_pre_ @ src/qs/qs.c:623:6
2 9 8 1 7 2 0 0 0.4 QS_obj_dict_pre_ @ src/qs/qs.c:602:6
1 5 1 1 1 1 0 0 0.2 QS_obj_raw_ @ src/qs/qs.c:398:6
3 15 9 1 3 1 1 0 0.5 QS_queryCurrAO_ @ src/qs/qs_rx.c:1457:13
3 16 9 2 4 1 1 0 0.4 QS_queryCurrEP_ @ src/qs/qs_rx.c:1475:13
9 50 42 2 9 2 0 0 0.6 QS_queryCurrObjOut_ @ src/qs/qs_rx.c:1400:13
15 96 40 2 6 1 0 0 0.3 QS_queryCurrObj_ @ src/qs/qs_rx.c:1305:13
3 13 8 2 0 0 1 0 0.3 QS_rxGetFree @ src/qs/qs_rx.c:303:10
3 16 11 2 5 1 0 0 0.2 QS_rxHandleBadFrame_ @ src/qs/qs_rx.c:1283:13
1 5 3 1 3 0 0 0 0.2 QS_rxHandleGoodCmd_ @ src/qs/qs_rx.c:999:13
15 89 32 3 6 0 0 0 0.4 QS_rxHandleGoodEvt_ @ src/qs/qs_rx.c:1159:13
5 29 14 2 2 0 0 0 0.2 QS_rxHandleGoodFilter_ @ src/qs/qs_rx.c:1080:13
13 78 35 3 10 1 0 0 0.2 QS_rxHandleGoodFrame_ @ src/qs/qs_rx.c:894:13
1 3 4 1 3 0 0 0 0.3 QS_rxHandleGoodInfo_ @ src/qs/qs_rx.c:973:13
8 43 15 2 5 0 0 0 0.3 QS_rxHandleGoodObj_ @ src/qs/qs_rx.c:1121:13
12 70 36 3 10 0 0 0 0.4 QS_rxHandleGoodPPF_ @ src/qs/qs_rx.c:1013:13
1 5 3 1 3 0 0 0 0.2 QS_rxHandleGoodTick_ @ src/qs/qs_rx.c:982:13
1 5 7 1 4 2 0 0 0.3 QS_rxInitBuf @ src/qs/qs_rx.c:210:6
7 37 24 3 4 0 0 0 0.5 QS_rxParse @ src/qs/qs_rx.c:233:6
1 4 3 1 1 1 0 0 0.6 QS_rxParseBuf @ src/qs/qs_rx.c:278:6
5 28 21 3 0 1 1 0 0.2 QS_rxParseCmd_ @ src/qs/qs_rx.c:556:13
7 32 3 2 7 1 0 0 0.6 QS_rxParseData_ @ src/qs/qs_rx.c:481:13
12 73 46 4 4 1 1 0 0.3 QS_rxParseEvt_ @ src/qs/qs_rx.c:736:13
6 31 20 3 1 1 1 0 0.3 QS_rxParseFilter_ @ src/qs/qs_rx.c:589:13
11 60 25 3 2 1 1 0 0.2 QS_rxParseMisc_ @ src/qs/qs_rx.c:515:13
5 26 19 2 0 1 1 0 0.3 QS_rxParseObj_ @ src/qs/qs_rx.c:625:13
15 88 41 3 2 1 1 0 0.2 QS_rxParsePPF_ @ src/qs/qs_rx.c:655:13
15 94 31 2 1 1 0 0 0.2 QS_rxParseRec_ @ src/qs/qs_rx.c:394:13
4 20 14 2 1 0 0 0 0.4 QS_rxPoke_ @ src/qs/qs_rx.c:823:13
3 14 9 1 0 1 1 0 0.6 QS_rxPut @ src/qs/qs_rx.c:285:6
1 4 7 1 5 1 0 0 0.2 QS_rxReportAck_ @ src/qs/qs_rx.c:1494:13
1 4 8 1 7 1 0 0 0.3 QS_rxReportDone_ @ src/qs/qs_rx.c:1514:13
1 4 7 1 5 1 0 0 0.2 QS_rxReportError_ @ src/qs/qs_rx.c:1504:13
3 15 10 2 0 2 1 0 0.2 QS_setCurrId @ src/qs/qs_rx.c:361:6
8 41 11 2 0 2 1 0 0.3 QS_setCurrObj @ src/qs/qs_rx.c:324:6
2 10 9 1 8 3 0 0 0.3 QS_sig_dict_pre_ @ src/qs/qs.c:579:6
5 24 27 1 0 1 0 0 0.7 QS_str_fmt_ @ src/qs/qs.c:519:6
4 19 22 1 0 1 0 0 0.6 QS_str_raw_ @ src/qs/qs.c:415:6
5 31 27 1 5 1 0 0 0.3 QS_target_info_pre_ @ src/qs/qs.c:862:6
12 57 44 2 0 2 0 0 0.7 QS_u16_fmt_ @ src/qs/qs.c:462:6
11 50 39 2 0 1 0 0 0.5 QS_u16_raw_ @ src/qs/qs.c:362:6
8 40 30 2 0 2 0 0 0.7 QS_u32_fmt_ @ src/qs/qs.c:489:6
7 34 25 2 0 1 0 0 0.5 QS_u32_raw_ @ src/qs/qs.c:380:6
12 60 41 2 0 2 0 0 0.3 QS_u64_fmt_ @ src/qs/qs_64bit.c:56:6
7 34 26 2 0 1 0 0 0.2 QS_u64_raw_ @ src/qs/qs_64bit.c:37:6
7 32 27 2 0 2 0 0 0.8 QS_u8_fmt_ @ src/qs/qs.c:438:6
6 25 22 2 0 1 0 0 0.7 QS_u8_raw_ @ src/qs/qs.c:330:6
1 4 8 1 7 2 0 0 0.5 QS_usr_dict_pre_ @ src/qs/qs.c:724:6
13 76 29 2 1 0 1 0 0.3 monthNum @ src/qs/qs.c:833:16

File Metrics

This section contains the file metrics measured by the PC-Lint-Plus (v2025) static analysis tool. The metrics were collected for most source and header files in the QP/C distribution, including the QP/Spy software tracing component (typically inactive in the Release build configuration).

HIS Metric PCLP Metrics Description (from PCLP Manual)
LINES num_lines The number of lines in a file prior to preprocessing.
CODE num_code_lines The number of code lines in a file prior to preprocessing.
COMMENT num_comment_lines The number of comment lines in a file prior to preprocessing.
INCL num_include_directives The number of lines with the grammatical form of an include directive written within a file prior to preprocessing. This includes directives within conditionally disabled regions.
LINES CODE COMMENT INCL File
----------------------------------------
90 39 47 0 qpc/include/qequeue.h
118 55 53 0 qpc/include/qk.h
101 52 45 0 qpc/include/qmpool.h
792 457 222 0 qpc/include/qp.h
81 27 46 0 qpc/include/qp_pkg.h
767 483 255 0 qpc/include/qs.h
115 73 32 0 qpc/include/qs_dummy.h
148 101 50 0 qpc/include/qs_pkg.h
146 84 37 0 qpc/include/qsafe.h
35 5 29 0 qpc/include/qstamp.h
82 29 45 0 qpc/include/qv.h
260 129 98 0 qpc/include/qxk.h
646 408 252 6 qpc/src/qf/qep_hsm.c
479 327 146 6 qpc/src/qf/qep_msm.c
77 30 55 6 qpc/src/qf/qf_act.c
519 334 209 6 qpc/src/qf/qf_actq.c
154 93 81 6 qpc/src/qf/qf_defer.c
393 229 137 6 qpc/src/qf/qf_dyn.c
267 148 129 6 qpc/src/qf/qf_mem.c
296 151 113 6 qpc/src/qf/qf_ps.c
258 162 111 6 qpc/src/qf/qf_qact.c
309 201 148 6 qpc/src/qf/qf_qeq.c
62 22 48 6 qpc/src/qf/qf_qmact.c
446 267 175 6 qpc/src/qf/qf_time.c
379 218 156 6 qpc/src/qk/qk.c
930 648 337 4 qpc/src/qs/qs.c
82 37 44 2 qpc/src/qs/qs_64bit.c
125 62 64 2 qpc/src/qs/qs_fp.c
1525 1277 449 5 qpc/src/qs/qs_rx.c
32 3 28 1 qpc/src/qs/qstamp.c
584 381 193 5 qpc/src/qs/qutest.c
242 141 102 6 qpc/src/qv/qv.c
461 278 174 6 qpc/src/qxk/qxk.c
384 210 163 6 qpc/src/qxk/qxk_mutex.c
245 143 102 6 qpc/src/qxk/qxk_sema.c
371 187 148 6 qpc/src/qxk/qxk_xthr.c
123 62 51 8 qpc/static-analysis/pclp/qk/qp_port.h
232 14 187 0 qpc/static-analysis/pclp/qp_config.h
103 44 50 8 qpc/static-analysis/pclp/qv/qp_port.h
49 9 38 2 qpc/static-analysis/pclp/qv/qs_port.h
130 65 53 8 qpc/static-analysis/pclp/qxk/qp_port.h

About this Document