3a.TracciaEsercizio CFG2

Download Report

Transcript 3a.TracciaEsercizio CFG2

Per la seguente procedura di ordinamento di un vettore non vuoto si calcoli: • Il Control Flow Graph (CFG) • Il numero ciclomatico di McCabe • Si definisca un piano di test delle decisioni che assicuri una coverage almeno del 50% • Cosa si può dire circa la robustezza della procedura? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #define int TElem void QuickSort(Vettore v, int riemp) { int c = riemp -­‐ 1; int d = c; int s = 0; TElem x = v[c]; while (s < d) { while ((s < d) && (v[s] <= x)) s++; if (s < d) { v[d] = v[s]; d-­‐-­‐; } while ((s < d) && (x <= v[d])) d-­‐-­‐; if (s < d) { v[s] = v[d]; s++; } c = d; v[c] = x; } if (c > 1) QuickSort(v, c); if (riemp -­‐ c -­‐ 1 > 1) QuickSort(v + c + 1, riemp -­‐ c -­‐ 1); }