taller de producci ó n de programas sin fallas
DESCRIPTION
Taller de Producci ó n de Programas sin Fallas. Nora Szasz Grupo de Métodos Formales Instituto de Computación Universidad de la República Montevideo, Uruguay www.fing.edu.uy/~mf /TPPSF. Objetivos. Generales: - PowerPoint PPT PresentationTRANSCRIPT
TPPSF 1
Taller de Producción de Programas sin Fallas
Nora Szasz
Grupo de Métodos Formales
Instituto de Computación
Universidad de la República
Montevideo, Uruguaywww.fing.edu.uy/~mf/TPPSF
Presentación - 2TTPSF
Objetivos
Generales:
Iniciación al uso de métodos formales para la producción de software correcto por construcción
Particulares:– presentación de laTeoría de Tipos como lógica de
programación – familiarización con ambientes de desarrollo de
programas basados en ese formalismo
Presentación - 3TTPSF
Certificación de Calidad de Software
Normas internacionales de calidad (ISO9001, ITSEC, TCSEC, etc.)
Diferentes niveles/criterios de calidad que involucran evaluación de– el proceso de producción– el producto
Niveles altos de garantía exigen la aplicación de métodos formales en– la especificación– la verificación del código fuente – la verificación del código objeto
Presentación - 4TTPSF
Norma ITSECAssurance Correctness Level E6
Construction - The developement processE6 1. The sponsor shall provide the target of evaluation
(TOE) and the following documentation: [...]
– Formal description of the architecture of the TOE.
– Library test programs and tools used for testing the TOE, including tools which can be used to detect inconsistencies, between source code and executable code if there are any security enforcing or security relevant to source code components (e.g. Disassembler and/or a debugger).
– Informal description of correspondence between source code or hardware drawings and the detailed design and the formal specification of security enforcing functions . [...]
Presentación - 5TTPSF
Normas ITSEC y TCSEC (Cont.)
Phase 4 - Implementation
E6.11 [...] It shall explain the correspondance between the security mechanisms as represented in the source code or hardware drawings and the formal specification of security enforcing functions in the security target. [...]
E6.12 [...] The test documentation shall explain the correspondence between tests and the formal specification of security enforcing functions defined in the security target.
E6.13 [...] Investigate any suspected inconsistencies between source code and executable code found during testing using the sponsor supplied tools.
Presentación - 6TTPSF
Verificación de modelos Lenguajes para sistemas
comunicantes Lógicas de programación
- Lógica de Hoare
- Lógicas de orden superior
- Teorías de tipos
...
Transporte Aeronáutica Centrales nucleares Dispositivos médicos Comercio electrónico
...
Métodos formalesAplicaciones IndustrialesCríticas
Métodos Formales y Desarrollo Industrial de Software
Presentación - 7TTPSF
Algunas razones...
La variedad de aplicaciones críticas se ha incrementado recientemente
No hay estándares definidos sobre qué técnicas formales utilizar
La incorporación de métodos formales en el desarrollo de software no es inmediata– requiere cierto dominio de técnicas abstractas– muchas veces oscurecen nociones operacionalemente
claras
Presentación - 8TTPSF
Más razones
Gran parte de las herramientas han sido desarrolladas y utilizadas en laboratorios de investigación
– Estimación incorrecta de factores de escala en la funcionalidad de las herramientas
Comunicación Investigación Industria no es simple
– La gran variedad de técnicas formales dificulta la correcta selección de las técnicas apropiadas
Presentación - 9TTPSF
Aplicación de métodos formales en el desarrollo de software
Tiene (hoy) un costo elevado
Es rentable a largo plazo – desarrollo incremental y descubrimiento temprano de
incoherencias entre los requerimientos– calidad del diseño – mantenimiento – documentación fiable – comunicación no ambigua (posibilita la terciarización
de servicios y la verificación de la funcionalidad)– evaluación de los planes de calidad (en particular, de
los protocolos de test)
Presentación - 10TTPSF
Buenas perspectivas ...
Actualmente se verifican sistemas de porte significativo (sistemas de centenares de miles de líneas) [Craigen93a, Craigen93b]
Proyecto CICS conducido por IBM en colaboración con Universidad de Oxford [Houston91]
especificación en la notación formal de Z de una parte del sistema y desarrollo del código a partir de esta especificación.
Presentación - 11TTPSF
Buenas perspectivas...
Utilización de sistema B por GEC-Alsthom en el proyecto del metro de Calcuta [Silva92]
especificación en la notación formal de B de una parte del sistema y desarrollo formal del código ejecutable a partir de esta especificación.
Presentación - 12TTPSF
El Grupo de Métodos Formales del InCo
Las áreas de investigación:– Verificación formal de corrección de programas– Verificación de sistemas reactivos– Programación genérica
Presentación - 13TTPSF
En este curso
Lógicas de Programación
- Teorías de Tipos
- Asistente de Pruebas Coq
Métodos formales Aplicaciones Críticas
Especificación formal:– lenguaje formal (Teoría de Tipos)– razonamiento sobre la especificación y demostración
propiedades– asistentes mecánicos
- Dyade
- Dassault Aviation
- CNET
Presentación - 14TTPSF
Programa
Asistentes de pruebas para lógicos y matemáticos
– una presentación formal de la lógica proposicional y de primer
orden
Asistentes de pruebas para programadores
– cálculo lambda como lenguaje de programación funcional
Pruebas y programas. Especificaciones y Tipos
– isomorfismo de Curry-Howard
– extracción de programas a partir de pruebas
– construcción de pruebas a partir del programa y la especificación
Presentación - 15TTPSF
Programa
Definiciones Inductivas– principios de inducción y esquemas de recursión
Construcción de programas certificados usando Coq
– programas funcionales e imperativos
Presentación - 16TTPSF
[Craigen 93a] D.CRAIGEN, S.DERHART and T.RALSTON. An international Survey on Industrial Applications of Formal Methods, 1: Purpose, Approach, Analysis and Conclusions. Technical Report N93/626, NISTGCR,U.S. Dept. of Commerce, Tehcnology Administration, NIST, Comp. syst. Lab., Githersburg, MD 20899, Nat, Institut of Standart and Technology, 1993.
[Craigen 93b] D.CRAIGEN, S.DERHART and T.RALSTON. An international Survey on Industrial Applications of Formal Methods, 2: Case Studies. Technical Report N93/626, NISTGCR,U.S. Dept. of Commerce, Tehcnology Administration, NIST, Comp. syst. Lab., Githersburg, MD 20899, Nat, Institut of Standart and Technology, 1993.
[HOUSTON 91] I. HOUSTON and S. KING. CICS project report, experiences and results from the use of Z in IBM. Srpinger Verlag, 1991, LNCS, volume 551.
[SILVA 92] C. D. SILVA, B. DEHBONEI and F. MEJIA. Formal specification in the development of industrial applications: the subway speed control mechanism. FORTE'92, ed. by M. DIAZ and R. GROTH, North Hollland, 1992.
Referencias