title: Basic block coverage - what's the precise definition?
body: <p>Let's say I have this piece of C/C++ code:</p>
  
  <pre><code>int c = 12; // Should I count this line as basic block?
  if (a != 0 &amp;&amp; b &gt; 10) {
      c += (a + b);
  } else {
      c += 1;
  }
  printf("%d", c); // Should I count this line as basic block?
  </code></pre>
  
  <p>What is the <em>basic block coverage</em> for test case <code>a = 1, b = 12</code>?</p>
  
  <p>Is it 75% or 50%? </p>
  
  <p>Should I count 1st and last lines as basic blocks? What is the precise definition of <em>basic block</em>?</p>
  
  <p>Another point of confusion:</p>
  
  <pre><code>int c = 16;
  d += c;
  </code></pre>
  
  <p>Is it one basic block or 2 basic blocks? Should every line be counted as a basic block?</p>