Edición de «IngSoft2 primer parcial 06/10/2022»

De Cuba-Wiki
Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.

Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces publica los cambios para así efectuar la reversión.

Revisión actual Tu texto
Línea 20: Línea 20:
=== Resolución ===
=== Resolución ===
(Aclaración: pregunté a Juan Pablo y aclaró que valía dar un mutante para el que existieran tests que lo matan débil y fuertemente, mientras yo dé test que lo mata débilmente en el caso del inciso 2).
(Aclaración: pregunté a Juan Pablo y aclaró que valía dar un mutante para el que existieran tests que lo matan débil y fuertemente, mientras yo dé test que lo mata débilmente en el caso del inciso 2).
1. Un mutante en el que la línea 4 muta a "while i>n" es matado fuertemente por el test:
1. Un mutante en el que la línea 4 muta a "while i>n" es matado fuertemente por el test:
<pre>
<pre>
Línea 57: Línea 56:
|}
|}
=== Resolución ===
=== Resolución ===
1. Árbol de cómputo. Uso unroll de 1 (es decir "while i<n" cambia a "if 0<n").
<pre>
Uso los renombres:
C1: n0 >= 0
C2: 0 < n0
C3: 0%2 == 1
</pre>
<pre>
            C1
          /    \
        T /      \ F
        C2      (it. 3)
      /  \
    T /    \ F
    C3    (it. 1)
    /  \
T /    \ F
UNSAT  (it. 2)
</pre>
2.
{| class="wikitable"
|+
|-
! Iteración !! Input Concreto !! Condición de Ruta !! Fórmula enviada al demostrador !! Resultado posible
|-
| 1 || n=0 || C1 ^ ¬C2 || n>=0 and 0<n || n0 = 1
|-
| 2 || n=1 || C1 ^ C2 ^ ¬C3 || n>=0 and 0<n and 0%2==1 || UNSAT
|-
|  ||  ||  || n<0 || n0 = -1
|-
| 3 || n=-1 || ¬C1 || END || END
|}


== Ejercicio 3 ==
== Ejercicio 3 ==
Línea 110: Línea 75:


=== Resolución ===
=== Resolución ===
1. Las branch distances resultantes luego de ejecutar todo el test suite son (con k=1):
{| class="wikitable"
|+
|-
!  !! C1 !! C2 !! C3
|-
| dist_true || 0 || 0 || 1
|-
| dist_false || 0 || 0 || 0
|}
2.
* test_1 cubre lineas 1,2,8
* test_2 cubre lineas 1,2,3,4,8
* test_3 cubre lineas 1,2,3,4,5,7,8
Por lo que la cobertura de la test suite es de 7/8 líneas.
3.
* test_1 cubre C1 por false
* test_2 cubre C1 true, C2 false
* test_3 cubre C1 true, C2 true y false, C3 false.
Por lo que la cobertura de la test suite es de 5/6 branches.


== Ejercicio 4 ==
== Ejercicio 4 ==
Línea 167: Línea 110:


=== Resolución ===
=== Resolución ===
"s1", "s2", ..., "s6" todas recorren el mismo camino, "%12" y "hola+mundo" recorren otros caminos. Por lo tanto como la energía de un input se calcula
<pre>
e(s) = 1 / f(p(s))^a
</pre>
Donde f(p(s)) es la frecuencia de apariciones del camino s y el exponente a es 3, la probabilidad de elegir "hola+mundo" será
[[Archivo:IngSoft2 2parcial 06-10-2022 4-energia.jpg|miniaturadeimagen|alt=energía de hola más mundo dividido 6 por energía de inputs s numero mas energía de input porcentaje 12 mas energía de input hola mas mundo es igual a 1 sobre 1 al cubo en el denominador y seis por 1 sobre 6 al cubo mas 1 sobre 1 al cubo mas 1 sobre 1 al cubo. Es igual a 1 en el denominador y uno sobre 6 al cuadrado mas 1 mas 1 en el denominador|Probabilidad de elegir el input "hola+mundo"]]
Ten en cuenta que todas las contribuciones a Cuba-Wiki pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase Cuba-Wiki:Derechos de autor para más detalles). ¡No uses textos con copyright sin permiso!

Para editar esta página, responde la pregunta que aparece abajo (más información):

Cancelar Ayuda de edición (se abre en una ventana nueva)