Manual de Usuario-Blast

7
 MANUAL DE USUARIO 0 Manual de usuario Model checker

Transcript of Manual de Usuario-Blast

7/23/2019 Manual de Usuario-Blast

http://slidepdf.com/reader/full/manual-de-usuario-blast 1/7

 

MANUAL DE USUARIO 0

Manual de usuario

Model checker

7/23/2019 Manual de Usuario-Blast

http://slidepdf.com/reader/full/manual-de-usuario-blast 2/7

 

MANUAL DE USUARIO 1

Índice

Introducción  ........................................................................................................................................ 2

¿Qué es model checker?   ................................................................................................................. 2

Software a validar   .............................................................................................................................. 2

Comando de ayuda  ............................................................................................................................. 3

Requisitos del sistema  ...................................................................................................................... 3

Requisitos a instalar Blast Versión 2.5 Windows  .......................................................................... 3

P  ASOS A I NSTALAR A LINUX   ................................................................................................................ 4

 ¿Quées el OCam l?   ........................................................................................................................ 5

Ejemplos del BLAST   ........................................................................................................................... 5

7/23/2019 Manual de Usuario-Blast

http://slidepdf.com/reader/full/manual-de-usuario-blast 3/7

 

MANUAL DE USUARIO 2

Introducción

BLAST (Berkeley Lazy Abstraction Software verification Tool) es una verificación automática de la

herramienta para comprobar temporal de las propiedades de seguridad de los programas en C. Dado

un programa en C y temporal de la seguridad de la propiedad, la Explosión de estática demuestra

que el programa satisface la seguridad de la propiedad, o proporciona una ruta de ejecución que

presenta una violación de la propiedad (o, ya que el problema es indecidible, no se termina). La

explosión de construcciones, explora, y refina las abstracciones del estado del programa espacio

basado en lo perezoso predicado de la abstracción y de interpolación basado predicado

descubrimiento.

Se habla de este model checker para hacer pruebas ya que se necesitan muchas instalaciones para

que se pueda correr bien en el computador y la iniciativa de este manual es para que los podremos

instruir que requisitos necesita su computador para que pudiese funcionar de manera perfecta y

hacer chequeo de sus pruebas de sus programas.

¿Qué es model checker?

La verificación de modelos (o Model checking) es un método automático de verificación de un

sistema formal, en la mayoría de las ocasiones derivado del hardware o del software de un sistema

informático. El sistema es descrito mediante un modelo, que debe satisfacer una especificación

formal descrita mediante una fórmula, a menudo escrita en alguna variedad de lógica temporal.

El modelo suele estar expresado como un sistema de transiciones, es decir, un grafo dirigido, que

consta de un conjunto de vértices y arcos. Un conjunto de proposiciones atómicas se asocia a cada

nodo. Así pues, los nodos representan los estados posibles de un sistema, los arcos posibles

evoluciones del mismo, mediante ejecuciones permitidas, que alteran el estado, mientras que las

proposiciones representan las propiedades básicas que se satisfacen en cada punto de la ejecución.

Software a validar

PROGRAMA: “Problema del viajero” 

Este programa puede hacer aproximaciones para encontrar la ruta mas corta en base a intercambios

simples entre dos puntos o por medio de invertir el sentido de una parte del recorrido.

Las ciudades son distribuidas a lo largo de una circunferencia de radio igual a 1, por lo tanto el costo

final esperado debe de ser un valor cercano a 2*pi.

7/23/2019 Manual de Usuario-Blast

http://slidepdf.com/reader/full/manual-de-usuario-blast 4/7

 

MANUAL DE USUARIO 3

Comando de ayuda

Ayuda: Muestra este archivo.

Guarda: Le indica el programa que debe de guardar los datos de las ciudades en un archivo

(Guarda el ángulo y las coordenadas). La extensión del archivo debe ser .dat

Iniciar : Inicia la búsqueda de mejores rutas.

Muestra: Muestra los datos de las ciudades.

Pesos: Muestra los costos entre cada ciudad.

Tour : Muestra cada nuevo tour encontrado. Los nuevos recorridos se muestran durante la

búsqueda de rutas

Salir : Termina la ejecución del programa

Requisitos del sistema

La aplicación funciona hasta en un ordenador simple pero el procesamiento será algo lento,

prácticamente con cualquier sistema operativo. Aun así dispone de ciertos requerimientos. Dichos

requerimientos se fundamentan principalmente en que se ha implementado mediante el lenguaje de

programación C ya que necesita de una tipo terminal como la que utiliza Linux ya que es la parte

esencial de este model checker que necesita.

Requisitos a instalar Blast Versión 2 5 Windows

1. Se necesita tener instalado el cygwin para que pueda funcionar. Se puede encontrar en su

página oficial https://www.cygwin.com/. En su página tiene tanto para La arquitectura tanto

de 32bits y 64 bits.

2. Tener 3 archivos .dll (cygwin1.dll, cyggmp-3.dll, and KERNEL32.dll)

3. Descargar un archive .zip (blast-2.5_win32-bin-x86.zip)

4. Sacados de su página oficial del blast http://mtc.epfl.ch/software-tools/blast/index-epfl.php  

7/23/2019 Manual de Usuario-Blast

http://slidepdf.com/reader/full/manual-de-usuario-blast 5/7

 

MANUAL DE USUARIO 4

PASOS A INSTALAR A LINUX 

1. Descargar BLAST de la fuente de distribución.  

2. Descomprimir y desempaquetar el código fuente de distribución. Esto creará un directorio

llamado blast-2.4 cuya estructura se explica a continuación.  

tar xvfz blast-2.4.tar.gz 

3. Entrar al directorio blast-2.4/explosión y ejecutar GNU Make para compilar la distribución.  

cd blast-2.4/blast

make distclean

make

4.  Ahora debe encontrar los ejecutables pblast.opt y spec.opt en el directorio bin. Estos son

enlaces simbólicos a los archivos del mismo nombre en el directorio psrc y especificaciones,

respectivamente. El ejecutable pblast.opt es Blast model checker, el ejecutable de spec.optes la especificación instrumentada. 

5. También debe descargar e instalar el Simplify Theorem Prover . Esto implica la colocación

de los archivos ejecutables Simplify (Linux) o Simplify.exe (Windows) en el directorio bin.

 Además, Blast tiene interfaces con el Cvc Theorem de Prover, si usted desea instalar y

utilizar esta herramienta para el theorem prover de llamadas.

De nuevo, esto implica poner el ejecutable para la Cvc en el directorio bin. Tenga en cuenta

que en el orden del Blast para el uso de Simplificar o Cvc, el archivo ejecutable para

Simplificar y Cvc debe estar en la ruta de acceso actual.

Es una buena idea añadir la Explosión bin del directorio a la ruta de acceso. El Blast tambiénpuede utilizar cualquier otro SMT-LIB compatible teorema de armario para sus consultas. 

6. La explosión también viene con una independiente de la GUI. Para instalar la GUI, usted

debe descargar e instalar el LablGTK paquete, además de Ocaml. Después de haber

instalado LablGTK, usted puede construir la interfaz gráfica de usuario por ir al directorio

blast-2.4 y escribir: 

make gui

Esto va a crear la GUI ejecutable blastgui.opt en el directorio bin. 

7. Blast (de hecho la GUI) requiere el uso de la variable de entorno BLASTHOME. Por lo tanto,

usted debe establecer la variable de entorno BLASTHOME para que apunte al directorio de

explosión-2.4/explosión de donde has descargado Blast.  

7/23/2019 Manual de Usuario-Blast

http://slidepdf.com/reader/full/manual-de-usuario-blast 6/7

 

MANUAL DE USUARIO 5

Puede descargar versiones ejecutables de Blast para Linux y Windows con Cygwin. Usted debe de

forma independiente descargar e instalar el Simplify Theorem Prover Blast requiere que el Simplify

Theorem este dentro del path.

Tambien hay mas maneras de instalar el blast. Por ejemplo Usted necesitará OCaml para construir

Blast. Blast ha sido probado en Linux y en Windows con Cygwin.

 ¿Quées el OCam l?

Es un propósito general de fuerza industrial lenguaje de programación con un énfasis en la

expresividad y la seguridad. Es la tecnología de elección en las empresas donde un solo

error te puede costar millones y la velocidad de los asuntos, y que hay una comunidad

activa que se ha desarrollado un amplio conjunto de bibliotecas.

Si desea utilizar Blast en Windows, entonces usted debe conseguir una completa

instalación de Cygwin y el código fuente en OCaml distribución y compilarlo usted mismousando el Cygwin herramientas (como contraposición a conseguir el nativo Win32-código

de la versión de OCaml).

Ejemplos del BLAST

Comp robación De La Accesibi l idad  

La forma más sencilla de escribir un programa que la Blast debe comprobar es especificar una

etiqueta C, en un programa de ubicación que no debe ser alcanzado.

El model checker Blast comprueba si una etiqueta en el código fuente de C es alcanzable. El

comando básico para el funcionamiento de Blast es "pblast.opt prog.c -de inicio principal -L errlabel".

Este se ejecuta el modelo de ficha en el programa prog.c y comprueba la accesibilidad del error de

etiqueta errlabel, a partir de la ubicación inicial de la función de inicio.

Cuando termine la corrida con una traza de error o un mensaje de que el error era inalcanzable (o,

desde la accesibilidad problema es indecidible, el programa no puede terminar). Los valores

predeterminados para iniciar y errlabel son los principales y ERROR, respectivamente.

Por lo tanto, la invocación de Explosión con pblast.opt prog.c comprueba si el programa ERROR de

etiqueta se puede llegar, cuando comience la ejecución de la función principal.

7/23/2019 Manual de Usuario-Blast

http://slidepdf.com/reader/full/manual-de-usuario-blast 7/7

 

MANUAL DE USUARIO 6

Considere el seguimiento del programa C: int main() {

int x,y;

if (x > y) {

x = x - y;

if (x <= 0) {

ERROR: goto ERROR;

}

}

}

Cualquier otra de la seguridad de la propiedad puede ser transformada a la accesibilidad de la

comprobación de programa de instrumentación. Por ejemplo, más sofisticados, las especificaciones

están instrumentados en el código de preprocesamiento paso tal que la falla de la especificación de

cantidades para llegar a un determinado error de etiqueta. Esto también significa que usted puede

añadir sus propias anotaciones directamente en el código, y un especial de error etiqueta para

significar la violación de la propiedad que desea comprobar.