The Behavior of ctcdiff
ctcdiff compares two Execution Profile Listings source file by source file. The coverage differences are marked based on the second Execution Profile Listing.
Results at probe level
0          5 -    20   if (x > 5)
0            -    22     return 17          0 -   20   if (x > 5)
7                22     return 1ctcdiff –i1 profileA.txt –i2 profileB.txt –p output.txt7^         0v-   20   if (x > 5)
7^               22     return 1In the example above, there are basically three points where the coverage can become better, worse, or remain the same (same in the meaning: covered yes/ no). Coverage improvement is marked with character "^", coverage decline with character "v". Here we see two improvements (^) and one decline (v) in coverage.
ctcdiff –i1 profileB.txt –i2 profileA.txt –p output.txt0v         5^-    20   if (x > 5)
0v           -    22     return 1Results at summary levels
At summary levels (per function, per file and overall), the report shows the initial structural coverage (how many probes covered in 1st listing), the amount of improvements (covered in second listing but not in first one), the amount of coverage decline (not covered in second listing but covered in first one).
foo
			***TER   22 % ([8 + 5 - 2]  11/ 50) of FUNCTION foo()foo
			- Initially, based on first listing, 8 measurement points were covered.
- Then, based on second listing, coverage was obtained in 5 new points not covered before.
- Simultaneously, coverage was lost for 2 counting points.