Допустим, у меня есть этот фрагмент кода C / C ++:
int c = 12; // Should I count this line as basic block?
if (a != 0 && b > 10) {
c += (a + b);
} else {
c += 1;
}
printf("%d", c); // Should I count this line as basic block?
Каково покрытие базовых блоков для тестового примера a = 1, b = 12
?
Это 75% или 50%?
Следует ли считать первую и последнюю строки базовыми блоками? Каково точное определение базового блока ?
Еще одна путаница:
int c = 16;
d += c;
Это один базовый блок или 2 базовых блока? Следует ли считать каждую строку базовым блоком?