SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Tema 8:
                                               Verificaci´n de
                                                        o
                                                 programas.
Tema 8: Verificaci´n de programas.
                 o                              Introducci´n
                                                          o

                                              Joaqu´ Borrego
                                                   ın
          Introducci´n
                    o                              D´ıaz


   Ciencias de la Computaci´n 2012-13
                           o                 Outline

                                             Motivaci´n
                                                     o

                                             Definiendo la
                                             correcci´n
                                                     o

                                             Formalismos y
                                             problemas

                                             Sem´ntica y
                                                 a
                                             programaci´n
                                                       o

                                             Ejemplos

                                             Programas no
                                             verificables




          Joaqu´ Borrego D´
               ın         ıaz

      Depto. de Ciencias de la Computaci´n
                                        o
Tema 8:
                             Verificaci´n de
                                      o
                               programas.
Motivaci´n
        o                     Introducci´n
                                        o

                            Joaqu´ Borrego
                                 ın
                                 D´ıaz


Definiendo la correcci´n
                     o     Outline

                           Motivaci´n
                                   o

                           Definiendo la
                           correcci´n
                                   o
Formalismos y problemas
                           Formalismos y
                           problemas

                           Sem´ntica y
                               a
                           programaci´n
                                     o
Sem´ntica y programaci´n
   a                  o
                           Ejemplos

                           Programas no
                           verificables
Ejemplos


Programas no verificables
Tema 8:
Motivaci´n
        o                                                      Verificaci´n de
                                                                        o
                                                                 programas.
                                                                Introducci´n
                                                                          o
    Objetivo: Matematizar, el problema de la correcci´n,
                                                      o       Joaqu´ Borrego
                                                                   ın
    para poder obtener una soluci´n mecanizada
                                  o                                D´ıaz

    Primera formalizaci´n: Descripci´n del problema X (E :
                        o           o                        Outline
    entradas, S: salidas):                                   Motivaci´n
                                                                     o

        Descripci´n funcional: fX : E → S
                 o                                           Definiendo la
                                                             correcci´n
                                                                     o
        Descripci´n relacional RX ⊆ E × S
                 o
                                                             Formalismos y
    Programa en un modelo de computaci´n, modo
                                      o                      problemas

    determinista: Produce funciones                          Sem´ntica y
                                                                 a
                                                             programaci´n
                                                                       o

                                                             Ejemplos
                            p → fp                           Programas no
                                                             verificables

    Programa en un modelo de computaci´n, modo no
                                          o
    determinista: Produce relaciones entre estados,

                        fp ⊆ E × P(S)
Tema 8:
Dos cuestiones                                                  Verificaci´n de
                                                                         o
                                                                  programas.
                                                                 Introducci´n
                                                                           o
    Correcci´n parcial:
            o
                                                               Joaqu´ Borrego
                                                                    ın
        En la descripci´n funcional (modo determinista)
                       o                                            D´ıaz

                                                              Outline
                  ∀x ∈ E [fp (x) ↓=⇒ fp (x) = fX (x)]
                                                              Motivaci´n
                                                                      o

        En la descripci´n relacional (modo no determinista)
                       o                                      Definiendo la
                                                              correcci´n
                                                                      o

                                                              Formalismos y
                ∀x ∈ E [fp (x) ↓=⇒ ∀y ∈ fp (x) [xRX y ]]      problemas

                                                              Sem´ntica y
                                                                  a
    Parada:                                                   programaci´n
                                                                        o

        Modo determinista, ∀x ∈ E [ fp (x) ↓]                 Ejemplos

        Modo no determinista, condici´n fuerte:
                                     o                        Programas no
                                                              verificables

                          ∀x ∈ E [{↑} ∈ fp (x)]
                                      /

        Modo no determinista, condici´n d´bil:
                                     o e

                          ∀x ∈ E [{↓} ∈ fp (x)]
Tema 8:
Limitaciones computacionales: Irresolubilidad                   Verificaci´n de
                                                                         o
                                                                  programas.
algor´
     ıtmica                                                      Introducci´n
                                                                           o

                                                               Joaqu´ Borrego
                                                                    ın
                                                                    D´ıaz
    Correcci´n parcial: dada f computable,
            o
                                                              Outline

                  {p ∈ Programas : fp ⊆ f }                   Motivaci´n
                                                                      o

                                                              Definiendo la
                                                              correcci´n
                                                                      o
    no es recursivo (ni siquiera recursivamente enumerable)
                                                              Formalismos y
    Parada:                                                   problemas

                                                              Sem´ntica y
                                                                  a
                                                              programaci´n
                                                                        o
              {p ∈ Programas : ∀x ∈ N fp (x) ↓}               Ejemplos

                                                              Programas no
    no es recursivo (ni recursivamente enumerable)            verificables

    Consecuencia: s´lo podemos esperar obtener
                   o
    procedimientos de semidecisi´n y parciales
                                o
Tema 8:
Especificaci´n de un problema
           o                                                              Verificaci´n de
                                                                                   o
                                                                            programas.
                                                                           Introducci´n
                                                                                     o
    Especificaci´n: colecci´n de criterios que, si lo
                  o         o                                            Joaqu´ Borrego
                                                                              ın
    satisface el programa, lo calificamos de correcto                          D´ıaz


    Se necesita un lenguaje de especificaci´n
                                          o                             Outline

                                                                        Motivaci´n
                                                                                o
    Calidad de la especificaci´n:
                             o
                                                                        Definiendo la
    Mayor abstracci´n posible (evitamos manejar
                     o                                                  correcci´n
                                                                                o

    propiedades de la m´quina donde se ejecuta)
                       a                                                Formalismos y
                                                                        problemas

    Grado de detalle de la especificaci´n:
                                      o                                 Sem´ntica y
                                                                            a
                                                                        programaci´n
                                                                                  o
    + detalle =⇒ − manejable; − detalle =⇒ + manejable                  Ejemplos

    (inconveniente: p´rdida de informaci´n, especificaci´n incorrecta)
                     e                  o              o                Programas no
                                                                        verificables
    Cuestiones acerca de las especificaciones: ¿Completa?
    ¿Aplicable? ¿Consistente?
    Calidad de la implementaci´n: correcci´n con
                                  o       o
    respecto a requerimientos, etc.
Tema 8:
Representaci´n
            o                                                 Verificaci´n de
                                                                       o
                                                                programas.
                                                               Introducci´n
                                                                         o
    Formalismos internos (p.e. la l´gica de Hoare)
                                   o                         Joaqu´ Borrego
                                                                  ın
                                                                  D´ıaz
    Analizan el comportamiento de instrucciones
                                                            Outline
    Formalismos externos (p.e. la l´gica temporal)
                                   o
                                                            Motivaci´n
                                                                    o
    Analizan el efecto de la ejecuci´n de m´dulos del
                                    o      o                Definiendo la
    sistema sobre el estado actual                          correcci´n
                                                                    o

                                                            Formalismos y
    Problemas de la representaci´n:  o                      problemas
        ¿Podemos asegurar que la especificaci´n expresa
                                              o             Sem´ntica y
                                                                a
                                                            programaci´n
                                                                      o
        correctamente la intenci´n intuitiva?
                                o
        ¿Cu´l es el grado de especificaci´n aceptable?
            a                            o                  Ejemplos

        ¿Se pueden especificar cualquier tipo de sistemas?   Programas no
                                                            verificables
Tema 8:
Tres enfoques                                              Verificaci´n de
                                                                    o
                                                             programas.
                                                            Introducci´n
                                                                      o
    Teor´ Prueba = correcci´n
        ıa:                o                              Joaqu´ Borrego
                                                               ın
                                                               D´ıaz
    Desarrollo matem´tico
                    a
                                                         Outline
    Cient´
         ıfico correcci´n experimental
                      o
                                                         Motivaci´n
                                                                 o
    Estudio matematizado de la relaci´n entrada/salida
                                     o                   Definiendo la
                                                         correcci´n
                                                                 o
    Ingenier´ Dise˜o de sistemas correctos
            ıa:   n
                                                         Formalismos y
    Programar a partir de la especificaci´n
                                        o                problemas

                                                         Sem´ntica y
                                                             a
                                                         programaci´n
                                                                   o

                                                         Ejemplos

                                                         Programas no
                                                         verificables
Tema 8:
Enfoque te´rico
          o                                                   Verificaci´n de
                                                                       o
                                                                programas.
                                                               Introducci´n
                                                                         o
    Idea: seguir en la verificaci´n de programas el m´todo
                                o                   e        Joaqu´ Borrego
                                                                  ın
    deductivo matem´tico,
                      a                                           D´ıaz


                  Programar = Demostrar                     Outline

                                                            Motivaci´n
                                                                    o
    Aproximaci´n debida a R. Floyd y C.A.R. Hoare:
              o
                                                            Definiendo la
            Programaci´n
                       o             Matem´ticas
                                           a                correcci´n
                                                                    o

        Leng. de programaci´n
                            o      Leng. Matem´tico
                                               a            Formalismos y
                                                            problemas
     Propiedades de instr. b´sicas
                            a          Axiomas              Sem´ntica y
                                                                a
            Especificaci´n
                       o               Teorema              programaci´n
                                                                      o

                                                            Ejemplos
    Formalizaci´n (sintaxis):
               o
                                                            Programas no
        Lenguaje preciso de programaci´n
                                      o                     verificables

        Especificaci´n de las propiedades (L´gica)
                   o                       o
    Sem´ntica:
       a
        Sem´ntica de los formalismos matem´ticos
            a                             a
        Expresi´n de la correcci´n
               o                o
Tema 8:
Enfoque cient´
             ıfico-emp´
                     ırico                                            Verificaci´n de
                                                                               o
                                                                        programas.
                                                                       Introducci´n
                                                                                 o
    Descubrir errores mediante un gran n´mero de
                                        u                            Joaqu´ Borrego
                                                                          ın
    ejemplos-tests, una vez que se ha dise˜ado el
                                          n                               D´ıaz

    sistema                                                         Outline

    Desventajas:                                                    Motivaci´n
                                                                            o

        No garantiza la ausencia de errores (errores no             Definiendo la
                                                                    correcci´n
                                                                            o
        descubiertos mediante tests)
                                                                    Formalismos y
        No es eficiente: es necesario generar muchos tests           problemas
        Una vez construido el sistema, se hacen adaptaciones        Sem´ntica y
                                                                        a
                                                                    programaci´n
                                                                              o
        para resolver los nuevos errores, lo que lo hace m´s
                                                          a
        complejo                                                    Ejemplos

                                                                    Programas no
    Conclusi´n:
            o                                                       verificables
        El testeo puede ser un m´todo muy efectivo para
                                 e
        mostrar la presencia de errores, pero es completamente
        inadecuado para justificar la ausencia de ´stos
                                                  e
                                                    (E. Dijkstra)
    Siempre existe un error m´s
                             a
Tema 8:
Enfoque Cient´
             ıfico/Ingenier´
                          ıa                           Verificaci´n de
                                                                o
                                                         programas.
                                                        Introducci´n
                                                                  o
    Revisar junto a dise˜ar
                         n                            Joaqu´ Borrego
                                                           ın
    Producir software integrando los procesos de           D´ıaz

    salvaguardia y calidad                           Outline
        Coste econ´mico m´s reducido
                  o       a                          Motivaci´n
                                                             o
        Software m´s seguro
                   a                                 Definiendo la
                                                     correcci´n
                                                             o
        Inconveniente: complejidad formal
                                                     Formalismos y
    Soluci´n: Mecanizar la verificaci´n
          o                         o                problemas

                                                     Sem´ntica y
                                                         a
    Consecuencia: Es necesario dise˜ar sistemas de
                                   n                 programaci´n
                                                               o
    verificaci´n autom´tica
             o       a                               Ejemplos

                                                     Programas no
                                                     verificables
Tema 8:
Programaci´n verificable
          o                 Verificaci´n de
                                     o
                              programas.
                             Introducci´n
                                       o

                           Joaqu´ Borrego
                                ın
                                D´ıaz

                          Outline

                          Motivaci´n
                                  o

                          Definiendo la
                          correcci´n
                                  o

                          Formalismos y
                          problemas

                          Sem´ntica y
                              a
                          programaci´n
                                    o

                          Ejemplos

                          Programas no
                          verificables
Tema 8:
Sem´ntica
   a                                                         Verificaci´n de
                                                                      o
                                                               programas.
                                                              Introducci´n
                                                                        o
    Lenguaje de programaci´n: Lenguaje para la
                              o                             Joaqu´ Borrego
                                                                 ın
    descripci´n de procesos din´micos (variables en el
             o                 a                                 D´ıaz

    tiempo), relacionados con la noci´n de ejecuci´n por
                                     o            o        Outline
    una m´quina
          a                                                Motivaci´n
                                                                   o

    Sem´ntica de los lenguajes:
        a                                                  Definiendo la
                                                           correcci´n
                                                                   o
        Sem´ntica operacional: asociada a la descripci´n
             a                                         o   Formalismos y
        funcional                                          problemas

        Sem´ntica relacional: asociada a la descripci´n
             a                                       o     Sem´ntica y
                                                               a
                                                           programaci´n
                                                                     o
        relacional
                                                           Ejemplos
        Otros...
                                                           Programas no
    Necesitamos Reglas que describen la correspondencia    verificables

    entre programas y especificaciones
Tema 8:
Problemas relacionados                                        Verificaci´n de
                                                                       o
                                                                programas.
                                                               Introducci´n
                                                                         o
    S´
     ıntesis: Dada ϕ especificaci´n, construir un programa
                                o                            Joaqu´ Borrego
                                                                  ın
    p correcto seg´n ϕ (satisface ϕ)
                  u                                               D´ıaz


    An´lisis: Dado p, construir la especificaci´n
      a                                       o             Outline

    demostrable m´s adecuada para describir su
                  a                                         Motivaci´n
                                                                    o

    comportamiento                                          Definiendo la
                                                            correcci´n
                                                                    o

    Verificaci´n de propiedades: Dados p y ϕ, ¿p
               o                                            Formalismos y
                                                            problemas
    satisface ϕ?
                                                            Sem´ntica y
                                                                a
    Equivalencia: Dados p y p y una especificaci´n ϕ,
                                               o            programaci´n
                                                                      o

                                                            Ejemplos
              ¿Son p y p equivalentes seg´n ϕ?
                                         u
                                                            Programas no
                                                            verificables
    Optimizaci´n: Dado p, dise˜ar un programa
                o                n
    equivalente mejor, seg´n cierta medida de complejidad
                          u
    Depuraci´n: Dado p que no satisface ϕ, modificar p
              o
    para satisfacer ϕ
Tema 8:
Observaciones                                                     Verificaci´n de
                                                                           o
                                                                    programas.
                                                                   Introducci´n
                                                                             o
    Son problemas indecidibles, en general                       Joaqu´ Borrego
                                                                      ın
                                                                      D´ıaz
    No estudiaremos eficiencia
    Herramientas fundamentales:                                 Outline

                                                                Motivaci´n
                                                                        o

        Inducci´n computacional (sobre la ejecuci´n)
               o                                    o           Definiendo la
                                                                correcci´n
                                                                        o
        Inducci´n estructural (sobre la sintaxis de
               o                                                Formalismos y
        programas/especificaciones)                              problemas

    Dos situaciones de partida:                                 Sem´ntica y
                                                                    a
                                                                programaci´n
                                                                          o
        Caso a posteriori                                       Ejemplos
        Caso constructivo: construir el programa junto con la   Programas no
        especificaci´n.
                   o                                            verificables
Tema 8:
Correcci´n constructiva versus a posteriori
        o                                                    Verificaci´n de
                                                                      o
                                                               programas.
                                                              Introducci´n
                                                                        o
Algoritmo cl´sico A1 de la multiplicaci´n
            a                          o                    Joaqu´ Borrego
                                                                 ın
                                                                 D´ıaz
                 Funci´n mult1 (x, y )
                      o
                      si y = 0 entonces devolver 0         Outline
                      si no                                Motivaci´n
                                                                   o
                         i ←x
                                                           Definiendo la
                         j ←y                              correcci´n
                                                                   o
                         mientras j > 1 hacer
                                                           Formalismos y
                            i ←i +x                        problemas
                            j ←j −1
                                                           Sem´ntica y
                                                               a
                         devolver i                        programaci´n
                                                                     o

Viene de que la aplicaci´n f caracterizada por
                        o                                  Ejemplos

                                                           Programas no
  1. f (x, 0) = 0,      ∀x ∈ N.                            verificables

  2. f (x, y + 1) = f (x, y ) + x,     ∀x, y ∈ N.
define el producto de dos n´meros naturales. A1 es
                           u
correcto, ya que ha sido dise˜ado mediante una definici´n
                             n                        o
“constructiva” de f .
Tema 8:
  Multiplicaci´n rusa
              o                                                                   Verificaci´n de
                                                                                           o
                                                                                    programas.
                                                                                   Introducci´n
                                                                                             o

                                                                                 Joaqu´ Borrego
                                                                                      ın
                                                                                      D´ıaz
Funci´n mult2 (x, y )
     o
    Vector A, B                                                                 Outline

     si x = 0 entonces devolver 0                                               Motivaci´n
                                                                                        o
     si x = 1 entonces devolver y                                               Definiendo la
     si no                                              Para x = 52 e y = 27    correcci´n
                                                                                        o
         A[1] ← x ; B[1] ← y
                                                              52     27         Formalismos y
         i ←1                                                                   problemas
                                                              26     54
        mientras A[i] > 1 hacer
                                                         → 13       108         Sem´ntica y
                                                                                    a
            A[i + 1] ← A[i]div2                                                 programaci´n
                                                                                          o
            B[i + 1] ← B[i] + B[i]                             6    216
                                                                                Ejemplos
            i ←i +1                                      →     3    432
         prod ← 0                                        →    1    864          Programas no
                                                                                verificables
         i ←i −1
        mientras i > 0 hacer                            52 · 27 = 108 + 432 + 864 =
             si A[i] = A[i]div2 + A[i]div2   entonces   = 1404
                     prod ← prod + B[i]
            i ←i −1
        devolver prod
Tema 8:
Correcci´n parcial
        o                                                                             Verificaci´n de
                                                                                               o
                                                                                        programas.
                                                                                       Introducci´n
                                                                                                 o
Teorema: Si A2 para sobre (x, y ) ∈ N × N, entonces                                  Joaqu´ Borrego
                                                                                          ın
devuelve x · y . Es decir, fA2 (x, y ) = x · y .                                          D´ıaz


    Demostraci´n:
              o                                                                     Outline

                                                                                    Motivaci´n
                                                                                            o
    Si x = 0, trivial
                                                                                    Definiendo la
    Si x > 0, entonces                                                              correcci´n
                                                                                            o

    x = ak 2k + ak−1 2k−1 + · · · + a2 22 + a1 2 + a0                  ai ∈         Formalismos y
                                                                                    problemas
    {1, 0} ak = 1                                                                   Sem´ntica y
                                                                                        a
                                                                                    programaci´n
                                                                                              o
    Obs´rvese que
       e               2k
                    ≤x <             2k+1 .   Por tanto k = log2 x ,
                                                                                    Ejemplos
    que notaremos por log2 (x).
                                                                                    Programas no
                                                                                    verificables
    Las columnas A y B
     A[1] = 2k + ak−1 2k−1 + · · · + a2 22 + a1 2 + a0   B[1] = y
     A[2] = 2k−1 + ak−1 2k−2 + · · · + a2 2 + a1         B[2] = 2 · y
     A[3] = 2k−2 + ak−1 2k−3 + · · · + a2                B[3] = 2 · B[2] = 22 · y
     ...                                                 ...
     A[k] = 2 + ak−1                                     B[k] = 2k−1 y
     A[k + 1] = 1                                        B[k + 1] = 2k y
Tema 8:
Correcci´n total: Parada
        o                                                             Verificaci´n de
                                                                               o
                                                                        programas.
                                                                       Introducci´n
                                                                                 o
    Para cada j = 1, . . . , k + 1 se verifica:                       Joaqu´ Borrego
                                                                          ın
                                                                          D´ıaz

           A[j] es impar ⇐⇒ aj−1 = 0 ⇐⇒ aj−1 = 1                    Outline

                                                                    Motivaci´n
                                                                            o
    Por tanto,                                                      Definiendo la
    fA2 (x, y ) =                 B[j] =               2j−1 · y =   correcci´n
                                                                            o

                     A[j] impar             aj−1 = 1                Formalismos y
                                                                    problemas
                    1≤j ≤k +1              1≤j ≤k +1
                                                                    Sem´ntica y
                                                                        a
               =                  aj−1 · 2j−1 y                     programaci´n
                                                                              o

                                                                    Ejemplos
                    1≤j ≤k +1
                                                                    Programas no
               =y·                   aj−1 · 2j−1 = y · x            verificables

                       1≤j ≤k +1

Teorema (Prueba de parada): El algoritmo A2 para sobre
todo (x, y ) ∈ N × N.
Demostraci´n: Los dos bucles considerados constan, a lo
             o
sumo, de k + 1 = 1 + log2 (x) pasos.
Tema 8:
                                                                Verificaci´n de
                                                                         o
                                                                  programas.
                                                                 Introducci´n
                                                                           o

Ejemplo: Error del procesador Pentium                          Joaqu´ Borrego
                                                                    ın
                                                                    D´ıaz

    A˜o 1994, 67.000 millones de pesetas)
     n                                                        Outline
                                                       p
    Algoritmo de divisi´n del procesador (C´lculo de
                       o                   a           d ):
                                                              Motivaci´n
                                                                      o

                                                              Definiendo la
                                                              correcci´n
                                                                      o
 Division SRT4 (p, d)                                         Formalismos y
   p0 ← p                                                     problemas

   Para cada k = 1, ... hacer                                 Sem´ntica y
                                                                  a
                                                              programaci´n
                                                                        o
      determinar qk ∈ {−2, −1, 0, 1, 2} tal que               Ejemplos
                                                  8
       si pk+1 = 4(pk − qk d), entonces |pk+1 | ≤ 3 d         Programas no
                                                              verificables

                     p      qi
    Se verifica que     =
                     d      4i
                         i∈N
                       8                     2
    Propiedad: |pk | ≤ 3 d =⇒|pk − qk d| ≤   3
    Para alg´n qk ∈ {−2, −1, 0, 1, 2}
            u
Tema 8:
Ejemplo (cont.)                                                                       Verificaci´n de
                                                                                               o
                                                                                        programas.
                                                                                       Introducci´n
                                                                                                 o
    Si pk+1 = 4(pk − qk d) y |pk+1 | ≤ 8 d, entonces
                                       3
                                                                                     Joaqu´ Borrego
                                                                                          ın
                                                                                          D´ıaz
                          pk −k  qk   pk + 1 −(k+1)
                            4   = k +       4
                          d      4       d                                          Outline

                          p                              pk                         Motivaci´n
                                                                                            o
    Aplicando inducci´n
                      o   d
                              = (q0 + · · · + qk−1 ) +   d
                                                              4−k y por l´
                                                                         ımite se
    tiene la igualdad                                                               Definiendo la
                                                                                    correcci´n
                                                                                            o
    Elecci´n del qk (unidad: d/3):
          o
                                                                                    Formalismos y
                                                                                    problemas

                                                                                    Sem´ntica y
                                                                                        a
                                                                                    programaci´n
                                                                                              o

                                                                                    Ejemplos

                                                                                    Programas no
                                                                                    verificables


    El algoritmo eleg´ 0 en vez de 2 para ciertos n´meros en [5/3, 8/3],
                     ıa                            u
    debido a errores de precisi´n
                               o
Tema 8:
Otros ejemplos                                                   Verificaci´n de
                                                                          o
                                                                   programas.
                                                                  Introducci´n
                                                                            o
    1985-87, Canad´: Fallo en el software de un emisor de
                     a                                          Joaqu´ Borrego
                                                                     ın
    rayos para el tratamiento del c´ncer: cuatro muertos
                                   a                                 D´ıaz


    Banco de Nueva York: En el contador de mensajes de         Outline

    compra/venta:                                              Motivaci´n
                                                                       o

                      32767 + 1 = 0                            Definiendo la
                                                               correcci´n
                                                                       o

    P´rdida de la nave Phobos (U. Sovi´tica, 1988)
     e                                e                        Formalismos y
                                                               problemas

    Un s´
        ımbolo: Explosi´n de la lanzadera espacial
                       o                                       Sem´ntica y
                                                                   a
                                                               programaci´n
                                                                         o
    Verificaci´n de propiedades para sistemas con n´mero
             o                                     u           Ejemplos
    finito de estados, pero existen 1010 estados o m´s
                                                   a           Programas no
                                                               verificables
    Ariane 5: mal env´ de la altitud correcta
                     ıo
    Los errores tienen su causa en una deficiente verificaci´n
                                                          o
    Costes en EEUU: 300.000 millones de pesetas en 2002
    Costes en UK: 900 millones de pesetas (2002)
Tema 8:
Verificaci´n en la NASA
         o                 Verificaci´n de
                                    o
                             programas.
                            Introducci´n
                                      o

                          Joaqu´ Borrego
                               ın
                               D´ıaz

                         Outline

                         Motivaci´n
                                 o

                         Definiendo la
                         correcci´n
                                 o

                         Formalismos y
                         problemas

                         Sem´ntica y
                             a
                         programaci´n
                                   o

                         Ejemplos

                         Programas no
                         verificables
Tema 8:
Programas no verificables                                                Verificaci´n de
                                                                                 o
                                                                          programas.
                                                                         Introducci´n
                                                                                   o
    (Fijamos x > 1) Procedimiento 1: Dado n > 0,                       Joaqu´ Borrego
                                                                            ın
    apl´
       ıquese recursivamente la siguiente regla:                            D´ıaz


    Escribir n en base x, aumentar en 1 la base, y restarle 1         Outline

                        al nuevo n´mero
                                  u                                   Motivaci´n
                                                                              o

                                                                      Definiendo la
    Ejemplo: si n = 20098, y x = 3, entonces                          correcci´n
                                                                              o

                                                                      Formalismos y
                   n = 39 + 35 + 34 + 32 + 30                         problemas

                                                                      Sem´ntica y
                                                                          a
                                                                      programaci´n
                                                                                o
    y el resultado es   49   +   45   +   44   +   42   +   40   −1   Ejemplos

    (Goodstein) Procedimiento 2: similar al 1, pero se                Programas no
                                                                      verificables
    aplica la regla al n´mero escrito en base x pura:
                        u
                                      2            1
    En el caso anterior, n = 33 + 33 +2 + 33+1 + 32 + 30
                            2    1
    y el resultado es n = 44 + 44 +2 + 44+1 + 42 + 40 − 1

    Teorema: Despu´s de un n´mero finito de pasos los pro-
                     e         u
    cedimientos anteriores paran, llegando a 0
Tema 8:
Programas no verificables (II)                                 Verificaci´n de
                                                                       o
                                                                programas.
                                                               Introducci´n
                                                                         o
    Consecuencia del teorema de la forma normal:             Joaqu´ Borrego
                                                                  ın
    Cualquier programa aritm´tico se puede traducir a una
                              e                                   D´ıaz

    f´rmula Σ1 , esto es, f´rmulas del tipo
     o                     o                                Outline

                                                            Motivaci´n
                                                                    o
                           ∃xϕ(y , x)                       Definiendo la
                                                            correcci´n
                                                                    o

    donde ϕ s´lo posee cuantificadores acotados
              o                                             Formalismos y
                                                            problemas
    Existe traducci´n p ∈ Programas → ϕp tal que:
                   o                                        Sem´ntica y
                                                                a
                                                            programaci´n
                                                                      o
        Es autom´tica (mecanizable)
                  a
                                                            Ejemplos
        Se tiene que para cualesquiera x, y ∈ N
                                                            Programas no
                                                            verificables
                     [[p]](~) = y ⇐⇒ N |= ψp (~, y)
                           x                  x
Tema 8:
Imposibilidad de verificaci´n
                          o                                       Verificaci´n de
                                                                           o
                                                                    programas.
                                                                   Introducci´n
                                                                             o
    Teorema: Supongamos que la teor´ deıa                        Joaqu´ Borrego
                                                                      ın
    especificaciones s´lo admite inducci´n sobre f´rmulas
                      o                o         o                    D´ıaz

    Σ1 . Entonces el sistema no puede demostrar que el          Outline
    procedimiento 1 para                                        Motivaci´n
                                                                        o

    Potencia de ese sistema: Programas LOOP, funciones          Definiendo la
                                                                correcci´n
                                                                        o
    primitivas recursivas                                       Formalismos y
                                                                problemas
    Teorema: Supongamos que la teor´ de ıa
                                                                Sem´ntica y
                                                                    a
    especificaciones admite inducci´n sobre cualquier
                                  o                             programaci´n
                                                                          o
    f´rmula aritm´tica. Entonces el sistema no puede
     o            e                                             Ejemplos
    demostrar que el procedimiento 2 para                       Programas no
        El sistema es la Aritm´tica de Peano.
                              e                                 verificables

        Para demostrar la parada se necesita usar t´cnicas de
                                                   e
        teor´ de conjuntos
            ıa

Contenu connexe

En vedette (20)

Cubismo y neoplastisismo
Cubismo y neoplastisismoCubismo y neoplastisismo
Cubismo y neoplastisismo
 
Formalismo
FormalismoFormalismo
Formalismo
 
Futurismo
FuturismoFuturismo
Futurismo
 
PETER EISENMAN
PETER EISENMANPETER EISENMAN
PETER EISENMAN
 
Tardomoderno
TardomodernoTardomoderno
Tardomoderno
 
Materiales aglomerantes
Materiales aglomerantesMateriales aglomerantes
Materiales aglomerantes
 
Arquitectura minimalista
Arquitectura minimalistaArquitectura minimalista
Arquitectura minimalista
 
Peter eisenman
Peter eisenmanPeter eisenman
Peter eisenman
 
Estilo tardomoderno
Estilo tardomodernoEstilo tardomoderno
Estilo tardomoderno
 
MATERIAIS AGLOMERANTES
MATERIAIS AGLOMERANTESMATERIAIS AGLOMERANTES
MATERIAIS AGLOMERANTES
 
Formalismo
FormalismoFormalismo
Formalismo
 
Peter eisenman
Peter eisenman  Peter eisenman
Peter eisenman
 
Futurismo Arquitectura
Futurismo ArquitecturaFuturismo Arquitectura
Futurismo Arquitectura
 
Minimalismo en la arquitectura
Minimalismo en la arquitecturaMinimalismo en la arquitectura
Minimalismo en la arquitectura
 
Presentación
PresentaciónPresentación
Presentación
 
Futurismo
FuturismoFuturismo
Futurismo
 
arquitectura sustentable
arquitectura sustentablearquitectura sustentable
arquitectura sustentable
 
ARQUITECTURA MINIMALISTA
ARQUITECTURA MINIMALISTAARQUITECTURA MINIMALISTA
ARQUITECTURA MINIMALISTA
 
Diseño formal o formalismo
Diseño formal o formalismoDiseño formal o formalismo
Diseño formal o formalismo
 
ARQUITECTURA SUSTENTABLE
ARQUITECTURA SUSTENTABLEARQUITECTURA SUSTENTABLE
ARQUITECTURA SUSTENTABLE
 

Similaire à Tema 8

Similaire à Tema 8 (13)

Informática II
Informática IIInformática II
Informática II
 
Tutorial de matrices matlab
Tutorial de matrices matlabTutorial de matrices matlab
Tutorial de matrices matlab
 
Estocastica
EstocasticaEstocastica
Estocastica
 
Pres Algoritmos
Pres AlgoritmosPres Algoritmos
Pres Algoritmos
 
Curso Aop
Curso AopCurso Aop
Curso Aop
 
Curso Aop
Curso AopCurso Aop
Curso Aop
 
Tarea 4
Tarea 4Tarea 4
Tarea 4
 
Cap4 Optimizacion
Cap4 OptimizacionCap4 Optimizacion
Cap4 Optimizacion
 
2p 10cjm Deisyrosero Programacion Practica 03
2p 10cjm Deisyrosero Programacion Practica 032p 10cjm Deisyrosero Programacion Practica 03
2p 10cjm Deisyrosero Programacion Practica 03
 
01 modelos 2019
01 modelos 201901 modelos 2019
01 modelos 2019
 
Pasos para realizar un problema en computador
Pasos para realizar un problema en computadorPasos para realizar un problema en computador
Pasos para realizar un problema en computador
 
Literal 5 pasos
Literal 5 pasosLiteral 5 pasos
Literal 5 pasos
 
Programas, Algoritmos
Programas, AlgoritmosProgramas, Algoritmos
Programas, Algoritmos
 

Plus de Joaquín Borrego-Díaz

Retos en los fundamentos de Data Science
Retos en los fundamentos de Data ScienceRetos en los fundamentos de Data Science
Retos en los fundamentos de Data ScienceJoaquín Borrego-Díaz
 
Comercio electrónico móvil: comprar por una app. Parte II
Comercio electrónico móvil: comprar por una app. Parte IIComercio electrónico móvil: comprar por una app. Parte II
Comercio electrónico móvil: comprar por una app. Parte IIJoaquín Borrego-Díaz
 
Comercio electrónico móvil: comprar por una app. Parte I
Comercio electrónico móvil: comprar por una app. Parte IComercio electrónico móvil: comprar por una app. Parte I
Comercio electrónico móvil: comprar por una app. Parte IJoaquín Borrego-Díaz
 
Introducción al modelado multiagente en FORMA 14
Introducción al modelado multiagente en FORMA 14Introducción al modelado multiagente en FORMA 14
Introducción al modelado multiagente en FORMA 14Joaquín Borrego-Díaz
 
La perversión de Bolonia. Gestión de la Calidad, Calidad y Excelencia: Tres c...
La perversión de Bolonia. Gestión de la Calidad, Calidad y Excelencia: Tres c...La perversión de Bolonia. Gestión de la Calidad, Calidad y Excelencia: Tres c...
La perversión de Bolonia. Gestión de la Calidad, Calidad y Excelencia: Tres c...Joaquín Borrego-Díaz
 
Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...
Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...
Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...Joaquín Borrego-Díaz
 
Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...
Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...
Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...Joaquín Borrego-Díaz
 
Sistemas inteligentes y la ciencia del dato (y II)
Sistemas inteligentes y la ciencia del dato (y II)Sistemas inteligentes y la ciencia del dato (y II)
Sistemas inteligentes y la ciencia del dato (y II)Joaquín Borrego-Díaz
 
Sistemas inteligentes y la ciencia del dato (I)
Sistemas inteligentes y la ciencia del dato (I)Sistemas inteligentes y la ciencia del dato (I)
Sistemas inteligentes y la ciencia del dato (I)Joaquín Borrego-Díaz
 
Innovación en el tratamiento de la información desde la Ingeniería del Conoc...
Innovación en el tratamiento de la información desde la  Ingeniería del Conoc...Innovación en el tratamiento de la información desde la  Ingeniería del Conoc...
Innovación en el tratamiento de la información desde la Ingeniería del Conoc...Joaquín Borrego-Díaz
 
Innovación en el tratamiento de la información desde la Ingeniería del Conoc...
Innovación en el tratamiento de la información desde la  Ingeniería del Conoc...Innovación en el tratamiento de la información desde la  Ingeniería del Conoc...
Innovación en el tratamiento de la información desde la Ingeniería del Conoc...Joaquín Borrego-Díaz
 
Retos y oportunidades de la IA en I+D+i con empresas
Retos y oportunidades de la IA en I+D+i con empresasRetos y oportunidades de la IA en I+D+i con empresas
Retos y oportunidades de la IA en I+D+i con empresasJoaquín Borrego-Díaz
 
Oportunidades para la economía basada en la Ingeniería del Conocimiento en In...
Oportunidades para la economía basada en la Ingeniería del Conocimiento en In...Oportunidades para la economía basada en la Ingeniería del Conocimiento en In...
Oportunidades para la economía basada en la Ingeniería del Conocimiento en In...Joaquín Borrego-Díaz
 
Presentacion de las III Jornadas de Lógica, Computación Inteligencia Artificial
Presentacion de las III Jornadas de Lógica, Computación Inteligencia ArtificialPresentacion de las III Jornadas de Lógica, Computación Inteligencia Artificial
Presentacion de las III Jornadas de Lógica, Computación Inteligencia ArtificialJoaquín Borrego-Díaz
 
Presentacion curso "Representación del conocimiento en la Web"
Presentacion curso "Representación del conocimiento en la Web"Presentacion curso "Representación del conocimiento en la Web"
Presentacion curso "Representación del conocimiento en la Web"Joaquín Borrego-Díaz
 
Presentacion lógica para la asignatura Lógica y Computabilidad
Presentacion lógica para la asignatura Lógica y ComputabilidadPresentacion lógica para la asignatura Lógica y Computabilidad
Presentacion lógica para la asignatura Lógica y ComputabilidadJoaquín Borrego-Díaz
 
Robocup: Inteligencia Artificial en sistemas multiagente y fútbol de simulación
Robocup: Inteligencia Artificial en sistemas multiagente y fútbol de simulaciónRobocup: Inteligencia Artificial en sistemas multiagente y fútbol de simulación
Robocup: Inteligencia Artificial en sistemas multiagente y fútbol de simulaciónJoaquín Borrego-Díaz
 
Presentacion Teoria de la computabilidad
Presentacion Teoria de la computabilidadPresentacion Teoria de la computabilidad
Presentacion Teoria de la computabilidadJoaquín Borrego-Díaz
 

Plus de Joaquín Borrego-Díaz (20)

Retos en los fundamentos de Data Science
Retos en los fundamentos de Data ScienceRetos en los fundamentos de Data Science
Retos en los fundamentos de Data Science
 
Comercio electrónico móvil: comprar por una app. Parte II
Comercio electrónico móvil: comprar por una app. Parte IIComercio electrónico móvil: comprar por una app. Parte II
Comercio electrónico móvil: comprar por una app. Parte II
 
Comercio electrónico móvil: comprar por una app. Parte I
Comercio electrónico móvil: comprar por una app. Parte IComercio electrónico móvil: comprar por una app. Parte I
Comercio electrónico móvil: comprar por una app. Parte I
 
Introducción al modelado multiagente en FORMA 14
Introducción al modelado multiagente en FORMA 14Introducción al modelado multiagente en FORMA 14
Introducción al modelado multiagente en FORMA 14
 
La perversión de Bolonia. Gestión de la Calidad, Calidad y Excelencia: Tres c...
La perversión de Bolonia. Gestión de la Calidad, Calidad y Excelencia: Tres c...La perversión de Bolonia. Gestión de la Calidad, Calidad y Excelencia: Tres c...
La perversión de Bolonia. Gestión de la Calidad, Calidad y Excelencia: Tres c...
 
Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...
Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...
Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...
 
Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...
Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...
Información Adaptativa, Ingeniería del Conocimiento e Inteligencia Colectiva ...
 
Sistemas inteligentes y la ciencia del dato (y II)
Sistemas inteligentes y la ciencia del dato (y II)Sistemas inteligentes y la ciencia del dato (y II)
Sistemas inteligentes y la ciencia del dato (y II)
 
Sistemas inteligentes y la ciencia del dato (I)
Sistemas inteligentes y la ciencia del dato (I)Sistemas inteligentes y la ciencia del dato (I)
Sistemas inteligentes y la ciencia del dato (I)
 
Tema 1
Tema 1Tema 1
Tema 1
 
Innovación en el tratamiento de la información desde la Ingeniería del Conoc...
Innovación en el tratamiento de la información desde la  Ingeniería del Conoc...Innovación en el tratamiento de la información desde la  Ingeniería del Conoc...
Innovación en el tratamiento de la información desde la Ingeniería del Conoc...
 
Innovación en el tratamiento de la información desde la Ingeniería del Conoc...
Innovación en el tratamiento de la información desde la  Ingeniería del Conoc...Innovación en el tratamiento de la información desde la  Ingeniería del Conoc...
Innovación en el tratamiento de la información desde la Ingeniería del Conoc...
 
Retos y oportunidades de la IA en I+D+i con empresas
Retos y oportunidades de la IA en I+D+i con empresasRetos y oportunidades de la IA en I+D+i con empresas
Retos y oportunidades de la IA en I+D+i con empresas
 
Oportunidades para la economía basada en la Ingeniería del Conocimiento en In...
Oportunidades para la economía basada en la Ingeniería del Conocimiento en In...Oportunidades para la economía basada en la Ingeniería del Conocimiento en In...
Oportunidades para la economía basada en la Ingeniería del Conocimiento en In...
 
Presentacion de las III Jornadas de Lógica, Computación Inteligencia Artificial
Presentacion de las III Jornadas de Lógica, Computación Inteligencia ArtificialPresentacion de las III Jornadas de Lógica, Computación Inteligencia Artificial
Presentacion de las III Jornadas de Lógica, Computación Inteligencia Artificial
 
Presentacion tc 2010 11
Presentacion tc 2010 11Presentacion tc 2010 11
Presentacion tc 2010 11
 
Presentacion curso "Representación del conocimiento en la Web"
Presentacion curso "Representación del conocimiento en la Web"Presentacion curso "Representación del conocimiento en la Web"
Presentacion curso "Representación del conocimiento en la Web"
 
Presentacion lógica para la asignatura Lógica y Computabilidad
Presentacion lógica para la asignatura Lógica y ComputabilidadPresentacion lógica para la asignatura Lógica y Computabilidad
Presentacion lógica para la asignatura Lógica y Computabilidad
 
Robocup: Inteligencia Artificial en sistemas multiagente y fútbol de simulación
Robocup: Inteligencia Artificial en sistemas multiagente y fútbol de simulaciónRobocup: Inteligencia Artificial en sistemas multiagente y fútbol de simulación
Robocup: Inteligencia Artificial en sistemas multiagente y fútbol de simulación
 
Presentacion Teoria de la computabilidad
Presentacion Teoria de la computabilidadPresentacion Teoria de la computabilidad
Presentacion Teoria de la computabilidad
 

Dernier

OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperiomiralbaipiales2016
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVGiustinoAdesso1
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 

Dernier (20)

OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 

Tema 8

  • 1. Tema 8: Verificaci´n de o programas. Tema 8: Verificaci´n de programas. o Introducci´n o Joaqu´ Borrego ın Introducci´n o D´ıaz Ciencias de la Computaci´n 2012-13 o Outline Motivaci´n o Definiendo la correcci´n o Formalismos y problemas Sem´ntica y a programaci´n o Ejemplos Programas no verificables Joaqu´ Borrego D´ ın ıaz Depto. de Ciencias de la Computaci´n o
  • 2. Tema 8: Verificaci´n de o programas. Motivaci´n o Introducci´n o Joaqu´ Borrego ın D´ıaz Definiendo la correcci´n o Outline Motivaci´n o Definiendo la correcci´n o Formalismos y problemas Formalismos y problemas Sem´ntica y a programaci´n o Sem´ntica y programaci´n a o Ejemplos Programas no verificables Ejemplos Programas no verificables
  • 3. Tema 8: Motivaci´n o Verificaci´n de o programas. Introducci´n o Objetivo: Matematizar, el problema de la correcci´n, o Joaqu´ Borrego ın para poder obtener una soluci´n mecanizada o D´ıaz Primera formalizaci´n: Descripci´n del problema X (E : o o Outline entradas, S: salidas): Motivaci´n o Descripci´n funcional: fX : E → S o Definiendo la correcci´n o Descripci´n relacional RX ⊆ E × S o Formalismos y Programa en un modelo de computaci´n, modo o problemas determinista: Produce funciones Sem´ntica y a programaci´n o Ejemplos p → fp Programas no verificables Programa en un modelo de computaci´n, modo no o determinista: Produce relaciones entre estados, fp ⊆ E × P(S)
  • 4. Tema 8: Dos cuestiones Verificaci´n de o programas. Introducci´n o Correcci´n parcial: o Joaqu´ Borrego ın En la descripci´n funcional (modo determinista) o D´ıaz Outline ∀x ∈ E [fp (x) ↓=⇒ fp (x) = fX (x)] Motivaci´n o En la descripci´n relacional (modo no determinista) o Definiendo la correcci´n o Formalismos y ∀x ∈ E [fp (x) ↓=⇒ ∀y ∈ fp (x) [xRX y ]] problemas Sem´ntica y a Parada: programaci´n o Modo determinista, ∀x ∈ E [ fp (x) ↓] Ejemplos Modo no determinista, condici´n fuerte: o Programas no verificables ∀x ∈ E [{↑} ∈ fp (x)] / Modo no determinista, condici´n d´bil: o e ∀x ∈ E [{↓} ∈ fp (x)]
  • 5. Tema 8: Limitaciones computacionales: Irresolubilidad Verificaci´n de o programas. algor´ ıtmica Introducci´n o Joaqu´ Borrego ın D´ıaz Correcci´n parcial: dada f computable, o Outline {p ∈ Programas : fp ⊆ f } Motivaci´n o Definiendo la correcci´n o no es recursivo (ni siquiera recursivamente enumerable) Formalismos y Parada: problemas Sem´ntica y a programaci´n o {p ∈ Programas : ∀x ∈ N fp (x) ↓} Ejemplos Programas no no es recursivo (ni recursivamente enumerable) verificables Consecuencia: s´lo podemos esperar obtener o procedimientos de semidecisi´n y parciales o
  • 6. Tema 8: Especificaci´n de un problema o Verificaci´n de o programas. Introducci´n o Especificaci´n: colecci´n de criterios que, si lo o o Joaqu´ Borrego ın satisface el programa, lo calificamos de correcto D´ıaz Se necesita un lenguaje de especificaci´n o Outline Motivaci´n o Calidad de la especificaci´n: o Definiendo la Mayor abstracci´n posible (evitamos manejar o correcci´n o propiedades de la m´quina donde se ejecuta) a Formalismos y problemas Grado de detalle de la especificaci´n: o Sem´ntica y a programaci´n o + detalle =⇒ − manejable; − detalle =⇒ + manejable Ejemplos (inconveniente: p´rdida de informaci´n, especificaci´n incorrecta) e o o Programas no verificables Cuestiones acerca de las especificaciones: ¿Completa? ¿Aplicable? ¿Consistente? Calidad de la implementaci´n: correcci´n con o o respecto a requerimientos, etc.
  • 7. Tema 8: Representaci´n o Verificaci´n de o programas. Introducci´n o Formalismos internos (p.e. la l´gica de Hoare) o Joaqu´ Borrego ın D´ıaz Analizan el comportamiento de instrucciones Outline Formalismos externos (p.e. la l´gica temporal) o Motivaci´n o Analizan el efecto de la ejecuci´n de m´dulos del o o Definiendo la sistema sobre el estado actual correcci´n o Formalismos y Problemas de la representaci´n: o problemas ¿Podemos asegurar que la especificaci´n expresa o Sem´ntica y a programaci´n o correctamente la intenci´n intuitiva? o ¿Cu´l es el grado de especificaci´n aceptable? a o Ejemplos ¿Se pueden especificar cualquier tipo de sistemas? Programas no verificables
  • 8. Tema 8: Tres enfoques Verificaci´n de o programas. Introducci´n o Teor´ Prueba = correcci´n ıa: o Joaqu´ Borrego ın D´ıaz Desarrollo matem´tico a Outline Cient´ ıfico correcci´n experimental o Motivaci´n o Estudio matematizado de la relaci´n entrada/salida o Definiendo la correcci´n o Ingenier´ Dise˜o de sistemas correctos ıa: n Formalismos y Programar a partir de la especificaci´n o problemas Sem´ntica y a programaci´n o Ejemplos Programas no verificables
  • 9. Tema 8: Enfoque te´rico o Verificaci´n de o programas. Introducci´n o Idea: seguir en la verificaci´n de programas el m´todo o e Joaqu´ Borrego ın deductivo matem´tico, a D´ıaz Programar = Demostrar Outline Motivaci´n o Aproximaci´n debida a R. Floyd y C.A.R. Hoare: o Definiendo la Programaci´n o Matem´ticas a correcci´n o Leng. de programaci´n o Leng. Matem´tico a Formalismos y problemas Propiedades de instr. b´sicas a Axiomas Sem´ntica y a Especificaci´n o Teorema programaci´n o Ejemplos Formalizaci´n (sintaxis): o Programas no Lenguaje preciso de programaci´n o verificables Especificaci´n de las propiedades (L´gica) o o Sem´ntica: a Sem´ntica de los formalismos matem´ticos a a Expresi´n de la correcci´n o o
  • 10. Tema 8: Enfoque cient´ ıfico-emp´ ırico Verificaci´n de o programas. Introducci´n o Descubrir errores mediante un gran n´mero de u Joaqu´ Borrego ın ejemplos-tests, una vez que se ha dise˜ado el n D´ıaz sistema Outline Desventajas: Motivaci´n o No garantiza la ausencia de errores (errores no Definiendo la correcci´n o descubiertos mediante tests) Formalismos y No es eficiente: es necesario generar muchos tests problemas Una vez construido el sistema, se hacen adaptaciones Sem´ntica y a programaci´n o para resolver los nuevos errores, lo que lo hace m´s a complejo Ejemplos Programas no Conclusi´n: o verificables El testeo puede ser un m´todo muy efectivo para e mostrar la presencia de errores, pero es completamente inadecuado para justificar la ausencia de ´stos e (E. Dijkstra) Siempre existe un error m´s a
  • 11. Tema 8: Enfoque Cient´ ıfico/Ingenier´ ıa Verificaci´n de o programas. Introducci´n o Revisar junto a dise˜ar n Joaqu´ Borrego ın Producir software integrando los procesos de D´ıaz salvaguardia y calidad Outline Coste econ´mico m´s reducido o a Motivaci´n o Software m´s seguro a Definiendo la correcci´n o Inconveniente: complejidad formal Formalismos y Soluci´n: Mecanizar la verificaci´n o o problemas Sem´ntica y a Consecuencia: Es necesario dise˜ar sistemas de n programaci´n o verificaci´n autom´tica o a Ejemplos Programas no verificables
  • 12. Tema 8: Programaci´n verificable o Verificaci´n de o programas. Introducci´n o Joaqu´ Borrego ın D´ıaz Outline Motivaci´n o Definiendo la correcci´n o Formalismos y problemas Sem´ntica y a programaci´n o Ejemplos Programas no verificables
  • 13. Tema 8: Sem´ntica a Verificaci´n de o programas. Introducci´n o Lenguaje de programaci´n: Lenguaje para la o Joaqu´ Borrego ın descripci´n de procesos din´micos (variables en el o a D´ıaz tiempo), relacionados con la noci´n de ejecuci´n por o o Outline una m´quina a Motivaci´n o Sem´ntica de los lenguajes: a Definiendo la correcci´n o Sem´ntica operacional: asociada a la descripci´n a o Formalismos y funcional problemas Sem´ntica relacional: asociada a la descripci´n a o Sem´ntica y a programaci´n o relacional Ejemplos Otros... Programas no Necesitamos Reglas que describen la correspondencia verificables entre programas y especificaciones
  • 14. Tema 8: Problemas relacionados Verificaci´n de o programas. Introducci´n o S´ ıntesis: Dada ϕ especificaci´n, construir un programa o Joaqu´ Borrego ın p correcto seg´n ϕ (satisface ϕ) u D´ıaz An´lisis: Dado p, construir la especificaci´n a o Outline demostrable m´s adecuada para describir su a Motivaci´n o comportamiento Definiendo la correcci´n o Verificaci´n de propiedades: Dados p y ϕ, ¿p o Formalismos y problemas satisface ϕ? Sem´ntica y a Equivalencia: Dados p y p y una especificaci´n ϕ, o programaci´n o Ejemplos ¿Son p y p equivalentes seg´n ϕ? u Programas no verificables Optimizaci´n: Dado p, dise˜ar un programa o n equivalente mejor, seg´n cierta medida de complejidad u Depuraci´n: Dado p que no satisface ϕ, modificar p o para satisfacer ϕ
  • 15. Tema 8: Observaciones Verificaci´n de o programas. Introducci´n o Son problemas indecidibles, en general Joaqu´ Borrego ın D´ıaz No estudiaremos eficiencia Herramientas fundamentales: Outline Motivaci´n o Inducci´n computacional (sobre la ejecuci´n) o o Definiendo la correcci´n o Inducci´n estructural (sobre la sintaxis de o Formalismos y programas/especificaciones) problemas Dos situaciones de partida: Sem´ntica y a programaci´n o Caso a posteriori Ejemplos Caso constructivo: construir el programa junto con la Programas no especificaci´n. o verificables
  • 16. Tema 8: Correcci´n constructiva versus a posteriori o Verificaci´n de o programas. Introducci´n o Algoritmo cl´sico A1 de la multiplicaci´n a o Joaqu´ Borrego ın D´ıaz Funci´n mult1 (x, y ) o si y = 0 entonces devolver 0 Outline si no Motivaci´n o i ←x Definiendo la j ←y correcci´n o mientras j > 1 hacer Formalismos y i ←i +x problemas j ←j −1 Sem´ntica y a devolver i programaci´n o Viene de que la aplicaci´n f caracterizada por o Ejemplos Programas no 1. f (x, 0) = 0, ∀x ∈ N. verificables 2. f (x, y + 1) = f (x, y ) + x, ∀x, y ∈ N. define el producto de dos n´meros naturales. A1 es u correcto, ya que ha sido dise˜ado mediante una definici´n n o “constructiva” de f .
  • 17. Tema 8: Multiplicaci´n rusa o Verificaci´n de o programas. Introducci´n o Joaqu´ Borrego ın D´ıaz Funci´n mult2 (x, y ) o Vector A, B Outline si x = 0 entonces devolver 0 Motivaci´n o si x = 1 entonces devolver y Definiendo la si no Para x = 52 e y = 27 correcci´n o A[1] ← x ; B[1] ← y 52 27 Formalismos y i ←1 problemas 26 54 mientras A[i] > 1 hacer → 13 108 Sem´ntica y a A[i + 1] ← A[i]div2 programaci´n o B[i + 1] ← B[i] + B[i] 6 216 Ejemplos i ←i +1 → 3 432 prod ← 0 → 1 864 Programas no verificables i ←i −1 mientras i > 0 hacer 52 · 27 = 108 + 432 + 864 = si A[i] = A[i]div2 + A[i]div2 entonces = 1404 prod ← prod + B[i] i ←i −1 devolver prod
  • 18. Tema 8: Correcci´n parcial o Verificaci´n de o programas. Introducci´n o Teorema: Si A2 para sobre (x, y ) ∈ N × N, entonces Joaqu´ Borrego ın devuelve x · y . Es decir, fA2 (x, y ) = x · y . D´ıaz Demostraci´n: o Outline Motivaci´n o Si x = 0, trivial Definiendo la Si x > 0, entonces correcci´n o x = ak 2k + ak−1 2k−1 + · · · + a2 22 + a1 2 + a0 ai ∈ Formalismos y problemas {1, 0} ak = 1 Sem´ntica y a programaci´n o Obs´rvese que e 2k ≤x < 2k+1 . Por tanto k = log2 x , Ejemplos que notaremos por log2 (x). Programas no verificables Las columnas A y B A[1] = 2k + ak−1 2k−1 + · · · + a2 22 + a1 2 + a0 B[1] = y A[2] = 2k−1 + ak−1 2k−2 + · · · + a2 2 + a1 B[2] = 2 · y A[3] = 2k−2 + ak−1 2k−3 + · · · + a2 B[3] = 2 · B[2] = 22 · y ... ... A[k] = 2 + ak−1 B[k] = 2k−1 y A[k + 1] = 1 B[k + 1] = 2k y
  • 19. Tema 8: Correcci´n total: Parada o Verificaci´n de o programas. Introducci´n o Para cada j = 1, . . . , k + 1 se verifica: Joaqu´ Borrego ın D´ıaz A[j] es impar ⇐⇒ aj−1 = 0 ⇐⇒ aj−1 = 1 Outline Motivaci´n o Por tanto, Definiendo la fA2 (x, y ) = B[j] = 2j−1 · y = correcci´n o A[j] impar aj−1 = 1 Formalismos y problemas 1≤j ≤k +1 1≤j ≤k +1 Sem´ntica y a = aj−1 · 2j−1 y programaci´n o Ejemplos 1≤j ≤k +1 Programas no =y· aj−1 · 2j−1 = y · x verificables 1≤j ≤k +1 Teorema (Prueba de parada): El algoritmo A2 para sobre todo (x, y ) ∈ N × N. Demostraci´n: Los dos bucles considerados constan, a lo o sumo, de k + 1 = 1 + log2 (x) pasos.
  • 20. Tema 8: Verificaci´n de o programas. Introducci´n o Ejemplo: Error del procesador Pentium Joaqu´ Borrego ın D´ıaz A˜o 1994, 67.000 millones de pesetas) n Outline p Algoritmo de divisi´n del procesador (C´lculo de o a d ): Motivaci´n o Definiendo la correcci´n o Division SRT4 (p, d) Formalismos y p0 ← p problemas Para cada k = 1, ... hacer Sem´ntica y a programaci´n o determinar qk ∈ {−2, −1, 0, 1, 2} tal que Ejemplos 8 si pk+1 = 4(pk − qk d), entonces |pk+1 | ≤ 3 d Programas no verificables p qi Se verifica que = d 4i i∈N 8 2 Propiedad: |pk | ≤ 3 d =⇒|pk − qk d| ≤ 3 Para alg´n qk ∈ {−2, −1, 0, 1, 2} u
  • 21. Tema 8: Ejemplo (cont.) Verificaci´n de o programas. Introducci´n o Si pk+1 = 4(pk − qk d) y |pk+1 | ≤ 8 d, entonces 3 Joaqu´ Borrego ın D´ıaz pk −k qk pk + 1 −(k+1) 4 = k + 4 d 4 d Outline p pk Motivaci´n o Aplicando inducci´n o d = (q0 + · · · + qk−1 ) + d 4−k y por l´ ımite se tiene la igualdad Definiendo la correcci´n o Elecci´n del qk (unidad: d/3): o Formalismos y problemas Sem´ntica y a programaci´n o Ejemplos Programas no verificables El algoritmo eleg´ 0 en vez de 2 para ciertos n´meros en [5/3, 8/3], ıa u debido a errores de precisi´n o
  • 22. Tema 8: Otros ejemplos Verificaci´n de o programas. Introducci´n o 1985-87, Canad´: Fallo en el software de un emisor de a Joaqu´ Borrego ın rayos para el tratamiento del c´ncer: cuatro muertos a D´ıaz Banco de Nueva York: En el contador de mensajes de Outline compra/venta: Motivaci´n o 32767 + 1 = 0 Definiendo la correcci´n o P´rdida de la nave Phobos (U. Sovi´tica, 1988) e e Formalismos y problemas Un s´ ımbolo: Explosi´n de la lanzadera espacial o Sem´ntica y a programaci´n o Verificaci´n de propiedades para sistemas con n´mero o u Ejemplos finito de estados, pero existen 1010 estados o m´s a Programas no verificables Ariane 5: mal env´ de la altitud correcta ıo Los errores tienen su causa en una deficiente verificaci´n o Costes en EEUU: 300.000 millones de pesetas en 2002 Costes en UK: 900 millones de pesetas (2002)
  • 23. Tema 8: Verificaci´n en la NASA o Verificaci´n de o programas. Introducci´n o Joaqu´ Borrego ın D´ıaz Outline Motivaci´n o Definiendo la correcci´n o Formalismos y problemas Sem´ntica y a programaci´n o Ejemplos Programas no verificables
  • 24. Tema 8: Programas no verificables Verificaci´n de o programas. Introducci´n o (Fijamos x > 1) Procedimiento 1: Dado n > 0, Joaqu´ Borrego ın apl´ ıquese recursivamente la siguiente regla: D´ıaz Escribir n en base x, aumentar en 1 la base, y restarle 1 Outline al nuevo n´mero u Motivaci´n o Definiendo la Ejemplo: si n = 20098, y x = 3, entonces correcci´n o Formalismos y n = 39 + 35 + 34 + 32 + 30 problemas Sem´ntica y a programaci´n o y el resultado es 49 + 45 + 44 + 42 + 40 −1 Ejemplos (Goodstein) Procedimiento 2: similar al 1, pero se Programas no verificables aplica la regla al n´mero escrito en base x pura: u 2 1 En el caso anterior, n = 33 + 33 +2 + 33+1 + 32 + 30 2 1 y el resultado es n = 44 + 44 +2 + 44+1 + 42 + 40 − 1 Teorema: Despu´s de un n´mero finito de pasos los pro- e u cedimientos anteriores paran, llegando a 0
  • 25. Tema 8: Programas no verificables (II) Verificaci´n de o programas. Introducci´n o Consecuencia del teorema de la forma normal: Joaqu´ Borrego ın Cualquier programa aritm´tico se puede traducir a una e D´ıaz f´rmula Σ1 , esto es, f´rmulas del tipo o o Outline Motivaci´n o ∃xϕ(y , x) Definiendo la correcci´n o donde ϕ s´lo posee cuantificadores acotados o Formalismos y problemas Existe traducci´n p ∈ Programas → ϕp tal que: o Sem´ntica y a programaci´n o Es autom´tica (mecanizable) a Ejemplos Se tiene que para cualesquiera x, y ∈ N Programas no verificables [[p]](~) = y ⇐⇒ N |= ψp (~, y) x x
  • 26. Tema 8: Imposibilidad de verificaci´n o Verificaci´n de o programas. Introducci´n o Teorema: Supongamos que la teor´ deıa Joaqu´ Borrego ın especificaciones s´lo admite inducci´n sobre f´rmulas o o o D´ıaz Σ1 . Entonces el sistema no puede demostrar que el Outline procedimiento 1 para Motivaci´n o Potencia de ese sistema: Programas LOOP, funciones Definiendo la correcci´n o primitivas recursivas Formalismos y problemas Teorema: Supongamos que la teor´ de ıa Sem´ntica y a especificaciones admite inducci´n sobre cualquier o programaci´n o f´rmula aritm´tica. Entonces el sistema no puede o e Ejemplos demostrar que el procedimiento 2 para Programas no El sistema es la Aritm´tica de Peano. e verificables Para demostrar la parada se necesita usar t´cnicas de e teor´ de conjuntos ıa