Kalimetrix Logiscope Quality Report    


Date: 11 Jul 2014

This document contains information concerning the quality analysis of the project Analyse_LFR_Cpp made with Logiscope QualityChecker which is part of Kalimetrix Logiscope.

The following levels of information are available:

Application Level

The following levels are available for Application analysis:

Application Metric Level

In the following array you will find for each metric which applies to the application:

To have more information concerning the metric description, you just have to follow the link.

Mnemonic Metric Name Min Max Value
ap_eloc Application effective lines of code -oo +oo 6624
ap_sloc Number of lines of code -oo +oo 8029
ap_ssbra Number of lines with lone braces -oo +oo 1405

Functions Level

The following levels are available for Functions analysis:

Functions Factor Level

In the following array you will find for each factor which applies to functions:

To have more information concerning the factor description, you just have to follow the link.

Factor

AUTO_DESCRIPTION

MAINTAINABILITY

Functions Criteria Level

In the following array you will find for each criteria which applies to functions:

To have more information concerning the criteria description, you just have to follow the link.

Criteria

AUTO_DESCRIPTION

MAINTAINABILITY

Functions Metric Level

In the following array you will find for each metric which applies to functions:

Mnemonic Metric Name Min Max Out
com_freq Comment frequency 0.15 +oo 18.18%
ct_nest Maximum nesting level 0 4 5.05%
ct_vg Cyclomatic number (VG) 0 20 4.04%
dc_calls Number of direct calls 0 20 0.00%
ic_param Number of parameters 0 7 0.00%
lc_comm Number of lines of comments -oo +oo 0.00%
lc_stat Number of statements 0 200 3.03%

Source File List

In the following table you will find for each file of the application:

File Name Date
avf0_prc0.c 11/07/14-09:48:26
avf1_prc1.c 11/07/14-09:48:26
avf2_prc2.c 11/07/14-09:48:26
basic_parameters.c 26/05/14-15:26:48
file_utilities.c 26/05/14-15:26:48
fsw_config.c 21/01/14-13:48:08
fsw_globals.c 16/06/14-08:08:30
fsw_init.c 23/06/14-07:51:26
fsw_misc.c 17/06/14-07:32:52
fsw_processing.c 16/06/14-15:44:20
fsw_processing_globals.c 24/10/13-16:28:16
fsw_spacewire.c 29/04/14-11:25:32
lfr_cpu_usage_report.c 27/05/14-07:25:20
main.c 26/05/14-15:26:48
tc_acceptance.c 31/03/14-09:16:42
tc_handler.c 19/06/14-07:38:26
tc_load_dump_parameters.c 20/06/14-15:19:16
tm_lfr_tc_exe.c 17/06/14-09:18:08
wf_handler.c 23/06/14-07:09:38
avf0_prc0.h 16/06/14-14:12:54
avf1_prc1.h 28/04/14-14:58:38
avf2_prc2.h 11/07/14-09:48:26
basic_parameters.h 26/05/14-15:26:48
basic_parameters_params.h 26/05/14-15:26:48
ccsds_types.h 12/06/14-07:09:18
file_utilities.h 26/05/14-15:26:48
fsw_init.h 28/04/14-12:58:00
fsw_misc.h 16/06/14-08:08:30
fsw_params.h 16/06/14-08:54:02
fsw_params_nb_bytes.h 15/05/14-07:51:46
fsw_params_processing.h 11/07/14-09:48:26
fsw_params_wf_handler.h 13/05/14-09:24:46
fsw_processing.h 11/07/14-09:48:26
fsw_spacewire.h 29/04/14-11:25:32
grlib_regs.h 16/06/14-15:38:38
lfr_cpu_usage_report.h 16/05/14-07:16:16
tc_acceptance.h 31/03/14-08:35:54
tc_handler.h 15/05/14-14:55:34
tc_load_dump_parameters.h 17/06/14-09:35:28
TC_types.h 28/01/14-08:16:54
tm_byte_positions.h 28/01/14-07:23:58
tm_lfr_tc_exe.h 31/03/14-07:17:48
wf_handler.h 29/05/14-09:32:54

Functions Factor Description

Factor : MAINTAINABILITY

This factor applies to Functions for C++ language.

The formula to compute the factor is :

MAINTAINABILITY = MAINTAINABILITY

  MAINTAINABILITY
 

Factor : AUTO_DESCRIPTION

This factor applies to Functions for C++ language.

The formula to compute the factor is :

AUTO_DESCRIPTION = AUTO_DESCRIPTION

 AUTO_DESCRIPTION
 

Functions Criteria Description

Criteria : MAINTAINABILITY

This criteria applies to Functions for C++ language.

The formula to compute the criteria is :

MAINTAINABILITY = lc_stat + ct_vg + ct_nest + dc_calls + ic_param

  MAINTAINABILITY: the capability of the software product to be modified. 
Modifications may include corrections, improvements or adaptation 
of the software to changes in environment, and in requirements 
and functional specifications [ISO/IEC 9126-1:2001].
 

Criteria : AUTO_DESCRIPTION

This criteria applies to Functions for C++ language.

The formula to compute the criteria is :

AUTO_DESCRIPTION = com_freq

 AUTO_DESCRIPTION: Function distribution VS comment ratio.
 

Application Metric Description

Metric : Application effective lines of code (ap_eloc)

This metric applies to Application for C++ language.

The formula to compute the metric is :

ap_eloc = ap_sloc - ap_ssbra

 Total number of effective lines of code in the project source files;
Empty lines, lines of comments or lines containing only block tags (e.g. begin, end) 
are not counted:
  ap_eloc = ap_sloc - ap_ssbra
  where:
	ap_sloc is the number of lines of code in the project source files,
	ap_ssbra is the number of lines containing block tags in the project source files. 
 

Metric : Number of lines of code (ap_sloc)

This metric applies to Application for C++ language.

 
Number of lines containing executable code in the application.
 

Metric : Number of lines with lone braces (ap_ssbra)

This metric applies to Application for C++ language.

 
Number of lines containing only one brace { or } in the application
(only Begin / End  for Ada).
 

Functions Metric Description

Metric : Comment frequency (com_freq)

This metric applies to Functions for C++ language.

The formula to compute the metric is :

com_freq = (lc_comm) / (lc_stat MAX 1)

 Ratio between the number of lines of comments in the function 
and the number of statements:
  com_freq = lc_comm / lc_stat
  where:
	lc_comm is the number of lines of comments between the function header and the closing curly bracket of the previous function and within the function,
	lc_stat is the number of instructions in the function. MAX(lc_stat,1) used to avoid division by 0.
 

Metric : Maximum nesting level (ct_nest)

This metric applies to Functions for C++ language.

 

Maximum number of control structure nested levels in a function.

 

Metric : Cyclomatic number (VG) (ct_vg)

This metric applies to Functions for C++ language.

For compatibility reasons this metric is also known as ct_cyclo, VG.

 

Cyclomatic number of the control graph of the function
In the graph theory the Cyclomatic number V(g) gives the number of linearly
independent paths in a connected graph. 
For a  connected graph g the cyclomatic
number is calculated as follows:
	V(g) = E - N + 1
	where:
	E is the number of edges between the graph's nodes
	N is the number of nodes in the graph.
For a control graph which is not a  connected graph since it has one or several
entries and one or several exits the cyclomatic number is given by the formula:
	V(g) = E - N + 2 + AEn + AEx
	where:
	E is the number of edges between a graph's nodes
	N is the number of nodes in the graph
	AEn is the number of auxiliary entries
	AEx is the number of auxiliary exits

This metric is often use as an indicator of the minimum number of test cases 
to be exercised on the function. 
For more details please refer to Logiscope QualityChecker - Basic Concepts manual.

 

Metric : Number of direct calls (dc_calls)

This metric applies to Functions for C++ language.

For compatibility reasons this metric is also known as CALL_PATHS, DRCT_CALLS.

 

Number of different function calls made in the function.
	Example:
		printf (" message 1") ;
		printf (" message 2") ;
	dc_calls value = 1

 

Metric : Number of parameters (ic_param)

This metric applies to Functions for C++ language.

For compatibility reasons this metric is also known as PARA.

 

Number of formal parameters in the function.

 

Metric : Number of statements (lc_stat)

This metric applies to Functions for C++ language.

For compatibility reasons this metric is also known as STMT.

 

Number of executable statements in the function.
The following are usually considered as executable statements:

	;(empty statement)  
      IF [ELSE]	SWITCH
	DO		FOR		WHILE	
      GOTO		BREAK		CONTINUE
	RETURN	THROW		TRY		ASM
	expression;(simple statement)
	function definition 
	variable declaration 

Statements located in the external declarations are not taken into account.

For a detailed specification of executable statements in the project programming language 
please refer to the corresponding Logiscope - QualityChecker and RuleChecker - Reference Manual. 

 

Metric : Number of lines of comments (lc_comm)

This metric applies to Functions for C++ language.

For compatibility reasons this metric is also known as LCOM.

 

Number of lines of comments in the function.
Note: Comments just before the function's header are also taken into account.

 

Functions & Methods Factor categories

Factor : MAINTAINABILITY : EXCELLENT

Functions & Methods name
avf2_task (rtems_task_argument)
prc2_task (rtems_task_argument)
SM_average_f2 (float*, ring_node_sm*, unsignedint)
lecture_file_sm (const char*)
init_k_coefficients_f0 (void)
configure_timer (gptimer_regs_t*, unsignedchar, unsignedint, unsignedchar, rtems_isr (*)())
timer_stop (gptimer_regs_t*, unsignedchar)
timer_set_clock_divider (gptimer_regs_t*, unsignedchar, unsignedint)
send_console_outputs_on_apbuart_port (void)
enable_apbuart_transmitter (void)
get_v_e1_e2_f3 (unsignedchar*)
get_cpu_load (unsignedchar*)
spectral_matrices_isr_f0 (void)
spectral_matrices_isr_f1 (void)
spectral_matrices_isr_f2 (void)
spectral_matrix_isr_error_handler (void)
spectral_matrices_isr (rtems_vector_number)
spectral_matrices_isr_simu (rtems_vector_number)
reset_nb_sm (void)
SM_init_rings (void)
ASM_generic_init_ring (ring_node_asm*, unsignedchar)
SM_reset_current_ring_nodes (void)
ASM_init_header (Header_TM_LFR_SCIENCE_ASM_t*)
ASM_send (Header_TM_LFR_SCIENCE_ASM_t*, char*, unsignedint, spw_ioctl_pkt_send*, rtems_id)
BP_init_header (Header_TM_LFR_SCIENCE_BP_t*, unsignedint, unsignedchar, unsignedint, unsignedchar)
BP_init_header_with_spare (Header_TM_LFR_SCIENCE_BP_with_spare_t*, unsignedint, unsignedchar, unsignedint, unsignedchar)
BP_send (char*, rtems_id, unsignedint, unsignedint)
reset_spectral_matrix_regs (void)
set_time (unsignedchar*, unsignedchar*)
get_acquisition_time (unsignedchar*)
close_matrix_actions (unsignedint*, unsignedint, rtems_id, ring_node_sm*, ring_node_sm*, unsignedlonglongint)
getSID (rtems_event_set)
spacewire_update_statistics (void)
timecode_irq_handler (void*, void*, int, unsignedint)
user_routine (rtems_id, void*)
main (void)
Crc_opt (unsignedchar, unsignedint)
initLookUpTableForCRC (void)
GetCRCAsTwoBytes (unsignedchar*, unsignedchar*, unsignedint)
tc_parser (ccsdsTelecommandPacket_t*, unsignedint, unsignedchar*)
tc_check_type (unsignedchar)
tc_check_type_subtype (unsignedchar, unsignedchar)
tc_check_sid (unsignedchar)
tc_check_crc (ccsdsTelecommandPacket_t*, unsignedint, unsignedchar*)
action_load_common_par (ccsdsTelecommandPacket_t*)
action_load_normal_par (ccsdsTelecommandPacket_t*, rtems_id, unsignedchar*)
action_load_burst_par (ccsdsTelecommandPacket_t*, rtems_id, unsignedchar*)
action_load_sbm1_par (ccsdsTelecommandPacket_t*, rtems_id, unsignedchar*)
action_load_sbm2_par (ccsdsTelecommandPacket_t*, rtems_id, unsignedchar*)
action_dump_par (rtems_id)
set_sy_lfr_n_swf_l (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_swf_p (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_asm_p (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_bp_p0 (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_bp_p1 (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_cwf_long_f3 (ccsdsTelecommandPacket_t*)
set_sy_lfr_b_bp_p0 (ccsdsTelecommandPacket_t*)
set_sy_lfr_b_bp_p1 (ccsdsTelecommandPacket_t*)
set_sy_lfr_s1_bp_p0 (ccsdsTelecommandPacket_t*)
set_sy_lfr_s1_bp_p1 (ccsdsTelecommandPacket_t*)
set_sy_lfr_s2_bp_p0 (ccsdsTelecommandPacket_t*)
set_sy_lfr_s2_bp_p1 (ccsdsTelecommandPacket_t*)
check_update_info_hk_lfr_mode (unsignedchar)
check_update_info_hk_tds_mode (unsignedchar)
check_update_info_hk_thr_mode (unsignedchar)
init_parameter_dump (void)
reset_extractSWF (void)
waveforms_isr (rtems_vector_number)
wfrm_task (rtems_task_argument)
init_header_snapshot_wf_table (unsignedint, Header_TM_LFR_SCIENCE_SWF_t*)
init_header_continuous_wf_table (unsignedint, Header_TM_LFR_SCIENCE_CWF_t*)
init_header_continuous_cwf3_light_table (Header_TM_LFR_SCIENCE_CWF_t*)
send_waveform_SWF (volatile int*, unsignedint, Header_TM_LFR_SCIENCE_SWF_t*, rtems_id)
send_waveform_CWF (volatile int*, unsignedint, Header_TM_LFR_SCIENCE_CWF_t*, rtems_id)
send_waveform_CWF3_light (volatile int*, Header_TM_LFR_SCIENCE_CWF_t*, rtems_id)
compute_acquisition_time_old (unsignedint, unsignedint, unsignedint, unsignedchar, unsignedchar*)
compute_acquisition_time (unsignedint, unsignedint, unsignedint, unsignedchar, unsignedchar*)
build_snapshot_from_ring (ring_node*, unsignedchar)
build_acquisition_time_old (unsignedlonglongint*, ring_node*)
build_acquisition_time (unsignedlonglongint*, ring_node*)
reset_wfp_burst_enable (void)
reset_wfp_status (void)
reset_waveform_picker_regs (void)
set_wfp_data_shaping (void)
set_wfp_burst_enable_register (unsignedchar)
set_wfp_delta_snapshot (void)
set_wfp_delta_f0_f0_2 (void)
set_wfp_delta_f1 (void)
set_wfp_delta_f2 ()
increment_seq_counter_source_id (unsignedchar*, unsignedint)

Factor : MAINTAINABILITY : GOOD

Functions & Methods name
SM_average (float*, float*, ring_node_sm**, unsignedint, unsignedint)
hous_task (rtems_task_argument)
lfr_rtems_cpu_usage_report (void)
tc_check_length (unsignedchar, unsignedint)
send_tm_lfr_tc_exe_success (ccsdsTelecommandPacket_t*, rtems_id)
cwf3_task (rtems_task_argument)

Factor : MAINTAINABILITY : FAIR

Functions & Methods name
BP1_set (float*, float*, uint8_t, uint8_t*)
BP2_set (float*, uint8_t, uint8_t*)
spiq_task (rtems_task_argument)

Factor : AUTO_DESCRIPTION : EXCELLENT

Functions & Methods name
BP1_set (float*, float*, uint8_t, uint8_t*)
BP2_set (float*, uint8_t, uint8_t*)
avf2_task (rtems_task_argument)
prc2_task (rtems_task_argument)
configure_timer (gptimer_regs_t*, unsignedchar, unsignedint, unsignedchar, rtems_isr (*)())
timer_stop (gptimer_regs_t*, unsignedchar)
timer_set_clock_divider (gptimer_regs_t*, unsignedchar, unsignedint)
send_console_outputs_on_apbuart_port (void)
enable_apbuart_transmitter (void)
hous_task (rtems_task_argument)
get_cpu_load (unsignedchar*)
spectral_matrices_isr_f0 (void)
spectral_matrices_isr_f1 (void)
spectral_matrices_isr_f2 (void)
spectral_matrix_isr_error_handler (void)
spectral_matrices_isr (rtems_vector_number)
spectral_matrices_isr_simu (rtems_vector_number)
reset_nb_sm (void)
SM_init_rings (void)
ASM_init_header (Header_TM_LFR_SCIENCE_ASM_t*)
ASM_send (Header_TM_LFR_SCIENCE_ASM_t*, char*, unsignedint, spw_ioctl_pkt_send*, rtems_id)
BP_init_header (Header_TM_LFR_SCIENCE_BP_t*, unsignedint, unsignedchar, unsignedint, unsignedchar)
BP_init_header_with_spare (Header_TM_LFR_SCIENCE_BP_with_spare_t*, unsignedint, unsignedchar, unsignedint, unsignedchar)
BP_send (char*, rtems_id, unsignedint, unsignedint)
reset_spectral_matrix_regs (void)
get_acquisition_time (unsignedchar*)
getSID (rtems_event_set)
spiq_task (rtems_task_argument)
spacewire_update_statistics (void)
timecode_irq_handler (void*, void*, int, unsignedint)
user_routine (rtems_id, void*)
lfr_rtems_cpu_usage_report (void)
main (void)
Crc_opt (unsignedchar, unsignedint)
initLookUpTableForCRC (void)
GetCRCAsTwoBytes (unsignedchar*, unsignedchar*, unsignedint)
tc_parser (ccsdsTelecommandPacket_t*, unsignedint, unsignedchar*)
tc_check_type (unsignedchar)
tc_check_type_subtype (unsignedchar, unsignedchar)
tc_check_sid (unsignedchar)
tc_check_length (unsignedchar, unsignedint)
tc_check_crc (ccsdsTelecommandPacket_t*, unsignedint, unsignedchar*)
action_load_common_par (ccsdsTelecommandPacket_t*)
action_load_normal_par (ccsdsTelecommandPacket_t*, rtems_id, unsignedchar*)
action_load_burst_par (ccsdsTelecommandPacket_t*, rtems_id, unsignedchar*)
action_load_sbm1_par (ccsdsTelecommandPacket_t*, rtems_id, unsignedchar*)
action_load_sbm2_par (ccsdsTelecommandPacket_t*, rtems_id, unsignedchar*)
action_dump_par (rtems_id)
set_sy_lfr_n_swf_l (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_swf_p (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_asm_p (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_bp_p0 (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_bp_p1 (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_cwf_long_f3 (ccsdsTelecommandPacket_t*)
set_sy_lfr_b_bp_p0 (ccsdsTelecommandPacket_t*)
set_sy_lfr_b_bp_p1 (ccsdsTelecommandPacket_t*)
set_sy_lfr_s1_bp_p0 (ccsdsTelecommandPacket_t*)
set_sy_lfr_s1_bp_p1 (ccsdsTelecommandPacket_t*)
set_sy_lfr_s2_bp_p0 (ccsdsTelecommandPacket_t*)
set_sy_lfr_s2_bp_p1 (ccsdsTelecommandPacket_t*)
check_update_info_hk_lfr_mode (unsignedchar)
init_parameter_dump (void)
send_tm_lfr_tc_exe_success (ccsdsTelecommandPacket_t*, rtems_id)
reset_extractSWF (void)
waveforms_isr (rtems_vector_number)
wfrm_task (rtems_task_argument)
cwf3_task (rtems_task_argument)
init_header_snapshot_wf_table (unsignedint, Header_TM_LFR_SCIENCE_SWF_t*)
send_waveform_SWF (volatile int*, unsignedint, Header_TM_LFR_SCIENCE_SWF_t*, rtems_id)
send_waveform_CWF (volatile int*, unsignedint, Header_TM_LFR_SCIENCE_CWF_t*, rtems_id)
send_waveform_CWF3_light (volatile int*, Header_TM_LFR_SCIENCE_CWF_t*, rtems_id)
build_snapshot_from_ring (ring_node*, unsignedchar)
build_acquisition_time_old (unsignedlonglongint*, ring_node*)
build_acquisition_time (unsignedlonglongint*, ring_node*)
reset_wfp_burst_enable (void)
reset_wfp_status (void)
reset_waveform_picker_regs (void)
set_wfp_data_shaping (void)
set_wfp_burst_enable_register (unsignedchar)
set_wfp_delta_snapshot (void)
increment_seq_counter_source_id (unsignedchar*, unsignedint)

Factor : AUTO_DESCRIPTION : POOR

Functions & Methods name
SM_average (float*, float*, ring_node_sm**, unsignedint, unsignedint)
SM_average_f2 (float*, ring_node_sm*, unsignedint)
lecture_file_sm (const char*)
init_k_coefficients_f0 (void)
get_v_e1_e2_f3 (unsignedchar*)
ASM_generic_init_ring (ring_node_asm*, unsignedchar)
SM_reset_current_ring_nodes (void)
set_time (unsignedchar*, unsignedchar*)
close_matrix_actions (unsignedint*, unsignedint, rtems_id, ring_node_sm*, ring_node_sm*, unsignedlonglongint)
check_update_info_hk_tds_mode (unsignedchar)
check_update_info_hk_thr_mode (unsignedchar)
init_header_continuous_wf_table (unsignedint, Header_TM_LFR_SCIENCE_CWF_t*)
init_header_continuous_cwf3_light_table (Header_TM_LFR_SCIENCE_CWF_t*)
compute_acquisition_time_old (unsignedint, unsignedint, unsignedint, unsignedchar, unsignedchar*)
compute_acquisition_time (unsignedint, unsignedint, unsignedint, unsignedchar, unsignedchar*)
set_wfp_delta_f0_f0_2 (void)
set_wfp_delta_f1 (void)
set_wfp_delta_f2 ()

Functions & Methods Criteria categories

Criteria : MAINTAINABILITY : EXCELLENT

Functions & Methods name
avf2_task (rtems_task_argument)
prc2_task (rtems_task_argument)
SM_average_f2 (float*, ring_node_sm*, unsignedint)
lecture_file_sm (const char*)
init_k_coefficients_f0 (void)
configure_timer (gptimer_regs_t*, unsignedchar, unsignedint, unsignedchar, rtems_isr (*)())
timer_stop (gptimer_regs_t*, unsignedchar)
timer_set_clock_divider (gptimer_regs_t*, unsignedchar, unsignedint)
send_console_outputs_on_apbuart_port (void)
enable_apbuart_transmitter (void)
get_v_e1_e2_f3 (unsignedchar*)
get_cpu_load (unsignedchar*)
spectral_matrices_isr_f0 (void)
spectral_matrices_isr_f1 (void)
spectral_matrices_isr_f2 (void)
spectral_matrix_isr_error_handler (void)
spectral_matrices_isr (rtems_vector_number)
spectral_matrices_isr_simu (rtems_vector_number)
reset_nb_sm (void)
SM_init_rings (void)
ASM_generic_init_ring (ring_node_asm*, unsignedchar)
SM_reset_current_ring_nodes (void)
ASM_init_header (Header_TM_LFR_SCIENCE_ASM_t*)
ASM_send (Header_TM_LFR_SCIENCE_ASM_t*, char*, unsignedint, spw_ioctl_pkt_send*, rtems_id)
BP_init_header (Header_TM_LFR_SCIENCE_BP_t*, unsignedint, unsignedchar, unsignedint, unsignedchar)
BP_init_header_with_spare (Header_TM_LFR_SCIENCE_BP_with_spare_t*, unsignedint, unsignedchar, unsignedint, unsignedchar)
BP_send (char*, rtems_id, unsignedint, unsignedint)
reset_spectral_matrix_regs (void)
set_time (unsignedchar*, unsignedchar*)
get_acquisition_time (unsignedchar*)
close_matrix_actions (unsignedint*, unsignedint, rtems_id, ring_node_sm*, ring_node_sm*, unsignedlonglongint)
getSID (rtems_event_set)
spacewire_update_statistics (void)
timecode_irq_handler (void*, void*, int, unsignedint)
user_routine (rtems_id, void*)
main (void)
Crc_opt (unsignedchar, unsignedint)
initLookUpTableForCRC (void)
GetCRCAsTwoBytes (unsignedchar*, unsignedchar*, unsignedint)
tc_parser (ccsdsTelecommandPacket_t*, unsignedint, unsignedchar*)
tc_check_type (unsignedchar)
tc_check_type_subtype (unsignedchar, unsignedchar)
tc_check_sid (unsignedchar)
tc_check_crc (ccsdsTelecommandPacket_t*, unsignedint, unsignedchar*)
action_load_common_par (ccsdsTelecommandPacket_t*)
action_load_normal_par (ccsdsTelecommandPacket_t*, rtems_id, unsignedchar*)
action_load_burst_par (ccsdsTelecommandPacket_t*, rtems_id, unsignedchar*)
action_load_sbm1_par (ccsdsTelecommandPacket_t*, rtems_id, unsignedchar*)
action_load_sbm2_par (ccsdsTelecommandPacket_t*, rtems_id, unsignedchar*)
action_dump_par (rtems_id)
set_sy_lfr_n_swf_l (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_swf_p (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_asm_p (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_bp_p0 (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_bp_p1 (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_cwf_long_f3 (ccsdsTelecommandPacket_t*)
set_sy_lfr_b_bp_p0 (ccsdsTelecommandPacket_t*)
set_sy_lfr_b_bp_p1 (ccsdsTelecommandPacket_t*)
set_sy_lfr_s1_bp_p0 (ccsdsTelecommandPacket_t*)
set_sy_lfr_s1_bp_p1 (ccsdsTelecommandPacket_t*)
set_sy_lfr_s2_bp_p0 (ccsdsTelecommandPacket_t*)
set_sy_lfr_s2_bp_p1 (ccsdsTelecommandPacket_t*)
check_update_info_hk_lfr_mode (unsignedchar)
check_update_info_hk_tds_mode (unsignedchar)
check_update_info_hk_thr_mode (unsignedchar)
init_parameter_dump (void)
reset_extractSWF (void)
waveforms_isr (rtems_vector_number)
wfrm_task (rtems_task_argument)
init_header_snapshot_wf_table (unsignedint, Header_TM_LFR_SCIENCE_SWF_t*)
init_header_continuous_wf_table (unsignedint, Header_TM_LFR_SCIENCE_CWF_t*)
init_header_continuous_cwf3_light_table (Header_TM_LFR_SCIENCE_CWF_t*)
send_waveform_SWF (volatile int*, unsignedint, Header_TM_LFR_SCIENCE_SWF_t*, rtems_id)
send_waveform_CWF (volatile int*, unsignedint, Header_TM_LFR_SCIENCE_CWF_t*, rtems_id)
send_waveform_CWF3_light (volatile int*, Header_TM_LFR_SCIENCE_CWF_t*, rtems_id)
compute_acquisition_time_old (unsignedint, unsignedint, unsignedint, unsignedchar, unsignedchar*)
compute_acquisition_time (unsignedint, unsignedint, unsignedint, unsignedchar, unsignedchar*)
build_snapshot_from_ring (ring_node*, unsignedchar)
build_acquisition_time_old (unsignedlonglongint*, ring_node*)
build_acquisition_time (unsignedlonglongint*, ring_node*)
reset_wfp_burst_enable (void)
reset_wfp_status (void)
reset_waveform_picker_regs (void)
set_wfp_data_shaping (void)
set_wfp_burst_enable_register (unsignedchar)
set_wfp_delta_snapshot (void)
set_wfp_delta_f0_f0_2 (void)
set_wfp_delta_f1 (void)
set_wfp_delta_f2 ()
increment_seq_counter_source_id (unsignedchar*, unsignedint)

Criteria : MAINTAINABILITY : GOOD

Functions & Methods name
SM_average (float*, float*, ring_node_sm**, unsignedint, unsignedint)
hous_task (rtems_task_argument)
lfr_rtems_cpu_usage_report (void)
tc_check_length (unsignedchar, unsignedint)
send_tm_lfr_tc_exe_success (ccsdsTelecommandPacket_t*, rtems_id)
cwf3_task (rtems_task_argument)

Criteria : MAINTAINABILITY : FAIR

Functions & Methods name
BP1_set (float*, float*, uint8_t, uint8_t*)
BP2_set (float*, uint8_t, uint8_t*)
spiq_task (rtems_task_argument)

Criteria : AUTO_DESCRIPTION : EXCELLENT

Functions & Methods name
BP1_set (float*, float*, uint8_t, uint8_t*)
BP2_set (float*, uint8_t, uint8_t*)
avf2_task (rtems_task_argument)
prc2_task (rtems_task_argument)
configure_timer (gptimer_regs_t*, unsignedchar, unsignedint, unsignedchar, rtems_isr (*)())
timer_stop (gptimer_regs_t*, unsignedchar)
timer_set_clock_divider (gptimer_regs_t*, unsignedchar, unsignedint)
send_console_outputs_on_apbuart_port (void)
enable_apbuart_transmitter (void)
hous_task (rtems_task_argument)
get_cpu_load (unsignedchar*)
spectral_matrices_isr_f0 (void)
spectral_matrices_isr_f1 (void)
spectral_matrices_isr_f2 (void)
spectral_matrix_isr_error_handler (void)
spectral_matrices_isr (rtems_vector_number)
spectral_matrices_isr_simu (rtems_vector_number)
reset_nb_sm (void)
SM_init_rings (void)
ASM_init_header (Header_TM_LFR_SCIENCE_ASM_t*)
ASM_send (Header_TM_LFR_SCIENCE_ASM_t*, char*, unsignedint, spw_ioctl_pkt_send*, rtems_id)
BP_init_header (Header_TM_LFR_SCIENCE_BP_t*, unsignedint, unsignedchar, unsignedint, unsignedchar)
BP_init_header_with_spare (Header_TM_LFR_SCIENCE_BP_with_spare_t*, unsignedint, unsignedchar, unsignedint, unsignedchar)
BP_send (char*, rtems_id, unsignedint, unsignedint)
reset_spectral_matrix_regs (void)
get_acquisition_time (unsignedchar*)
getSID (rtems_event_set)
spiq_task (rtems_task_argument)
spacewire_update_statistics (void)
timecode_irq_handler (void*, void*, int, unsignedint)
user_routine (rtems_id, void*)
lfr_rtems_cpu_usage_report (void)
main (void)
Crc_opt (unsignedchar, unsignedint)
initLookUpTableForCRC (void)
GetCRCAsTwoBytes (unsignedchar*, unsignedchar*, unsignedint)
tc_parser (ccsdsTelecommandPacket_t*, unsignedint, unsignedchar*)
tc_check_type (unsignedchar)
tc_check_type_subtype (unsignedchar, unsignedchar)
tc_check_sid (unsignedchar)
tc_check_length (unsignedchar, unsignedint)
tc_check_crc (ccsdsTelecommandPacket_t*, unsignedint, unsignedchar*)
action_load_common_par (ccsdsTelecommandPacket_t*)
action_load_normal_par (ccsdsTelecommandPacket_t*, rtems_id, unsignedchar*)
action_load_burst_par (ccsdsTelecommandPacket_t*, rtems_id, unsignedchar*)
action_load_sbm1_par (ccsdsTelecommandPacket_t*, rtems_id, unsignedchar*)
action_load_sbm2_par (ccsdsTelecommandPacket_t*, rtems_id, unsignedchar*)
action_dump_par (rtems_id)
set_sy_lfr_n_swf_l (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_swf_p (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_asm_p (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_bp_p0 (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_bp_p1 (ccsdsTelecommandPacket_t*)
set_sy_lfr_n_cwf_long_f3 (ccsdsTelecommandPacket_t*)
set_sy_lfr_b_bp_p0 (ccsdsTelecommandPacket_t*)
set_sy_lfr_b_bp_p1 (ccsdsTelecommandPacket_t*)
set_sy_lfr_s1_bp_p0 (ccsdsTelecommandPacket_t*)
set_sy_lfr_s1_bp_p1 (ccsdsTelecommandPacket_t*)
set_sy_lfr_s2_bp_p0 (ccsdsTelecommandPacket_t*)
set_sy_lfr_s2_bp_p1 (ccsdsTelecommandPacket_t*)
check_update_info_hk_lfr_mode (unsignedchar)
init_parameter_dump (void)
send_tm_lfr_tc_exe_success (ccsdsTelecommandPacket_t*, rtems_id)
reset_extractSWF (void)
waveforms_isr (rtems_vector_number)
wfrm_task (rtems_task_argument)
cwf3_task (rtems_task_argument)
init_header_snapshot_wf_table (unsignedint, Header_TM_LFR_SCIENCE_SWF_t*)
send_waveform_SWF (volatile int*, unsignedint, Header_TM_LFR_SCIENCE_SWF_t*, rtems_id)
send_waveform_CWF (volatile int*, unsignedint, Header_TM_LFR_SCIENCE_CWF_t*, rtems_id)
send_waveform_CWF3_light (volatile int*, Header_TM_LFR_SCIENCE_CWF_t*, rtems_id)
build_snapshot_from_ring (ring_node*, unsignedchar)
build_acquisition_time_old (unsignedlonglongint*, ring_node*)
build_acquisition_time (unsignedlonglongint*, ring_node*)
reset_wfp_burst_enable (void)
reset_wfp_status (void)
reset_waveform_picker_regs (void)
set_wfp_data_shaping (void)
set_wfp_burst_enable_register (unsignedchar)
set_wfp_delta_snapshot (void)
increment_seq_counter_source_id (unsignedchar*, unsignedint)

Criteria : AUTO_DESCRIPTION : POOR

Functions & Methods name
SM_average (float*, float*, ring_node_sm**, unsignedint, unsignedint)
SM_average_f2 (float*, ring_node_sm*, unsignedint)
lecture_file_sm (const char*)
init_k_coefficients_f0 (void)
get_v_e1_e2_f3 (unsignedchar*)
ASM_generic_init_ring (ring_node_asm*, unsignedchar)
SM_reset_current_ring_nodes (void)
set_time (unsignedchar*, unsignedchar*)
close_matrix_actions (unsignedint*, unsignedint, rtems_id, ring_node_sm*, ring_node_sm*, unsignedlonglongint)
check_update_info_hk_tds_mode (unsignedchar)
check_update_info_hk_thr_mode (unsignedchar)
init_header_continuous_wf_table (unsignedint, Header_TM_LFR_SCIENCE_CWF_t*)
init_header_continuous_cwf3_light_table (Header_TM_LFR_SCIENCE_CWF_t*)
compute_acquisition_time_old (unsignedint, unsignedint, unsignedint, unsignedchar, unsignedchar*)
compute_acquisition_time (unsignedint, unsignedint, unsignedint, unsignedchar, unsignedchar*)
set_wfp_delta_f0_f0_2 (void)
set_wfp_delta_f1 (void)
set_wfp_delta_f2 ()

Functions Metric values out of bounds

Metric : Comment frequency

The objects out of bounds for this metric are listed in the following table:

Functions & Methods name Value
SM_average (float*, float*, ring_node_sm**, unsignedint, unsignedint) 0.13
SM_average_f2 (float*, ring_node_sm*, unsignedint) 0.00
lecture_file_sm (const char*) 0.03
init_k_coefficients_f0 (void) 0.03
get_v_e1_e2_f3 (unsignedchar*) 0.06
ASM_generic_init_ring (ring_node_asm*, unsignedchar) 0.00
SM_reset_current_ring_nodes (void) 0.00
set_time (unsignedchar*, unsignedchar*) 0.00
close_matrix_actions (unsignedint*, unsignedint, rtems_id, ring_node_sm*, ring_node_sm*, unsignedlonglongint) 0.00
check_update_info_hk_tds_mode (unsignedchar) 0.00
check_update_info_hk_thr_mode (unsignedchar) 0.00
init_header_continuous_wf_table (unsignedint, Header_TM_LFR_SCIENCE_CWF_t*) 0.13
init_header_continuous_cwf3_light_table (Header_TM_LFR_SCIENCE_CWF_t*) 0.14
compute_acquisition_time_old (unsignedint, unsignedint, unsignedint, unsignedchar, unsignedchar*) 0.03
compute_acquisition_time (unsignedint, unsignedint, unsignedint, unsignedchar, unsignedchar*) 0.03
set_wfp_delta_f0_f0_2 (void) 0.11
set_wfp_delta_f1 (void) 0.00
set_wfp_delta_f2 () 0.00

Metric : Maximum nesting level

The objects out of bounds for this metric are listed in the following table:

Functions & Methods name Value
SM_average (float*, float*, ring_node_sm**, unsignedint, unsignedint) 6
hous_task (rtems_task_argument) 6
spiq_task (rtems_task_argument) 9
lfr_rtems_cpu_usage_report (void) 5
cwf3_task (rtems_task_argument) 5

Metric : Cyclomatic number (VG)

The objects out of bounds for this metric are listed in the following table:

Functions & Methods name Value
BP1_set (float*, float*, uint8_t, uint8_t*) 44
BP2_set (float*, uint8_t, uint8_t*) 49
spiq_task (rtems_task_argument) 38
tc_check_length (unsignedchar, unsignedint) 25

Metric : Number of statements

The objects out of bounds for this metric are listed in the following table:

Functions & Methods name Value
BP1_set (float*, float*, uint8_t, uint8_t*) 208
BP2_set (float*, uint8_t, uint8_t*) 232
send_tm_lfr_tc_exe_success (ccsdsTelecommandPacket_t*, rtems_id) 250