04/02/031 INSURE ++ v6.0 Salvador Benimeli Fenollar Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia.

Slides:



Advertisements
Presentaciones similares
Unida III Software para la administración de proyectos
Advertisements

ING SEC 3 - UCSC Agosto 2009 Laboratorio Lenguaje de Programación ING – Universidad Católica SSMA Concepción Semestre II Tema:
Módulo Tablero de Control Sesión X Lic. Aarón García López.
DISEÑO DE EXPERIMENTOS
Control Interno Informático. Concepto
PRÁCTICAS DE LABORATORIO
III - Gestión de memoria
Nuestro reto es educar al pensamiento, para que razone de acuerdo a ciertas reglas; con ello podremos ser más eficientes al momento en que ordenamos.
Supervisión del rendimiento de SQL Server
INTRODUCCIÓN A JAVA.
Pruebas de Unidad y Refactorización
Curso Administrativo OTEC/Empresa Unidad III: Revisión del Libro de Clases (Actualizado el ) Curso creado por : Libro de Clases Electrónico (LCE)
SISTEMA DE NACIMIENTOS MANUAL DEL USUARIO. El objetivo del presente manual es servir de guía al usuario final para interactuar con el Sistema, permitiéndole.
Funcionamiento, programación
Detalles del sistema operativo
Teoría de lenguajes y compiladores
Programas Son una serie o secuencia de instrucciones entendibles por los ordenadores que permiten la realización de las acciones o tareas para las que.
Diseño de un Sistema de Control en Tiempo Real para el Kernel del Sistema Operativo utilizando MatLab-SimuLink Por: MARCO ANTONIO ESPINEL CANGUI DIRECTOR:
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
Material de apoyo Unidad 2 Estructura de datos
Guía Consulta De Resultados
Análisis comparativo de rendimiento
 Se llama formulario a una plantilla o página con espacios vacíos que han de ser rellenados con alguna finalidad, por ejemplo una solicitud de empleo.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
TRADUCTOR DE UN PROGRAMA
Programación III Clase 07 Funciones.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
LabTIG – Facultad de Humanidades – Universidad Nacional del Nordeste Universidad Nacional del Nordeste Facultad de Humanidades CARRERA DE ESPECIALIZACION.
“Diseño de base de Datos Alquicira Jiménez Carolina 303
Asignación de Espacio No Contiguo
Administración de Memoria
LENGUAJE DE PROGRAMACIÓN
Ing. Elkin José Carrillo Arias
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Curso Administrativo OTEC/Empresa Unidad III: Revisión del Libro de Clases (Actualizado el ) Curso creado por : Libro de Clases Electrónico (LCE)
Módulo 8: Manejo de Errores y Excepciones
SALIR REINTENTAR De acuerdo a lo presentado en clase hay una cantidad de preguntas que debes resolver a continuación.
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
APRENDIZ: SANDRA L. CAICEDO C. ORDEN: 20194
Ingeniería del Software
The nesC Language: A Holistic Approach to Networked Embedded Systems Tomado de paper de: D. Gay, P. Levis, R. Behren, M. Welsh, E. Brewer, D. Culler.
TEMA 10: DIAGRAMA DE: OBJETOS, SECUENCIA Y DESPLIEGUE EN UML
EVOLUCIÓN DE LOS PROGRAMAS DE MANTENIMIENTO DE MS-DOS A WINDOWS VISTA JUAN ESTEBAN SANCHEZ DE LA TORRE ADRIAN CASTELLO GIMENO.
COMPUTO III Ing. Jimmy Ojeda Arnica.
Representación de Algoritmos
Especialización en Desarrollo de Software
COMPUTO III Ing. Jimmy Ojeda Arnica. METODOLOGIA DEL CURSO Objetivos del curso : Comprender el entorno de los lenguajes visuales. Comprender el entorno.
Visual Basic FUNCIONES Y PROCEDIMIENTOS
Introducción a la Optimización de Consultas. Francisco Moreno.
Teoría de lenguajes y compiladores
M.C. Juan Carlos Olivares Rojas
M.S.C. Ivette Hernández Dávila
PROGRAMACIÓN ESTRUCTURADA LOS DIAGRAMAS DE ESTADO
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
“Instalación de TuneUp Utilities” Para empezar la instalación de TuneUp Utilities, haga doble clic en el ejecutable del programa: Se le abrirá el asistente.
UNIDAD 4: Introducción a la Lógica Computacional Objetivo : Interpretar y aplicar adecuadamente los fundamentos básicos de la estructura y funcionamiento.
EL ORDENADOR PERSONAL Aparato electrónico que sirve para procesar información (transformarla para que sea útil. Para hacerlo codifica la información (descompuesta.
Proceso de desarrollo de Software
INTRODUCCIÓN A LA INGENIERIA DE SOFTWARE ALUMNO MILLER ANDRES GALINDO DUCUARA (412088)
Investigación preliminar  Entender la naturaleza del problema  Definir el alcance y las restricciones o limitaciones del sistema  Identificar los beneficios.
MEMORIA DINÁMICA.
6.6 Administración de defectos
Título de la Presentación Estado del arte sobre el testeo de software en las Pymes de Aragón 12 de Noviembre de 2015.
Objetivos de la prueba Los objetivos principales de realizar una prueba son: Detectar un error. Tener un buen caso de prueba, es decir que tenga más probabilidad.
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Bases de datos II Universidad del Cauca Ing. Wilson Ortega.
Entregables del Proyecto
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
ALUMNO ALUMNO: DIEGO URES LEGAJO LEGAJO: La prueba unitaria es la herramienta para la Calidad Presentación Trabajo Final de Grado.
TEMA 7 ANÁLISIS DE LOS RESULTADOS TEMA 7 ANÁLISIS DE LOS RESULTADOS.
Transcripción de la presentación:

04/02/031 INSURE ++ v6.0 Salvador Benimeli Fenollar Laboratorio de Sistemas de Información Facultad de Informática Universidad Politécnica de Valencia

04/02/032 INTRODUCCION (i) Los errores de corrupción de memoria y de posiciones de memoria no referenciadas pueden llegar a ser extremadamente difíciles de descubrir Insure ++ examina y testea el código, y produce una serie de informes indicando la localización exacta de los errores. Ayuda a que los costes de mantenimiento sean menores.

04/02/033 INTRODUCCION (ii) Realiza un análisis de cobertura, indicando claramente que secciones del código han sido testeadas y cuales no. En resumen, ayuda a evitarnos extensas sesiones de depuración de errores que resultan difíciles de encontrar en tiempo de compilación.

04/02/034 INTRODUCCION (iii) Dos de los problemas más serios en la producción de problemas Software son: el tiempo que se emplea en la “depuración” del producto y el número de “bugs” que no son detectados durante la fase de pruebas. Insure ++ trata : Corrupción de memoria debido a escrituras o lecturas del variables globales, locales... Operaciones sobre punteros ilegales Lectura de variables no inicializadas Memory leaks Errores de asignación y liberación memoria dinámica.

04/02/035 ANÁLISIS DE COBERTURA Análisis de Cobertura con TCA Total Coverage Analysis (TCA) integrado en Insure+++ muestra que partes del código han sido testeadas y cuales no. La finalidad de los test de cobertura es analizar cuantas funciones y instrucciones han sido ejecutadas.

04/02/036 ANÁLISIS DE COBERTURA Con TCA, nos podemos ahorrar mucho tiempo, evitándonos testear una y otra vez las mismas partes del código y empezar con las que realmente no han sido probadas. Ayuda al usuario modificar los procedimientos de test para cubrir todas las partes

04/02/037 INUSE Herramienta grafica diseñada para ayudar a evitar problemas de memoria, mostrando en tiempo real el uso de memoria que hace nuestra aplicación. Sabemos con certeza como nuestro programa asigna y libera los bloques de memoria dinámica, lo que puede ayudarnos o optimizarla. También nos ayuda a : Saber cuanta memoria usa nuestra aplicación en función de eventos de usuario Determinar si diferentes estrategias de asignación pueden mejorar el rendimiento.

04/02/038 INSRA Interfaz gráfica donde se muestran los mensajes de error generados por Insure++.El formato de los mensajes permiten la fácil localización en el código fuente permitiendo su correccción.

04/02/039 INUSURE ++. Control Panel

04/02/0310 Sistema de Posicionamiento en 2D Integración de Insure ++ en el entorno Visual C++

04/02/0311 Sistema de Posicionamiento en 2D Si no se ha realizado alg ú n avance, al intentar mostrar la ruta real o la ruta estimada se produce un error de ejecuci ó n.

04/02/0312 Sistema de Posicionamiento en 2D El error es detectado por Insure++ señalando la línea de código donde se ha producido.

04/02/0313 Sistema de Posicionamiento en 2D

04/02/0314 Sistema de Posicionamiento en 2D Errores generados por Insure++ tras la traza realizada

04/02/0315 Sistema de Posicionamiento en 2D Informe generado tras la ejecución del programa

04/02/0316 TEST DE COBERTURA Representación gráfica del test de cobertura por funciones. El test está basado en el log de las diversas ejecuciones.

04/02/0317

04/02/0318 TEST DE COBERTURA

04/02/0319 SELECTIVE CHEKING Con el símbolo del pre-procesador _INSURE_ automáticamente definido, podemos insertar llamadas condicionales y habilitar o deshabilitar el chequeo en tiempo de ejecución. grind_away() { #ifdef __INSURE__ _ Insure_set_option("runtime", "off"); #endif... code... #ifdef __INSURE__ _Insure_set_option("runtime", "on"); #endif }

04/02/0320 INUSE : HISTORY Muestra la cantidad de memoria asignada en el Heap. Este gráfico se actualiza periodicamente para mostrar el estado actual de la aplicación y suele ser usado para llevar un seguimiento del uso de la memoria que consume la aplicación

04/02/0321 INUSE : BLOCK FRECUENCY Número de bloques de cada tamaño que han sido asignados. Esto suele ser útil para elegir una strategia de optimización de memoria frente a otra.

04/02/0322 INUSE:TIME LAYOUT REPORT Muestra como los bloques de memoria son asignados durante la ejecución del programa.

04/02/0323 INUSE : HEAP LAYOUT “Layout” de la memoria con los bloques que han sido asignados dinámicamente, incluyendo los espacios libres entre ellos. Sirve para ver la fragmentación y los “memory leaks”

04/02/0324 INUSE : MEMORY USAGE Representa cuantas veces cada una de las llamadas a memoria se han realizado. También muestra el tamaño actual del heap y la cantidad de memoria en uso.

04/02/0325 INUSE: Query Reports Con Query podemos saber con exactitud cuanta memoria se asigna a bloques de un determinado tamaño o lugar.

04/02/0326 INUSE: Query Reports Por ejemplo, la siguiente consulta obtiene de los bloques entre 60 y 70 bytes de tamñano obtenemos los ‘block id’ y las trazas de la pila de todos los bloques comprendidos entre ese tamaño

04/02/0327