ia complejidad ciclomatica
TRANSCRIPT
-
7/26/2019 IA Complejidad Ciclomatica
1/13
Complejidad Ciclomtica
Facultad de Informtica Universidad Politcnica de Madrid Instituto Tecnolgico de Buenos Aires. Escuela de Posgrado
Mtrica del software
Mide la Complejidad Lgica de un Programa
Basada en Grafos de Flujo Utilizada en Tcnicas de Caja Blanca
Independiente del Lenguaje
-
7/26/2019 IA Complejidad Ciclomatica
2/13
Complejidad Ciclomtica
Facultad de Informtica Universidad Politcnica de Madrid Instituto Tecnolgico de Buenos Aires. Escuela de Posgrado
Complejidad Ciclomtica Evaluacin del Riesgo
1-10 Programa Simple, sin mucho riesgo
11-20 Ms Complejo, riesgo moderado
21-50 Complejo, Programa de alto riesgo
>50Progama no testeable, muy alto
riesgo
-
7/26/2019 IA Complejidad Ciclomatica
3/13
Complejidad Ciclomtica
Facultad de Informtica Universidad Politcnica de Madrid Instituto Tecnolgico de Buenos Aires. Escuela de Posgrado
Riesgo en Desarrollo de Cdigo
Riesgo en Mantenimiento
Planificacin de Pruebas
Reingeniera
-
7/26/2019 IA Complejidad Ciclomatica
4/13
Complejidad Ciclomtica
Facultad de Informtica Universidad Politcnica de Madrid Instituto Tecnolgico de Buenos Aires. Escuela de Posgrado
Secuencia
If-then-else
While Until
Reemplazo de Sentencias en Grafos de Flujo
-
7/26/2019 IA Complejidad Ciclomatica
5/13
Complejidad Ciclomtica
Facultad de Informtica Universidad Politcnica de Madrid Instituto Tecnolgico de Buenos Aires. Escuela de Posgrado
A0
A1A2
A3A4
A5
A6A7A8A9
A10
Mdulo: Algoritmo de Euclides para encontrar el mximo comndivisor
void euclid(int m, int n){
// Asumimos que ambos m y n son mayores que cero//Forzamos que m >= n por eficiencia//Retorna el mcd
int r;if (n > m) {
r = m;
m = n;n = r;}r = m % n; /* m modulo n */
while (r != 0) {m = n;n = r;r = m % n; /* m modulo n */
}
return n;}
A0
A1
A2,A3
,A4
A5
A6
A7,A8
,A9
A10
Figura 3Grafo de Flujo de
Control para el mdulo
Euclid
-
7/26/2019 IA Complejidad Ciclomatica
6/13
Complejidad Ciclomtica
Facultad de Informtica Universidad Politcnica de Madrid Instituto Tecnolgico de Buenos Aires. Escuela de Posgrado
a
b
y
x
x
if (a or b)
then
proced. x
else proced. y
endif
Simplificacin de Condiciones Compuestos
-
7/26/2019 IA Complejidad Ciclomatica
7/13
Complejidad Ciclomtica
Facultad de Informtica Universidad Politcnica de Madrid Instituto Tecnolgico de Buenos Aires. Escuela de Posgrado
LOC=282V(G) = 1
-
7/26/2019 IA Complejidad Ciclomatica
8/13
Complejidad Ciclomtica
Facultad de Informtica Universidad Politcnica de Madrid Instituto Tecnolgico de Buenos Aires. Escuela de Posgrado
V(G) = 6
-
7/26/2019 IA Complejidad Ciclomatica
9/13
Complejidad Ciclomtica
Facultad de Informtica Universidad Politcnica de Madrid Instituto Tecnolgico de Buenos Aires. Escuela de Posgrado
V(G) = 12
-
7/26/2019 IA Complejidad Ciclomatica
10/13
Complejidad Ciclomtica
Facultad de Informtica Universidad Politcnica de Madrid Instituto Tecnolgico de Buenos Aires. Escuela de Posgrado
V(G) = 17
-
7/26/2019 IA Complejidad Ciclomatica
11/13
Complejidad Ciclomtica
Facultad de Informtica Universidad Politcnica de Madrid Instituto Tecnolgico de Buenos Aires. Escuela de Posgrado
V(G) = 28
-
7/26/2019 IA Complejidad Ciclomatica
12/13
Complejidad Ciclomtica
Facultad de Informtica Universidad Politcnica de Madrid Instituto Tecnolgico de Buenos Aires. Escuela de Posgrado
V(G) = A - N + 2 A: AristasN: Nodos
Contabilidad de Predicados: V(G) = p + 1
Contabilidad de Regiones: R
Herramientas Automticas
-
7/26/2019 IA Complejidad Ciclomatica
13/13
Complejidad Ciclomtica
Facultad de Informtica Universidad Politcnica de Madrid Instituto Tecnolgico de Buenos Aires. Escuela de Posgrado
Switch (A) {
case Uno:i=1;
break;
case Dos:
i=2;
break;
case Tres:
i=3;
break;
}
Char Strings[3][5]={Uno;
Dos; Tres};i=1;
for(;;) {
if (A = Strings[i])
break;
i++;
}
Problema del Lmite y Las Sentencias Multivia