TPPSF1 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,

Slides:



Advertisements
Presentaciones similares
INTRODUCCIÓN A LA VERIFICACION Y VALIDACION
Advertisements

Metodologías ágiles.
Diagnóstico de la Organización de la Calidad PDVSA
Propuesta de Mejora del Proceso de Pruebas basada en el Modelo TPI
Herramientas y metodologías de éxito para el manejo de proyectos TIC: Caso PYME CREATIVA Noviembre 2008.
Seguridad en el Ciclo de Vida de Desarrollo
Medición de la usabilidad en aplicaciones de escritorio.
HERRAMIENTA PARA LA RECUPERACION DE INFORMACION: KARPANTA, un motor de búsqueda experimental Oscar Andrés Seoneray Cod
Una Introducción Básica a Sistemas de Tipos Estáticos
Herramientas CASE.
Evaluando Competencias Profesionales a Través de Rúbricas
IEEE-std Práctica Recomendada para la Especificación de Requerimientos de Software Fuente: IEEE Recommendad Practice for Software Requirements.
Versión 2004 Enrique Bañuelos Gómez
PARADIGMA Es un esquema de pensamiento que nos lleva a concebir las cosas de una manera determinada. el término paradigma puede indicar el concepto de esquema.
M.S.C. Ivette Hernández Dávila
Ingeniería de Software Dr. Marcello Visconti Departamento de Informática Universidad Técnica Federico Santa María
Software Product Lines para desarrollo interno Maximiliano Ariel Bregante (Universidad de Palermo, Argentina)
Código SQF 1000 y 2000 Lynette E. Orellana, PhD Catedrática Asociada Programa de Ciencia y Tecnología de Alimentos Departamento de Cultivos y Ciencias.
Planning and Basic Dseign of a LAN M.C. Juan Carlos Olivares Rojas Department of Computer and System Instituto Tecnológico de Morelia
Tendencias de la Ingeniería de Software Embebido Loayza Soloisolo, Jorge Ramirez Ticona, Jorge Thony Coaquira Ugarte, Lucas.
Sistemas de gestión de la calidad en empresas que desarrollan con Genexus Amalia Álvarez Balbi Gastón Mousqués
 Docentes ◦ Jonathan Erlich  ◦ Ariel Glikman   Organización de la materia ◦ Idesmaimonides.wikidot.com.
Rational Unified Process (RUP)
Rational Unified Process (RUP)
2.- Planificación Básica DEPARTAMENTO DE INGENIERÍA INFORMÁTICA
Programación Extrema Leonardo Ramírez Z.. Contenido Motivación ¿Qué es Programación Extrema? La filosofía detrás de la Programación Extrema El proceso.
Arquitectura de Software
1 Ingeniería del Software Curso German Rigau Ingeniería Técnica en Informática de Sistemas.
Técnicas de Calidad del Software Agosto-Diciembre 2007 Sesión # 2.
Tema 1: Introducción a la Ingeniería de Software
Ing. en Sistemas de Información
Desarrollo de aplicaciones empresariales con Web Services
AUDITOR AMBIENTAL LÍDER ISO 14001:2004 Introducción a los Sistemas de Gestión Ambiental.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
La metrología industrial
Rational Unified Process
Técnicas de Calidad del Software Agosto-Diciembre 2007 Patricia Verdines Oficina: A2-134B Sesión # 1.
1 Ingeniería del Software Curso German Rigau Ingeniería Técnica en Informática de Sistemas.
Sistemas de Información Agosto-Diciembre 2007 Sesión # 10.
INGENIERIA DE SOFTWARE
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
Ingeniería de Requerimientos
Actividades en el Proceso de desarrollo de Software
COIS 115 Profesor: Gustavo A. Vélez.  Proceso donde necesito estar seguro que usted llego al salón  ¿Esta usted aquí, AHORA?  Elimine lo que tiene.
REVISION Y AUDITORIA.
Ciclo de Vida del Software
Ingeniería en Informática F UNDAMENTOS DE C OMPUTACIÓN B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
Introduccion a los Sistemas en Tiempo Real
Carolina Rangel Felipe Montaño Alexis García
MÓDULO INTRODUCCIÓN AL CICLO DE VIDA DEL SOFTWARE
Un requerimiento es una condición o capacidad a la que el sistema (siendo construido) debe conformar [ Rational ]. Un requerimiento de software puede.
INGENIERIA DE SOFTWARE
1 Ingeniería del Software Curso German Rigau Ingeniería Técnica en Informática de Sistemas.
Proceso de desarrollo de Software
¿Qué es la Ingeniería De Software? Ingeniería de Software.
Administración de Calidad de Software
República Bolivariana de Venezuela Universidad Nacional Experimental Politécnica de la Fuerza Armada (UNEFA) Carrera: Ingeniería de Sistemas Cátedra: Análisis.
Maestría en Gerencia en Tecnología de la Información Cátedra Ingeniería de Software Profesora: Mary Carmen Milano. Integrantes: Rosa Arellano Osbaldo Goitia.
OBJETIVOS DEL CURSO El curso se centra en el proceso de desarrollo de aplicaciones de automoción mostrando cómo satisfacer los requisitos de la norma ISO.
Bachillerato Ingeniería en Informática Fundamentos de Computación.
Productos de Pruebas Hace hambre!! . Las bases. La verificación consiste en corroborar que el programa respeta su especificación, mientras que validación.
Taller Avanzado sobre Obstáculos Técnicos al Comercio para Reguladores Mexicanos Diferentes enfoques para la evaluación de la conformidad Febrero 10, 2016.
Experiencia de México Taller sobre TIC y Compras Públicas.
Auditoría y Seguridad de Sistemas de Información Auditoria de Sistemas un Desafío Principales Actividades de la Auditoría de Sistemas Cr. Luis Elissondo.
Servicio de Implementación Proceso de Desarrollo de Software Ventanilla Única de Comercio Exterior Mexicana.
ALUMNO ALUMNO: DIEGO URES LEGAJO LEGAJO: La prueba unitaria es la herramienta para la Calidad Presentación Trabajo Final de Grado.
Asociación Uruguaya de Ensayos No Destructivos Plaza Independencia 812 P Montevideo, URUGUAY Tel./Fax: (+598 2) /
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Especificación formal.
Transcripción de la presentación:

TPPSF1 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

TTPSF Presentación - 2 Objetivos m Generales: Iniciación al uso de métodos formales para la producción de software correcto por construcción m 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

TTPSF Presentación - 3 Certificación de Calidad de Software m Normas internacionales de calidad (ISO9001, ITSEC, TCSEC, etc.) m Diferentes niveles/criterios de calidad que involucran evaluación de –el proceso de producción –el producto m 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

TTPSF Presentación - 4 Norma ITSEC Assurance Correctness Level E6 Construction - The developement process E6 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. [...]

TTPSF Presentación - 5 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.

TTPSF Presentación - 6 m Verificación de modelos m Lenguajes para sistemas comunicantes m Lógicas de programación - Lógica de Hoare - Lógicas de orden superior - Teorías de tipos... m Transporte m Aeronáutica m Centrales nucleares m Dispositivos médicos m Comercio electrónico... Métodos formales Aplicaciones Industriales Críticas Métodos Formales y Desarrollo Industrial de Software

TTPSF Presentación - 7 Algunas razones... m La variedad de aplicaciones críticas se ha incrementado recientemente m No hay estándares definidos sobre qué técnicas formales utilizar m 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

TTPSF Presentación - 8 Más razones m 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 m 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

TTPSF Presentación - 9 Aplicación de métodos formales en el desarrollo de software m Tiene (hoy) un costo elevado m 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)

TTPSF Presentación - 10 Buenas perspectivas... m Actualmente se verifican sistemas de porte significativo (sistemas de centenares de miles de líneas) [Craigen93a, Craigen93b] m 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.

TTPSF Presentación - 11 Buenas perspectivas... m 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.

TTPSF Presentación - 12 El Grupo de Métodos Formales del InCo m Las áreas de investigación: –Verificación formal de corrección de programas –Verificación de sistemas reactivos –Programación genérica

TTPSF Presentación - 13 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

TTPSF Presentación - 14 Programa m Asistentes de pruebas para lógicos y matemáticos –una presentación formal de la lógica proposicional y de primer orden m Asistentes de pruebas para programadores –cálculo lambda como lenguaje de programación funcional m 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

TTPSF Presentación - 15 Programa m Definiciones Inductivas –principios de inducción y esquemas de recursión m Construcción de programas certificados usando Coq –programas funcionales e imperativos

TTPSF Presentación - 16 [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, [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, [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, Referencias