{
"header_info": {
"ctcpost_version": "9.0",
"copyright": [
"Copyright (c) 1993-2013 Testwell Oy",
"Copyright (c) 2013-2018 Verifysoft Technology GmbH"
],
"license_notes": [
],
"symbolfiles": [
{
"name": "MON.sym",
"modified": "Fri May 04 10:27:54 2018"
}
],
"datafiles": [
{
"name": "MON.dat",
"modified": "Fri May 04 10:28:24 2018"
}
],
"chosen_source_files": [
],
"unchosen_source_files": [
],
"report_generated": "Fri May 04 10:37:41 2018",
"requested_coverage_view": "As instrumented",
"ctcpost_options": "MON.sym MON.dat -j jasonreport.json",
"execution_cost_function": "clock",
"execution_cost_type": "Clock ticks",
"execution_cost_scaling": "1"
},
"ctcpost_notices": [
],
"file": [
{
"name": "F:\\ctcwork\\v90\\doc\\examples\\prime.c",
"file_type": "source",
"instrumentation_mode": "multicondition+inclusive_timing",
"instrumentation_timestamp": "Fri May 04 10:27:53 2018",
"instrumentation_fingerprint": "0x92ec317c",
"sym_rewrite_count": 2,
"sym_update_count": 0,
"data_rewrite_count": 2,
"data_update_count": 0,
"function": [
{
"name": "main",
"parameters": "( void )",
"defined_at_line": 8,
"call_count": 1,
"total_execution_cost": 21060,
"average_execution_cost": 21060.0,
"max_execution_cost": 21060,
"probe": [
{
"type": "function",
"count1": 1,
"line": 8,
"sc_count": 0,
"nesting": 0,
"descr": "FUNCTION main()"
},
{
"type": "while",
"count1": 3,
"count2": 1,
"line": 12,
"sc_count": 1,
"nesting": 1,
"descr": "while (( prime_candidate = io_ask ( ) ) > 0)"
},
{
"type": "if",
"count1": 2,
"count2": 1,
"line": 14,
"sc_count": 1,
"nesting": 2,
"descr": "if (is_prime ( prime_candidate ))"
},
{
"type": "block_end",
"line": 15,
"sc_count": 2,
"nesting": 2,
"exepassed": true,
"descr": "}"
},
{
"type": "else",
"line": 16,
"sc_count": 2,
"nesting": 2,
"descr": "else"
},
{
"type": "block_end",
"line": 17,
"sc_count": 3,
"nesting": 2,
"exepassed": true,
"descr": "}"
},
{
"type": "block_end",
"line": 18,
"sc_count": 3,
"nesting": 1,
"exepassed": true,
"descr": "}"
},
{
"type": "return",
"count1": 1,
"line": 19,
"sc_count": 4,
"nesting": 1,
"descr": "return 0"
},
{
"type": "function_end_nr",
"line": 20,
"sc_count": 4,
"nesting": 0,
"descr": "}"
}
],
"summary": {
"ter": 100,
"hits": 6,
"all": 6,
"statement_ter": 100,
"statement_hits": 6,
"statement_all": 6,
"statement_available": true
}
}
],
"summary": {
"functions": 1,
"lines": 20,
"ter": 100,
"hits": 6,
"all": 6,
"statement_ter": 100,
"statement_hits": 6,
"statement_all": 6,
"statement_na_functions": 0
}
},
{
"name": "F:\\ctcwork\\v90\\doc\\examples\\io.c",
"file_type": "source",
"instrumentation_mode": "multicondition+inclusive_timing",
"instrumentation_timestamp": "Fri May 04 10:27:53 2018",
"instrumentation_fingerprint": "0x075a22bc",
"sym_rewrite_count": 2,
"sym_update_count": 0,
"data_rewrite_count": 2,
"data_update_count": 0,
"function": [
{
"name": "io_ask",
"parameters": "( )",
"defined_at_line": 5,
"call_count": 4,
"total_execution_cost": 21060,
"average_execution_cost": 5265.0,
"max_execution_cost": 8362,
"probe": [
{
"type": "function",
"count1": 4,
"line": 5,
"sc_count": 0,
"nesting": 0,
"descr": "FUNCTION io_ask()"
},
{
"type": "if",
"count1": 0,
"count2": 4,
"alarmed": true,
"line": 11,
"sc_count": 3,
"nesting": 1,
"descr": "if (( amount = scanf ( \"%u\" , & val ) ) <= 0)"
},
{
"type": "block_end",
"line": 13,
&n bsp; "sc_count": 4,
"nesting": 1,
"exepassed": true,
"descr": "}"
},
{
"type": "return",
"count1": 4,
"line": 14,
"sc_count": 5,
"nesting": 1,
"descr": "return val"
},
{
"type": "function_end_nr",
"line": 15,
"sc_count": 5,
"nesting": 0,
"descr": "}"
}
],
"summary": {
"ter": 75,
"hits": 3,
"all": 4,
"statement_ter": 83,
"statement_hits": 5,
"statement_all": 6,
"statement_available": true
}
}
,
{
"name": "io_report",
"parameters": "( unsigned val , char * str )",
"defined_at_line": 18,
"call_count": 3,
"total_execution_cost": 0,
"average_execution_cost": 0.0,
"max_execution_cost": 0,
"probe": [
{
"type": "function",
"count1": 3,
"line": 18,
"sc_count": 0,
"nesting": 0,
"descr": "FUNCTION io_report()"
},
{
"type": "function_end",
"count1": 3,
"line": 21,
"sc_count": 1,
"nesting": 0,
"descr": "}"
}
],
"summary": {
"ter": 100,
"hits": 2,
"all": 2,
"statement_ter": 100,
"statement_hits": 1,
"statement_all": 1,
"statement_available": true
}
}
],
"summary": {
"functions": 2,
"lines": 21,
"ter": 83,
"hits": 5,
"all": 6,
"statement_ter": 86,
"statement_hits": 6,
"statement_all": 7,
"statement_na_functions": 0
}
},
{
"name": "F:\\ctcwork\\v90\\doc\\examples\\calc.c",
"file_type": "source",
"instrumentation_mode": "multicondition+inclusive_timing",
"instrumentation_timestamp": "Fri May 04 10:27:54 2018",
"instrumentation_fingerprint": "0x9524ca38",
"sym_rewrite_count": 2,
"sym_update_count": 0,
"data_rewrite_count": 2,
"data_update_count": 0,
"function": [
{
"name": "is_prime",
"parameters": "( unsigned val )",
"defined_at_line": 4,
"call_count": 3,
"total_execution_cost": 0,
"average_execution_cost": 0.0,
"max_execution_cost": 0,
"probe": [
{
"type": "function",
"count1": 3,
"line": 4,
"sc_count": 0,
"nesting": 0,
"descr": "FUNCTION is_prime()"
},
{
"type": "if",
"count1": 1,
"count2": 2,
"line": 8,
"sc_count": 1,
"nesting": 1,
"descr": "if (val == 1 || val == 2 || val == 3)"
},
{
"type": "multi_cond_t",
"count1": 0,
"alarmed": true,
"line": 8,
"sc_count": 1,
"nesting": 1,
"eval_no": 1,
"descr": "T || _ || _"
},
{
"type": "multi_cond_t",
"count1": 1,
"line": 8,
"sc_count": 1,
"nesting": 1,
"eval_no": 2,
"descr": "F || T || _"
},
{
"type": "multi_cond_t",
"count1": 0,
"alarmed": true,
"line": 8,
"sc_count": 1,
"nesting": 1,
"eval_no": 3,
"descr": "F || F || T"
},
{
"type": "multi_cond_f",
"count2": 2,
"line": 8,
"sc_count": 1,
"nesting": 1,
"eval_no": 4,
"descr": "F || F || F"
},
{
"type": "return",
"count1": 1,
"line": 9,
"sc_count": 2,
"nesting": 2,
"descr": "return 1"
},
{
"type": "block_end",
"line": 9,
"sc_count": 2,
"nesting": 1,
"exepassed": true,
"descr": "}"
},
{
"type": "if",
"count1": 1,
"count2": 1,
"line": 10,
"sc_count": 2,
"nesting": 1,
"descr": "if (val % 2 == 0)"
},
{
"type": "return",
"count1": 1,
"line": 11,
"sc_count": 3,
"nesting": 2,
"descr": "return 0"
},
{
&n bsp; "type": "block_end",
"line": 11,
"sc_count": 3,
"nesting": 1,
"exepassed": true,
"descr": "}"
},
{
"type": "for",
"count1": 0,
"count2": 1,
"alarmed": true,
"line": 12,
"sc_count": 5,
"nesting": 1,
"descr": "for (;divisor < val / 2;)"
},
{
"type": "if",
"count1": 0,
"count2": 0,
"alarmed": true,
"line": 14,
"sc_count": 5,
"nesting": 2,
"descr": "if (val % divisor == 0)"
},
{
"type": "return",
"count1": 0,
"alarmed": true,
"line": 15,
"sc_count": 6,
"nesting": 3,
"descr": "return 0"
},
{
"type": "block_end",
"line": 15,
"sc_count": 6,
"nesting": 2,
"exepassed": false,
"descr": "}"
},
{
"type": "block_end",
"line": 16,
"sc_count": 6,
"nesting": 1,
"exepassed": true,
"descr": "}"
},
{
"type": "return",
"count1": 1,
"line": 17,
"sc_count": 7,
"nesting": 1,
"descr": "return 1"
},
{
"type": "function_end_nr",
"line": 18,
"sc_count": 7,
"nesting": 0,
"descr": "}"
}
],
"summary": {
"ter": 65,
"hits": 11,
"all": 17,
"statement_ter": 82,
"statement_hits": 9,
"statement_all": 11,
"statement_available": true
}
}
],
"summary": {
"functions": 1,
"lines": 18,
"ter": 65,
"hits": 11,
"all": 17,
"statement_ter": 82,
"statement_hits": 9,
"statement_all": 11,
"statement_na_functions": 0
}
}
],
"summary": {
"shown_coverage_views": "multicondition",
"files": 3,
"headers": 0,
"functions": 4,
"lines": 59,
"ter": 76,
"hits": 22,
"all": 29,
"statement_ter": 88,
"statement_hits": 21,
"statement_all": 24,
"statement_na_functions": 0
}
}
The JSON report contains in JSON format the same information as the XML report.