Top Banner
Autorizada la entrega del proyecto del alumno/a: Javier Cuesta Gómez EL DIRECTOR DE PROYECTO Ismael Alcalá Torrego Fdo: …………. Fecha:…./…./…./ Vº Bº del coordinador de Proyectos: Miguel Ángel Sanz Bobi Fdo: …………. Fecha:…./…./…./
156

Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

May 11, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Autorizada la entrega del proyecto del alumno/a: Javier Cuesta Gómez EL DIRECTOR DE PROYECTO Ismael Alcalá Torrego Fdo: …………. Fecha:…./…./…./ Vº Bº del coordinador de Proyectos:   Miguel Ángel Sanz Bobi  Fdo: …………. Fecha:…./…./…./

Page 2: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

PROYECTO FIN DE CARRERA

Análisis de generación automática de código seguro basado en modelos

AUTOR: JAVIER CUESTA GÓMEZ MADRID, Junio 2007

UNIVERSIDAD PONTIFICIA COMILLAS

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA (ICAI)INGENIERO EN INFORMATICA

Page 3: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

RESUMEN DEL PROYECTO   El proyecto se ha desarrollo en Eads-Casa y tiene como nombre ARBS (Advanced Refuelling

Boom System) .Consiste en una mejora, de los sistemas existentes, de recarga de combustible en vuelo.

En la actualidad, EADS CASA es responsable del diseño, las pruebas, la producción y

la certificación del ARBS. Ya se han fabricado tres unidades, una dedicada a los ensayos funcionales en RIG, otra para

todo el proceso de ensayos de calificación en tierra y la tercera es la unidad de vuelo ya instalada en la plataforma A310 que servirá como Demostrador para calificar el ARBS desde la Base Aérea Getafe.

La diferencia con respecto a otros proyectos de sistemas seguros en tiempo real, consiste en el empleo de nuevas técnicas nunca antes utilizadas que se basan en la utilización de modelos físicos y matemáticos para generar el código software.

Esta apuesta por las nuevas tecnologías se debe al constante cambio de los requisitos y los

consecuentes problemas de adaptación, programación y la realización de pruebas funcionales y de cobertura.

Se plantea el uso de modelos formales, donde capturar los requisitos y de los que se pueda

producir directamente el software. Esto apunta a ser susceptiblemente más barato que el desarrollo convencional consiguiendo mejores resultados cuantificables en cuanto a menor tiempo de desarrollo y menores errores de codificación.

Los objetivos de la división de Desarrollo de Software consisten en la Generación de código certificable RTCA 178B a partir de modelos Simulink.

La dificultad para la certificación como código seguro estriba en el nivel de seguridad exigido

por las organizaciones y que debe de cumplir con unos rigurosos estándares de desarrollo, así como de normas estrictas en cuanto a los medios empleados en la codificación.

En la asignación de las tareas con los ingenieros dedicados en el proyecto se dispuso que, como

primer objetivo del proyecto se realizaría un análisis de todo el proceso de desarrollo, para ello, hubo que conocer las diferentes fases que se realizan y comenzar el aprendizaje de las herramientas usadas para la ingeniería del software, para poder establecer las conclusiones sobre cómo se está realizando el proceso.

Como segundo objetivo del proyecto, se me dispuso para completar algunas fases determinadas sobre las cuales no existe ningún software dedicado para el propósito de la empresa.

Para ello se desarrollaron dos aplicaciones específicas:

- La primera dedicada a la ejecución sobre la BCU o unidad de control del avión de test de funcionalidad mediante comunicaciones en puerto de serie, almacenando los resultados procesados.

Page 4: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas métricas y funcionalidades.

Finalmente, se construyó un portal de conocimientos con el lenguaje PHP y MYSQL que gestiona toda la envergadura del proyecto, poniendo a disposición de los usuarios la descarga de las herramientas programadas así como la realización de las gestiones pertinentes para por ejemplo, apuntarse a reuniones, transmitir mensajes al resto de usuarios, subida de archivos, replicar la base de datos, etc.

 

   

Page 5: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

ANALYSIS OF AUTOMATIC GENERATION OF MODELS BASED

SAFETY CODE

 The project that was developed in EADS-CASA has the name of ARBS (Advanced

Refuelling Boom System) and consists of an improvement, of the existing systems, fuel charge on flight.

Nowadays, EADS-CASA is responsible for the design, tests, production and certification

of ARBS. At the present time, tree units have been made. One dedicated to funtionational tests on RIG,

another one for all the process of qualification tests and the third, it is the installed unit of flight in the A310 platform that will serve like demonstrator to describe the ARBS from Aerial Base of Getafe.

The difference with respect other projects about safe systems in real time, consists on the use

of new techniques never used before, that are based on the use of physical and mathematical models, to generate the software code.

This bet for the new technologies is debt by the requirements constant change and the consequent problems of adaptation, programming and the accomplishment of functional tests and cover metrics.

Formal models are prepared to capture the requirements and produce software directly. This

is susceptibly cheaper than the conventional development, and the cuantificables results obtained are better in a smaller time of development, offering minors codification errors.

The objectives of the Software Development division, will consist on obtaining the

Generation of certifiable code RTCA 178B from Simulink models. The difficulty for the certification as safe code is based in the level of security demanded by

the organizations and rigorous standards of development, as well as of strict norms on the codification techniques.

In the allocation of the tasks with the engineers dedicated in the project, my first established

objective would consist on analyzing all the process of development, for it, I had to familiarize with the different phases that are made, begin learning the different tools used for software engineering, to be able to establish my conclusions.

 The second objective, consist about to complete some determined phases in which, do not

exist any software specifically dedicated for the necessities of the company. For it, two specific applications were developed:

- One dedicated to the execution on the BCU (control unit of the airplane) of test of functionality. The communications is made in serial port, storing the results process.

Page 6: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

- The second application is a mini compiler which analyzes covertures archives, obtaining new metrics data and functionalities.

Finally, it was constructed a web site to store the project ´knowledge. It has been programmed

with PHP language and MYSQL that will manage the entirely project. Making available to users the possibilities of downloading the programmed tools as well as, for instance, to check reunions ´details, transmitting messages to the rest of users, uploading files, storing in real time the data base, etc.

Page 7: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

INDICE 1.- Descripción del Proyecto original 1.1.- Desarrollo en EADS-CASA.......................1 1.2.- Características...............................2 1.3.- Rig de pruebas................................3 1.4.- Avión demostrador A310........................4

1.5.- Subsistemas del ARBS..........................5 2.- Objetivos............................................6 3.- Metodología de Pruebas 3.1.- Tipos de Pruebas..............................9 3.2.- Técnicas de Pruebas..........................10 3.3- Pruebas de Cobertura.........................11 3.3.4.- Objetivos de la Cobertura.............12

3.4.- Evolución de pruebas 3.4.1.- Pruebas manuales......................13 3.4.2.- Pruebas aleatorias....................13 3.4.3.- Pruebas basadas en modelos............14 4.- Desarrollo del Proyecto 4.1.- Construcción del modelo Simulink............15 4.2.- Pruebas de cobertura sobre modelo. 4.2.1.- Aproximaciones a pruebas automáticas.21 4.2.2.- Herramienta Reactis..................22 4.3.- Auto codificación 4.3.1.- Definición modelo....................27 4.3.2.- Configuración generador código.......30

Page 8: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

4.4.- Verificación auto codificado 4.4.1.- Herramienta Verocode.................35 4.5.- Entorno de Pruebas..........................38 5.- Análisis de la generación automática de código 5.1.- Relación cobertura de código y de modelo....39 5.2.- Comparación cobertura código y de modelo....41 6.- Casos de Estudio 6.1.- Modelo Sorted Recovery......................42 6.2.- Modelo RunAway Detector.....................44 7.- Portal de Conocimientos............................55 8.- Planificación de tareas y estudio económico 8.1.- Plan de tareas .............................77 8.2.- Presupuesto ................................79 9.- Conclusiones 9.1.- Resultados..................................80 9.2.- Desarrollos Futuros.........................82 10.- Bibliografía......................................83 11.- Glosario de Términos..............................84 12.- Anexo 11.1.- Automatización pruebas en target...........85

11.2.- Aplicación generadora Informes.............91

Page 9: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Descripción del proyecto original. Sección 1

9

1.- DESCRIPCION DEL PROYECTO ORIGINAL

El proyecto ARBS consiste en una mejora, de los sistemas existentes, de recarga de

combustible en vuelo. El nuevo sistema ARBS (Advanced Refuelling Boom System) consiste en una

estructura de brazo extensible, adjunto a la estructura baja del cuerpo del avión, donde se encuentra el tanque de combustible.

figura 1.0: boom tail figura 1.1:repostaje en vuelo El “Boom Tail” [fig 1.0] como se le conoce al sistema, será usada para transferir el

combustible desde el tanque hacia el avión receptor [fig 1.1], de una manera más sencilla y rápida que utilizando Pods (sistemas de mangueras sin capacidad de movimiento)

1.1.- Desarrollo en EADS-CASA En la actualidad, EADS CASA es responsable del diseño, las pruebas, la producción y

la certificación del ARBS. Se ha construido un Testing RIG que se utilizará antes y durante las pruebas en vuelo de

calificación para realizar toda la fase de ensayos funcionales e integración con un boom real. La primera producción en serie se reserva a las Fuerzas Armadas australianas a las que se entregará un A330 MRTT (Multi Role Transport Tanker) que integra un sistema combinado POD y ARBS.

Ya se han fabricado tres unidades, una dedicada a los ensayos funcionales en RIG, otra para todo el proceso de ensayos de calificación en tierra y la tercera es la unidad de vuelo ya instalada en la plataforma A310 que servirá como Demostrador para calificar el ARBS desde la Base Aérea de Getafe.

Page 10: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Descripción del proyecto original. Sección 1

10

1.2.- Características El proyecto conocido como pértiga o Boom, es un moderno y complejo sistema que tiene

la ventaja de ofrecer al mismo tiempo la más reciente tecnología disponible y las más modernas soluciones.

Además de la estructura principal de pértiga de reabastecimiento en el aire, dispondrá de

mandos de vuelo eléctricos (fly-by-wire) con envuelta de reabastecimiento y mayor capacidad de control incluyendo una regulación automática que alivia la carga soportada por el avión receptor durante la fase de acoplamiento. La funcionalidad del trasvase de carburante, se fundamenta sobre los sistemas de control y mando instalados en la parte posterior del avión, comunicándose con el sistema completo de aviónica. El control sobre la pértiga, de casi 18 metros de longitud [fig 1.2], se ha mejorado sensiblemente mediante la articulación de cabeceo y balanceo. El caudal nominal alcanza cerca de 1.200 galones US por minuto, a 50 Psi, con un máximo de 1.500 US gal/min. Lo cual supone una mejora significativa respecto a los sistemas POD.

figura 1.2: boom tail El diseño se basa en una concepción operacional a prueba de fallos y en ella se incluye un

sistema de despliegue y repliegue con gancho y cerrojo redundante y capacidad independiente de desconexión. El operador de la pértiga, sentado en el puesto del operador (Fuel Operator Station) situado en la cabina, realiza la operación de reabastecimiento gracias a un sistema de visión tridimensional.

Page 11: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Descripción del proyecto original. Sección 1

11

1.3.- RIG de pruebas

Antes de realizar el primer trasvase de combustible, se llevarán a cabo todo tipo de ensayos previos en tierra y en vuelo para verificar todos los requisitos y prestaciones funcionales.

Entre otras capacidades del RIG [fig 1.3], se simula con él en tierra una operación

completa de reabastecimiento en el aire desde la posición previa al contacto . Un simulacro (mock-up) de receptor dotado de un receptáculo de F-16 auténtico, cubre toda la envuelta de reabastecimiento (0-45º cabeceo, ± 30º balanceo).

figura 1.3: Rig de pruebas Entre otros, ya se están realizando conexiones y desconexiones con y sin combustible en

tierra y se efectuarán ensayos en vuelo para comprobar la capacidad del nuevo Boom. Por su diseño, el RIG simula un cono de cola de un Airbus y en él se incluyen el gancho y el sistema de cerrojo. En el RIG se ha instalado un sistema de visión, en idéntica posición que en el avión, para proporcionar una vista tridimensional a distancia al responsable del boom situado en el recinto de control. También se dispone de una estación simulada de control y vigilancia a distancia (Telemetría) de todo el proceso de reabastecimiento. Todas las modernas tecnologías de la cámara, se han ensayado para garantizar la mejora de la visión del boomer y para minimizar su carga de trabajo. El diseño final cuenta con la importante aprobación de operadores de boom, tanto del KC-135 como de operadores que han usado el sistema de reabastecimiento a distancia en el KDC-10.

1.4.- Avión Demostrador A310

Page 12: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Descripción del proyecto original. Sección 1

12

Se dispone de un avión de pruebas, sobre el cual esta instalado el sistema ARBS,

empleándose principalmente para el ensayo y la ejecución de pruebas. Así pues, una vez comprobada la funcionalidad física del sistema de pértiga y el correcto

funcionamiento de los sistemas de seguimiento o telemetría, se irá dotando paulatinamente de software, según se desarrollen versiones más completas y refinadas, que implementen el comportamiento deseado.

En un principio, el software del ARBS que se cargó en el avión de pruebas, consistía en una

versión mínima, sobre la cual se harían las pruebas de inicialización, extensión del brazo, recogida, enganche y de los mecanismos de recogida de emergencia.

Según se comprueban las funcionalidades mínimas, las versiones de software aumentarían su

complejidad para, por ejemplo, soportar los movimientos de las aletas, aunque en un principio sean restringidas. Para ello se desarrollarán constantemente nuevas leyes de control que irán graduando y amoldando para implementar nuevas características.

La fotografía [fig 1.4] corresponde a uno de los primeros vuelos de prueba, en el cual se

comprobó la funcionalidad mínima.

figura 1.4: vuelo real de prueba

1.5.- Subsistemas del ARBS

Page 13: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Descripción del proyecto original. Sección 1

13

BCU (Boom Control Unit) es la encargada del control y el computo de los diferentes

sitemas del ARBS.

Cada BCU esta compuesta por dos canales, como los de la figuras [fig 1.5.1] y [fig 1.5.2], es una medida de redundancia que permite continuar con la operación al fallar una de ellas y aumentando la disponibilidad del sistema ARBS.

figura 1.5.1: BCU primaria figura 1.5.2: BCU auxiliar Las funcionalidades del ARBS, se encuentran integradas en sub-sistemas estructurados,

algunos de estos son:

• Moding Machine: consiste en el módulo que realiza las transiciones entre los distintos estados en los que se puede encontrar el ARBS.

• Flight Control Laws: o leyes de control, son las que rigen el movimiento de las superficies aerodinámicas del brazo, así como la extensión y retracción de la parte telescópica de la pértiga.

• Fuel Control System: regula la presión de salida mediante el control de válvulas hidráulicas y la transferencia de combustible al avión receptor.

• Pulling Control System: control de los sistemas de alzamiento y del cierre del brazo, es decir, el inicio y la parada del mecanismo.

• BEVS interface: interfaz para controlar el sistema de visión mejorada.

• PDL commands: luces para la guiá del avión receptor.

• MDFinterface: interfaz con pantalla multifuncional para la introducción de parámetros por parte del operador. (como por ejemplo, el tipo del avión receptor, cantidad de combustible a transferir, etc)

• Failure Checks: comprueba la integridad del sistema de reportaje y registro de errores, para facilitar el mantenimiento.

Page 14: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Introducción Sección 2

14

2.- OBJETIVOS

El proyecto, consistirá en Generación de código certificable RTCA 178B a partir

de modelos Simulink.

Los objetivos del proyecto se realizarán en diversas fases del proceso de la generación automática de código, así como la realización de aplicaciones específicas, que contribuirán a la automatización total.

Antiguamente, el proceso de desarrollo y pruebas del software, que se implanta en los

aviones, independientemente del nivel de criticidad que posea, era el siguiente:

1.- Desarrollo del modelo software UML. Se diseña el comportamiento desead y se construye un modelo que cumpla con los

requisitos del sistema.

2.- Codificación del modelo Uml a código Ada. La tarea más ardua, ya que debido a las numerosas normas de control de calidad del

código, resulta muy difícil su desarrollo.

Este código, deberá satisfacer los requisitos que EASA (European Aviation Safety Agency) impone y que están reflejados la norma RTCA 178 B.

3.- Compilación para obtener el código Fuente y binarios. 4.- Pruebas, sobre hardware real de módulos de control de aviones. 5.- Estudio en laboratorio de tiempos respuesta, ejecución y rendimiento.

Como se indican en estos pasos, la tarea más laboriosa consistía en la codificación manual, del modelo UML a código ADA. Esto se debe al nivel de seguridad exigido por las organizaciones y que debe de cumplir con unos rigurosos estándares de desarrollo, así como de normas estrictas en cuanto a los medios empleados en la codificación.

También sumado al inconveniente de que los modelos están sometidos a constantes variaciones, en diseño y comportamiento, lo cual repercute mucho en el tiempo de desarrollo total del software del proyecto y en los gastos, ya que se debe disponer de un equipo numeroso de programadores con altos conocimientos de sistemas distribuidos.

Page 15: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Introducción Sección 2

15

Actualmente el proceso de desarrollo y pruebas consta de los siguientes pasos:

1.- Desarrollo del modelo software en Matlab.

2.- Pruebas de Cobertura sobre el modelo Matlab. A modelo, se le someterá a una serie de pruebas para comprobar su comportamiento

antes cualquier situación.

Esto se realiza generando un conjunto de pruebas (datos y condiciones) para verificar como se comporta el modelo y garantizar que se comprueban todas las condiciones necesarias, recorriendo todos los bloques de diseño.

3.- Auto-codificación del modelo Simulink a código C. Tarea enormemente simplificada 4.- Compilación para obtener el código Fuente y binarios. 5.- Análisis de cobertura de requisitos y estructural en el código ensamblador. 6.- Pruebas, sobre hardware real de módulos de control de aviones.

7.- Estudio en laboratorio de tiempos respuesta, ejecución y rendimiento.

En este proyecto se realizará un análisis valorando cómo el desarrollo de software basado en modelos (paso 1) proporciona nuevas posibilidades para ahorrar tiempo en el proceso de desarrollo y automatización de parte del posterior proceso de pruebas.

También se tratará de abarcar las diferentes formas de utilización de modelos, para la generación automática de vectores o conjunto de pruebas (paso 2) y sobre cómo el análisis de las pruebas de cobertura podrá ser usado para garantizar la calidad o para encontrar secciones de “código muerto” en el modelo.

Actualmente se está realizando un esfuerzo importante, para conseguir automatizar el

proceso de codificación (paso 3), de tal forma que se mejore notablemente la productividad, manteniendo los niveles de seguridad para el software empotrado para aplicaciones críticas.

Como posible solución, se utilizan herramientas de modelización fundamentalmente

Matlab/Simulink, que permiten generar código para el procesador de control del sistema.

Page 16: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Introducción Sección 2

16

Este entorno de diseño y simulación software permite:

• Validación de los requisitos del sistema mediante animación (ejecución) de

modelos.

• Minimiza los errores humanos de programación mediante la generación automática de código fuente.

Aplicado al sector aeronáutico, estas herramientas, que todavía están en periodo de

prueba, tienen como mayor limitación la demostración de su seguridad ante las autoridades de certificación. Para ello hay que comprobar cada uno de los aspectos mencionados en los estándares de certificación verificando que el proceso automático no ha cometido errores.

Una vez explicado los cambios acontecidos en el proceso de desarrollo de software seguro, que definen la realización del proyecto, podremos establecer los objetivos fundamentales del proyecto.

• Realización de los procesos necesarios para la generación automática del código seguro, e implantación en el sistema final.

• Desarrollo de una aplicación que ejecutará desde remoto, los tests que prueban

la funcionalidad del software sobre el sistema final.

• Programación de la aplicación que, partiendo de los informes de resultados de cobertura de la herramienta Verocode, recopile nuevos datos estadísticos necesarios para el estudio y certificación del código final.

• Creación del portal de conocimientos, con el que se gestionará la globalidad del

proyecto. Reuniones, ponencias, intranet, descarga de las aplicaciones, etc.

Page 17: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Metodología de pruebas Sección 3

17

3.- METODOLOGÍA DE PRUEBAS

Para la realización del análisis sobre el método de generación automática de

código, deberemos de comprobar y ponderar los resultados que se obtienen sobre la validez del código resultante.

Por ello, a continuación presentamos una pequeña introducción sobre las teorías

de pruebas para códigos software, en la que detallaremos, los distintos tipos y técnicas a los que se somete el código, atendiendo a diferentes criterios como son la integración con otros subsistemas, el nivel de criticidad o estudiando la ejecución del código.

En los resultados finales del proyecto, detallaremos con exactitud las

calificaciones obtenidas al someter a todas estas pruebas a nuestro método de desarrollo de código en comparación con el anterior método de desarrollo utilizado en la empresa.

3.1.- Tipos de Pruebas

Para garantizar la correcta integración con los diversos sistemas de cualquier proyecto software de envergadura, y para mejorar los requisitos de seguridad, se llevaran a cabo los distintos tipos de pruebas [bibliografía HART05] , a medida que se van integrando las distintas partes del software: Pruebas Unitarias: consiste en la realización de pruebas sobre un determinado componente del sistema, o en el caso de software sobre un simple programa o función. Pruebas de Integración: algunas unidades sobre las que se supone que interactúan, son integradas y probadas para verificar la corrección del sistema y poder depurar los errores obtenidos. Pruebas del Sistema: presenta un matiz entre pruebas funcionales del sistema y pruebas no funcionales. Para las funcionales, se testea el sistema completo con respecto a las especificaciones. Los requisitos, podrán ser verificados y la funcionalidad del sistema será evaluada. Las pruebas del sistema no funcionales comprueban ámbitos como economía, flexibilidad, desarrollo. Pruebas de Aceptación: es el último nivel sobre el proceso de validación. Son llevadas a cabo en un entorno tan realista como sea posible. El objetivo consiste en medir el comportamiento total del sistema, no probar para encontrar defectos.

También destacar la diferencia que se presenta a la hora de hablar sobre las

pruebas de cobertura, éstas se clasifican en cobertura del modelo (Paso 2) y cobertura del código (Paso 4).

Page 18: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Metodología de pruebas Sección 3

18

Algunas de las métricas de cobertura, más utilizadas son: decisiones, condiciones, MC/DC, expresiones booleanas, etc.

3.2.- Técnicas de Prueba Las técnicas de prueba, se clasifican atendiendo a si se realizan sobre el código ó,

por el contrario, ejecutándose. Así pues unas pruebas definirán el ámbito morfológico y semántico, mientras que otras estarán orientadas al análisis del comportamiento del código en ejecución, comprobando específicamente, las salidas producidas.

Pruebas Estáticas Las pruebas estáticas analizan los programas sin ejecutarlos. El propósito es

encontrar errores potenciales o deficiencias en el funcionamiento del programa o comparar el código contra algunos estándares de la codificación que permitan obtener métricas sobre su complejidad, etc.

Las pruebas estáticas pueden ser realizadas manualmente mediante la revisión del

código o pueden realizarse automáticamente por un compilador u otros programas de análisis.

Una de las herramientas usadas para la realización de pruebas automáticas contra

código fuente C es Lint pero usualmente también se requiere la ayuda de algún compilador.

Pruebas Dinámicas Las pruebas de software dinámicas consisten en la ejecución de programas y el

posterior análisis de las salidas. Las pruebas dinámicas, pueden ser divididas en Caja-negra, Caja-blanca y Caja-gris.

Diseño de pruebas Caja Negra

Trata el sistema de tal forma que no se usa explícitamente el conocimiento sobre la estructura interna del software. Estas pruebas se basan en requisitos o especificaciones y en el posible uso del sistema.

Técnicas Caja Blanca

Están basadas en tener un total conocimiento del software. Con esta técnica es posible probar cada rama y cada decisión en el programa. Al conocerse la estructura interna, se suelen emplear los diferentes criterios de cobertura como medida de prueba.

Page 19: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Metodología de pruebas Sección 3

19

Esta técnica alcanza precisión si el probador conoce que es lo que se supone que hace el programa. El probador observará si el programa diverge de su objetivo establecido. Técnicas Caja Gris

Se encuentran a mitad de camino entre la caja negra y blanca. Se utilizan cuando se conoce la estructura de módulos del sistema, pero no cada módulo específicamente.

3.3.- Pruebas de Cobertura Las pruebas de cobertura son un modo de determinar la calidad de las pruebas

anteriores y del código implementado. Medir la cobertura es cuantificar cuanto de un determinado programa ha sido

ejercitado durante la ejecución. Las pruebas de cobertura [bibliografía ANDER07] pueden ser divididas en cobertura del

código y cobertura del modelo. Cobertura de código está basada en código, como por ejemplo código C o Java, mientras que la cobertura del modelo está basada en modelos gráficos como Simulink o UML.

En algunos casos, puede ser imposible recubrir ciertas partes del sistema, como por

ejemplo un programa puede contener código para detectar y manejar condiciones de error que son muy difíciles de simular en pruebas.

Cobertura de Decisiones Para cada decisión, mide el porcentaje del total del número de caminos recorridos por cada punto de decisión. Si cada posible camino ha sido atravesado en un punto de decisión, entonces se alcanza el total de la cobertura. Cobertura de Condiciones

Se examinan todas las condiciones del sistema. Se alcanzará el total de la cobertura si se evalúan para cada condición todas sus posibilidades verdaderas y falsas al menos una vez. MC/DC cobertura de decisiones/condiciones modificada

Esta medida requiere de los suficientes casos de prueba para verificar que cada condición sola puede afectar al resultado de la decisión. Por ejemplo, una condición es mostrada independientemente como afecta a las decisiones de

Page 20: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Metodología de pruebas Sección 3

20

salida por variar esta condición mientras el resto de condiciones permanecen fijas.

3.4.- Objetivos de la Cobertura Obtener el 100% de la cobertura es lo deseado, pero no siempre es posible de

alcanzar. Cada prueba debería tener un objetivo de cobertura, antes de ser ejecutada, independientemente de sus recursos utilizados e importancia, para poder comprobar las medidas deseadas con las resultantes.

Los sistemas críticos, como el software de aviónica o el software para equipos

médicos debería lógicamente de tener una alta cobertura. RTCA/DO-178B es un estándar que especifica al usuario las guias o normas para la producción del equipo de software en sistemas de vuelo.

Las diferentes clases y requisitos son mostrados continuación:

Nivel Criticalidad

Consecuencias Requisitos Cobertura 100%

Nivel A Catastrófico Coberturas MC/DC, decisión y estados

Nivel B Peligroso/duro Cobertura de decisión y estados Nivel C Importantes Cobertura de estados Nivel D Menor No se requiere Nivel E Ninguna No se requiere Como medidas genéricas, se detalla que al menos en las coberturas de condiciones y

de decisiones sea deseable obtener un 80-90%. Cuando se usan los criterios de MC/DC es a veces difícil de obtener niveles altos, esto es entendible debido a que las decisiones y sus condiciones correspondientes son cubiertas si se alcanza MC/DC en las decisiones específicas.

Page 21: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Metodología de pruebas Sección 3

21

3.4.- EVOLUCION: desde pruebas manuales hasta automatización 3.4.1.- Pruebas Manuales Las pruebas manuales han sido creadas y utilizadas en un adaptativo proceso para

verificar el funcionamiento de los sistemas. Estas pruebas manuales no suelen ser ejecutadas sobre el modelo debido al proceso

costoso de generación, sino en el target o sistema final y contra sus requisitos u objetivos de funcionalidad.

Los casos de prueba son desarrollados con una relación cercana con el hardware, usando

programas con interfaces CAN (redes controladas) hacia el target y son particularmente “event-triggered” denotando que la respuesta del sistema, afectará a las entradas.

El análisis de resultados que ofrecen la realización de pruebas manuales sobre varios

modelos (presentado en el Anexo de Automatic test vector generation and aoverage analysis), refleja que se comprueba la mayoría de la funcionalidad básica. Pero que esto no es suficiente para poder asegurar la calidad del producto antes de ser lanzado.

La automatización de las pruebas sobre el modelo comenzó implementando una función

Mat-Lab con la que era posible ejecutar pruebas unitarias sobre el modelo. Por lo tanto, se originó la posibilidad de comprobar que niveles de cobertura se alcanzaban con las pruebas manuales.

3.4.2.- Pruebas Aleatorias También existen herramientas para la generación aleatoria de pruebas. Éstas requieren

especificar las entradas (tipos y rangos), entonces se determinarán el número de casos de prueba y el tiempo de simulación. La herramienta generará esos casos en el tiempo determinado.

Con este tipo de técnicas generamos casos de uso poco elaborados atendiendo a la

aleatoriedad y con valores de entrada distribuidos.

Page 22: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Metodología de pruebas Sección 3

22

Esto representa una complejidad añadida, debido a que en lo referente a las señales, existe la misma probabilidad de tener un 0 o 1 con lo que la entrada al sistema puede quedar mermada.

Otro problema añadido al método de generación aleatoria es que las pruebas a realizar

hasta alcanzar unos niveles considerables de cobertura, tienden a ser usualmente grandes. La ventaja es que el tiempo así como el esfuerzo para generar esas pruebas es casi nulo.

No se requiere esfuerzo real para la generación de pruebas, aunque para sistemas complejos la generación aleatoria es inafectiva e insuficiente para ejercitar el sistema lo suficiente.

3.4.3.- Pruebas basadas en Modelos Para la generación de pruebas basadas en modelos es necesario el uso de herramientas

que contemplen el diseño de los modelos, así pues esta técnica será una mezcla entre las dos anteriores ya que se requiere de un proceso manual para la construcción de los modelos de simulación, así como de proceso automático por parte de las herramientas de los casos de prueba.

Como se ha explicado anteriormente en el capítulo de pruebas de cobertura sobre el

modelo, la generación de pruebas sobre modelos nos proporciona numerosas ventajas.

Ventajas + Esfuerzo mínimo para modificar el modelo, siendo realmente rápido crear un

conjunto de pruebas que nos garantizan una buena, pero no completa cobertura. + Es excelente para realizar simulaciones sobre un periodo de tiempo determinado y

obtener una medición de cobertura aceptable. + Facilidades para la identificación de estados inalcanzables con su consiguiente

“código muerto” y eliminación de casos redundantes para mejorar la eficiencia.

Inconvenientes - Para la obtención de la cobertura máxima del 100%, se necesitarán normalmente de

herramientas de pruebas basadas en modelos (Reactis)

Page 23: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

23

4.- DESARROLLO PROYECTO

En este apartado, se detallará con exactitud todo el proceso de desarrollo, desde la

construcción de los modelos físicos y matemáticos, hasta la inclusión y pruebas finales del código en el avión de pruebas.

Se especificarán el estado de cada fase de desarrollo, indicando el grado de

participación, qué cosas se realizaron en cada una de ellas, qué tiempo llevó cada una y las pruebas realizadas, así como la importancia que conlleva cada una, para el proyecto.

El propósito de trabajo en la empresa consistirá en integrar y consolidar la

automatización de los procesos para la generación de código. Para ello se implementarán las aplicaciones necesarias para poder llevarlo a cabo sin el empleo de técnicas manuales, debido a la ausencia de software específico a aplicar.

4.1.- CONSTRUCCIÓN DEL MODELO SIMULINK. El desarrollo del modelo consiste en plasmar de forma matemática y física los

diferentes sistemas de que consta el proyecto para así poder programar su comportamiento y las relaciones de entrada y salida con otros sistemas del avión.

Para la generación automática de código se necesita definir el modelo Matlab/Simulink. Básicamente Simulink ofrece unas librerías de bloques y elementos, que permiten

desarrollar operaciones elementales. Estos bloques pueden ser conectados entre si para desarrollar funciones. A su vez estas funciones podrán ser encapsuladas en bloques virtuales Simulink llamados subsistemas. Los subsistemas permiten organizar jerárquicamente todos los bloques y conexiones, permitiendo definirlos en una simple hoja.

Así, en un entorno Simulink:

- Un modelo es el raíz y es construido con subsistemas y bloques elementales Simulink.

- Un subsistema es construido con otros subsistemas y bloques elementales. - El elemento más pequeño son los bloques Simulink disponibles en las librerías.

El usuario necesita subdividir el modelo en modelos más pequeños que será capaz de gestionar en la configuración y posiblemente los podrá rehusar para otros proyectos. La figura 4.1 muestra la interrelación de un pequeño módulo, en concreto, el

correspondiente al funcionamiento de recogida ordenada del boom, con el resto de subsistemas del avión, plasmado en forma de las entradas que recibe y de las salidas que genera.

Page 24: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

24

Se le denomina Sorted Recovery y su representación en Matlab es la siguiente:

figura 4.1:modelo con entradas simuladas fichero Como se puede observar, el sistema central recoge la funcionalidad total del

módulo, éste agrupa subsistemas, para indicar un mayor nivel de detalle hasta reducirlo a las funciones lógicas mínimas de comparación y suma. Con esta forma de apreciación podremos adquirir un mayor conocimiento del modelo global a la vez que el nivel de profundidad que deseemos.

Destaca el inhibidor, que es la entrada superior, la cual, para esta prueba, su

valor estará siempre en uno booleano, lo que indicará que el subsistema está activo.

Para comprobar en tiempo real, los valores de salida producidos, podremos

incorporar al modelo, monitores en cualquier punto. Estos nos reportaran incluso, graficas de evolución.

Page 25: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

25

Nivel de Participación Aprendizaje, debido a que no hubo ocasión de desarrollar un modelo completo

para un sistema, pero sí que se practicó la modificación y depuración de errores que se encontraron, así como la adaptación de los modelos a las necesidades particulares, es decir crear interfaces de prueba (simulaciones), para observar las salidas producidas.

El tiempo estimado que se ha invertido para el entendimiento de estos

modelos, la familiarización con los procesos y funciones, y las pruebas posteriores han sido amplio, abarcando más de cuatro meses.

Page 26: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

26

4.2.- PRUEBAS DE COBERTURA SOBRE EL MODELO Para dar por concluido el proceso de desarrollo del modelo en Matlab/Simulink se

deberá comprobar que su comportamiento se ajusta totalmente al deseado, ya que en caso de no ser así se realizarán las correcciones oportunas.

La ejecución de las pruebas se realiza en el laboratorio de integración de sistemas y

estudiarán su comportamiento en ejecución (ver capítulo de teoría de pruebas) así como los niveles de cobertura alcanzados, es decir, ejecutar todos los segmentos del código.

A continuación mostraremos los correspondientes casos de prueba para el modelo

comentado anteriormente. Los tests a ejecutar para comprobar el funcionamiento del Sorted Recovery son

formulados por el departamento de Mecánica de Vuelo y nos son proporcionados para contrastar la calidad del modelo:

• SortRecovery_ER_StickFail_RIG.out • SortRecovery_FinFail_ARBS5_RIG.out • SortRecovery_Recovery_ARBS5_RIG.out • SortRecovery_Recovery_ARBS5_SticksOff_RIG.out • SortRecovery_Recovery_ARBS9_RIG.out • SortRecovery_Recovery_ARBS9_SticksOff_RIG.out • SortRecovery_Reversion_ARBS3_RIG.out • SortRecovery_Reversion_ARBS9_RIG.out

Estas consisten en la medición de la cobertura de ramas, cobertura MCDC y cobertura de

decisiones sobre el modelo, realizados sobre Matlab. [fig 4.2.1]

Page 27: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

27

figura 4.2.1:configuración de la cobertura

figura 4.2.2:opciones de reporte de los resultados

El reporte total, recogiendo las estadísticas generadas de las diferentes pruebas sobre el modelo:

..\javier_test\Report_Global.html

Page 28: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

28

Los resultados obtenidos al ejecutar las nueve pruebas sobre el modelo serán reportados explícitamente al final del proyecto. Como resumen de esos resultados, para los que se definen los parámetros en la figura 4.2.2, presentamos:

Cobertura media sobre decisiones: 68-75% Cobertura Media sobre condiciones: 75-82% Cobertura media sobre MCDC: 26-47%

Estos resultados indican que la mayoría de la funcionalidad ha sido probada.

Posteriormente y debido en gran parte a los fallos presentes en el modelo, se reestructuró

modificando pequeños subsistemas. Las pruebas o test a realizar sobre el modelo también cambiaron:

• OpenLpTst201.out • OpenLpTst202.out • OpenLpTst203.out • OpenLpTst204.out • OpenLpTst205.out • OpenLpTst206.out • OpenLpTst207.out • OpenLpTst208.out • OpenLpTst209.out

El nuevo reporte global, acumulado sobre todos los test actualizados: javier_test (modelo nuevo\reporte_global2.html Los resultados completos obtenidos al ejecutar las nueve pruebas sobre el modelo serán

incluidos en la versión digital del proyecto. Como resumen de esos resultados, presentamos:

Page 29: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

29

Cobertura media sobre decisiones: 87 % Cobertura Media sobre condiciones: 100 % Cobertura media sobre MCDC: 95 %

Al no haberse recorrido con los casos de pruebas todas las sentencias del modelo Matlab,

no podremos garantizar su comportamiento ni, por supuesto poder certificarlo. Para poder obtener el 100% de cobertura se necesitá utilizar alguna otra herramienta que

genere los valores de las entradas necesarias, así como las condiciones pertinentes para que se ejecuten esos segmentos de código

4.2.1.- Diferentes aproximaciones a las pruebas automáticas.

En este apéndice, presentaremos las diferentes formas o métodos para la generación de pruebas automáticas. Esto es muy necesario, en esta fase de desarrollo, para no tener que generar manualmente casos de prueba que comprueben la funcionalidad.

Debido, por lo tanto, a las constantes modificaciones de los modelos, tuve que

familiarizarme con estas técnicas para disponer de conjuntos de datos, para inyectarles al modelo Matlab y así poder comprobar determinados parámetros producidos en las salidas.

Aquí presento un pequeño resumen, basado en la tesis de Jonny Andersson, automatic

test vector generation and coverage análisis in model-based software development. [bibliografía ANDER07]

Capture and Replay Método muy simple que consiste en almacenar las entradas hacia el sistema cuando el probador ejecuta el test, para posteriormente repetir el mismo escenario de prueba.

Random test generation Método perteneciente al grupo Black-Box. La idea básica es que el usuario especifique los tipos de los datos, así como el rango de las entradas, para que el programa de pruebas genere entradas aleatorias dentro de los límites establecidos. Estos test son normalmente muy largos, hasta alcanzar una aceptable cobertura de pruebas.

Combinatorial test generation

Page 30: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

30

Es una manera de conservar el tamaño de los vectores de pruebas en un nivel razonable, no tan amplios como el generador de pruebas aleatorio. En muchos sistemas surgen errores debido a la interacción de unas pocas entradas. Otra motivación es que el número mínimo de pruebas requerido para cubrir todas las parejas de las n-combinaciones de las entradas, crece logarítmicamente dependiendo de los posibles valores de las entradas. Combinando en parejas las n-posibilidades es posible reducir el tamaño de las pruebas significativamente y obtener mejor cobertura que usando pruebas aleatorias.

Model-Based test generation Avanzado método para la generación de pruebas sin esfuerzo manual. Éste método es el que emplean algunas herramientas de pruebas modernas. Estas herramientas pueden convertir modelos en una forma donde es posible generar un vector de pruebas. Estos algoritmos son usados para crear vectores de pruebas desde un modelo para incrementar loa cobertura dinámicamente durante el proceso de generación de pruebas.

Limitations of automating testing Para los casos en los cuales las pruebas de forma manual son mucho más fáciles que las automáticas, o es más económico. Las pruebas manuales requieren que todos los casos de pruebas sean descritos manualmente lo cual requiere mucho tiempo y esfuerzo, pero en algunos casos es más económico.

4.2.2.- Herramienta: Reactis

Para la obtención de la cobertura en el modelo del 100%, se necesitará identificar casos de

prueba adicionales que fuercen las condiciones necesarias, para que se recorran estos caminos. Para ello, se dispone de una herramienta adicional llamada Reactis (no integrada con Simulink/Stateflow) que permite automatizar la definición de ensayos a partir de los requisitos modelados en simulación.

Reactis, se basa en el uso de criterios de cobertura estructurales para generar casos de prueba automáticamente. La herramienta también incluye las características que permiten que los usuarios adapten los datos de prueba generados.

Los objetivos adicionales podrán ser definidos por el usuario, proporcionando la ayuda necesaria para automatizar la prueba funcional basada en requisitos.

Algunas de las ventajas e inconvenientes de la herramienta:

Ventajas + Herramienta excelente para crear pruebas para un modelo modificado

frecuentemente. + Asumiendo que el esfuerzo para modificar el modelo es mínimo, es realmente rápido

crear un conjunto de pruebas que nos garantizan una buena, pero no completa cobertura.

Page 31: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

31

+ Las opciones de configuración de Reactis son muy fáciles de manejar y adaptar para

evaluar requisitos en modelos. Además tratará siempre de producir un “fallo” si es posible. Con lo que resulta más fácil adaptar el comportamiento del modelo para su mejora.

+ Es excelente cuando importa mantener la simulación sobre un periodo de tiempo

determinado y obtener una medición de cobertura aceptable. Elimina los casos redundantes para mejorar la eficiencia.

+ Identifica estados inalcanzables con su consiguiente “código muerto”.

Inconvenientes - No soporta de forma completa toda la librería Simulink. - Una desventaja de tener separado la herramienta de pruebas sobre la de creación del

modelo es que cuando el modelo es modificado, también habrá que modificar la herramienta generadora de pruebas.

- La interacción entre Matlab y Reactis es un poco inestable.

La figura [fig 4.2.2.1] muestra la pantalla principal de la herramienta Reactis, cargando un

ejemplo de la recogida ordenada del boom.

Page 32: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

32

figura 4.2.2.1 Modelo de entrada Reactis Actualizaremos al modelo de recogida segura para aumentar los datos de cobertura

anteriores. Primeramente se cargaran los casos de prueba originales en Reacts. Con la

correspondiente opción de importación, se deberá de preparar los archivos de datos del Matlab para garantizar la compatibilidad con los archivos de entrada Reactis.

Posteriormente configuraremos la generación de casos adicionales, para la obtención de

la cobertura.

Recubrimiento del 100% de la cobertura sobre Sorted Recovery

Page 33: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

33

figura 4.2.2.2: cobertura recogida Como se observa en el la figura [fig 4.2.2.2], al ejecutar la herramienta sobre el modelo bajo estudio, además de ejecutar los casos de prueba que desarrollo Matlab para probar las distintas funcionalidades, los completará con los datos de entrada necesarios para poder alcanzar todos los segmentos del modelo y evaluar todas las condiciones. Los resultados de cubrimiento obtenidos son magníficos debido a que se ha ejecutado la totalidad de las condiciones (decisions), las distintas ramas o caminos (branches). El análisis posterior nos reveló que no se ha alcanzado el 100% en caminos debido a un bloque que restringía la señal, debido a eso, se da por finalizado las pruebas de cobertura sobre este modelo. Estando preparado para la siguiente fase de Auto codificación.

Page 34: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

34

figura 4.2.2.3: detalles En la figura [fig 4.2.2.3] se observa el informe más detallado que nos proporciona la

herramienta, aportando mayor nivel de detalle para poder obtener conclusiones. Nivel de Participación en pruebas de cobertura sobre el modelo La participación en esta fase, ha sido muy amplia, debido que se han realizado todas las

actividades detalladas en este apartado y algunas de manera experimental, es decir, siendo la primera vez de realizar éste proceso.

Se han ejecutado los test de pruebas sobre varios modelos del proyecto del boom,

obteniéndose los resultados y realizando el análisis pertinente. En caso de no alcanzar los niveles de cobertura exigidos, se ha tenido que emplear la herramienta Reactis para forzar las condiciones necesarias hasta conseguirlos.

El tiempo estimado que se ha invertido en esta fase ha sido de 2 meses, realizándose en

paralelo junto con otras fases como la construcción del modelo (familiarización y aprendizaje).

Page 35: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

35

4.3.- AUTO-CODIFICACIÓN

La auto-codificación es el proceso a ejecutar más sencillo, ya que se realiza de forma

automática y transparente al usuario. No obstante, en un entorno donde el código es generado automáticamente desde el

modelo es particularmente importante la revisión exhaustiva en forma de análisis. Los puntos de mayor importancia son:

1) Revisar la trazabilidad entre los bloques del modelo y el código generado. 2) Comprobar la correcta traducción del modelo a código fuente, a través de la

ejecución de las mismas pruebas y asegurando que obtiene los mismos resultados con respecto a las pruebas sobre el código.

Lanzaremos la herramienta programada de automatización de pruebas.

3) Comparar las diferencias producidas entre las coberturas registradas en el

modelo y las coberturas de código.

Esta Auto-codificación estará sujeta bajo unas pautas de los productos Real_Time WorkShop Embebed Code [biliografía ERKK03] que facilitan la obtención de mejores resultados y abordan la resolución de problemas.

Así pues nos indicaran de forma más sencilla los distintos tipos de bloques que usa este

entorno de Tiempo Real, las señales que manejan (no se soporta en sistemas de seguridad las señales en tiempo continuo, todas tienen que ser discretas) y las mejores practicas para la implementación de bloques.

Estas reglas se dividirán en dos tipos: Las reglas de Estilo y las opciones de

Codificación de modelos [biliografía LACA02] y les acompañan una serie de atributos especificando en que determinadas condiciones deberían de ser aplicadas.

Page 36: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

36

4.3.1.- Arquitectura del Modelo / configuración generador código Existen dos formas de almacenar un modelo dedicado, una es definiéndolo como

elemento de la librería y la otra es usar modelos referenciados. Es mejor considerada la opción de referenciación a modelos, debido a que ofrece

ventajas a la hora de la generación de código con un objeto similar implementado y los punteros a los parámetros establecidos para cada instancia. Para la opción de elemento de la librería, no será posible generar código directamente para ese modelo sino para toda la librería.

Cualquier modelo simulink que cumpla con las normas de modelado recomendadas por

la ACG es auto codificable. Será esencial definir la complejidad de las tareas de integración de código, siendo

posible estructurar el modelo para determinar las opciones del generador de código, con el objetivo de integrarlo en el resto de software del proyecto u aplicación. Es por esto, que existen una serie de recomendaciones de Arquitectura.

La generación de código, atendiendo a la arquitectura [biliografía LACA02], podrá ser vista

de dos formas: -Generar el código mediante piezas de modelos: esto puede facilitar la generación de

código, pero incrementar la integración del software generado. -La otra posibilidad es intentar generar globalmente el código desde el modelo completo.

Esto no significa que no haya modularidad, es siempre posible estructurar el modelo en submodelos y configurarlo en varios archivos “.c”, aunque el objetivo es minimizar la integración de las piezas de código generadas.

Funtion-call Simulink feature Es un mecanismo que permite reproducir en el entorno Simulink los principales

procedimientos de llamadas en un lenguaje de programación estándar. Esta característica no es muy empleada ya que al ser una interfaz gráfica permite conectar las cajas directamente para la implementación de funciones.

StateFlow Model Describe el comportamiento de la máquina de estados y es generalmente mucho más

comprensible que la equivalente combinación de eventos y condiciones. Se recomienda su uso, pero el código generado no esta optimizado y las opciones de configuración no presentan demasiadas mejoras.

Embebed Matlab Model Se utiliza para la implementación de código de algoritmos matemáticos y es

ampliamente usado. El código generado desde un modelo Matlab embebido, no es todavía operacional, pero esta característica esta siendo mejorada y será posible usarla pronto.

Page 37: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

37

Esquema del desarrollo del Proceso de generación de Código.

figura 4.3.2 (1) Esquema proceso

La figura [fig 4.3.2.1] introduce de forma gráfica el proceso de generación de código automático, especificando que para cada target o sistema de tiempo real de destino se necesitará su compilador específico (ya incluido en la herramienta) Panel de Optimización.

figura 4.3.2 (2) opciones de configuración

Page 38: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

38

En la figura [fig 4.3.2.2] se muestran algunas de las opciones más destacadas como son las de reducción de bloques, la ejecución de ramas de entrada condicionales, parámetros, la implementación de señales lógicas como datos booleanos, etc

Panel de Implementación Hardware.

figura 4.3.2 (3): configuración del hardware sistema destiino

Permite definir las características de el hardware que será usado para implementar el

sistema representado por el modelo. [fig 4.3.2.3] La opción más destacada es el Device Type, que especifica el tipo de hardware que se

usará, este podrás abarcar un gran abanico de posibilidades, desde ser el genérico microprocesador de 32-bit o por el contrario ser algo particular o sino concuerda con ninguna de las opciones listadas, podremos destacarlo como Sin especificar.

Panel Raíz

figura 4.3.2 (4): selección hardware

Page 39: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

39

En la figura [fig 4.3.2.4] se determina la plantilla con la que se va a generar el código a partir del modelo, es decir, seleccionamos el sistema en tiempo real de destino, para así traducir el código fuente de una forma u otra valida para el sistema final.

Panel de Depuración

figura 4.3.2 (5): opciones de depuración Verbose Build: si se selecciona esta opción, la pantalla de comandos de Matlab informará del proceso de auto codificación. Retain .rtw file: normalmente el proceso de compilación borra el modelo .rtw del sistema al presentarnos el ejecutable. Si se marca esta opción no se borra el modelo. Profile TLC: analizar el desarrollo del código ejecutado durante el proceso y genera un informe. Start TLC Coverage When generating Code: cuando se selecciona esta opción se generara un informe que contiene estadísticas del Real-Time WorkShop indicando cuantas veces se lee cada línea de código TLC. (Análisis de cobertura de las plantillas) Enable TLC assertion: si se selecciona esta opción se parará la construcción si cualquier fichero TLC contiene una directiva %assert que se evaluá como False.

Page 40: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

40

Panel de Plantillas

figura 4.3.2 (6) plantillas En la figura [fig 4.3.2.6] Se expone las opciones de configuración para la salida. Permitirá detallar los distintos nombres para los archivos “.C y .H”, los archivos fuente (source files) y los archivos cabecera (header) que almacenan el código objeto.

Page 41: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

41

Panel de Selección Sistema Final (Target)

figura 4.3.2 (7): selección target En este panel, seleccionaremos el sistema final y target sobre el que va a ejecutarse la

aplicación y para el que se va a generar código como se puede ver en la figura [fig 4.3.2.7]. Así pues, éste podrá ser sobre una arquitectura con sistema operativo en tiempo real

(VxWorks) o para proyectos de otro ámbito, como por ejemplo la generación de librerías que recojan la funcionalidad.

Para nuestro proyecto en concreto, el target sigue la especificación ARINC

635 de sistemas operativos de tiempo real para software embarcable. Nivel de Participación en autocodificación. Para esta fase la participación fue escasa, debido a que el proceso se realiza de forma

automática por el compilador. Lo que entraña más dificultad es el proceso de configuración del codificador en aspectos como la plataforma final, la manera de generar el código en las cabeceras y source así como el hardware a utilizar.

El tiempo estimado que se invirtió esta fase fue de 1 mes, realizándose después de las

anteriores fases.

Page 42: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

42

4.4.- VERIFICACIÓN DEL AUTO-CODIFICADO Con objeto de comprobar la corrección del código generado por RTWEC, se realizarán

pruebas para comprobar que el modelo codificado se comporta como es deseado. Por ello lo someteremos a un exhaustivo análisis, seguido de los métodos de pruebas

necesarios hasta conseguir la aceptación con respecto la normativa. 1er paso: probar el código y pasarlo al sistema objeto o (target) replica del sistema

operativo que usa el avión con iguales características para reproducir el comportamiento de la forma más precisa posible.

figura 4.4 (1) pasos

Los pasos que detalla la figura [fig 4.4.1] muestran el esquema para simular la ejecución del código objeto en el sistema final.

1) El modelo de diseño traduce a target code. 2) Se le aplican las entradas que se utilizarán con el modelo (OpenLoop Sequence) 3) Se inicia el proceso de simulación 4) Se almacenan las salidas Aspectos clave: Verificación modelo intensiva para asegurarse de que el modelo se haya construido correctamente.

Page 43: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

43

1. Requisitos funcionales del rastro con cada bloque de Simulink. (Verificación y validación)

2. Comprobación del modelo. Identificación de los TestCases [bibliografía CONR01] para la cobertura funcional del 100% del modelo: modelar los ramas, los subsistemas condicionales, las aserciones, las decisiones, los límites, los estados, las acciones de las condiciones, las acciones de la transición, las condiciones y MC/DC. (Verificación y validación, Reactis)

2.1. Heredar los requisitos funcionales con el código de fuente para cada bloque. Pasar los TestCases anteriores y medir la cobertura del código de las unidades del código y de los componentes de software.

2.2. Crear las pruebas para la cobertura del código del 100% y pasarlas al modelo [bibliografía BLACK02]

2º paso: pruebas en Rig figura 4.4 (2) esquema de pruebas La figura [fig 4.4.2] muestra que el código auto generado, debe de ser sometido a otros

controles en el simulador RIG (sistema físico de pruebas detallado en página 11) para comprobar el funcionamiento real del software completo que va en la BCU.

Las entradas se introducirán mediante simulaciones del resto de sistemas físicos.

Page 44: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

44

4.4.1- Herramienta: Verocode

Es una herramienta de análisis estructural de la cobertura, usada para demostrar qué instrucciones fueron ejecutadas en el programa sometido al testeo. Correspondería a una de las última fases en todo el proceso.

Verocode almacenará y mostrará los resultados de la ejecución de las distintas

instrucciones en el sistema final a implantar. Las distintas métricas de cobertura son obtenida en forma de código en lenguaje máquina y

los resultados reportados a través de un programa de anotaciones y listados, que contendrá los fuentes detallados y las representaciones que se les atribuyen a esas instrucciones.

El hardware que utilizará la herramienta es como elemento principal el target o sistema

final en el cual trabajará la aplicación desarrollada y el Host o Pc sobre el cual se ejecutará el analizador.

figura 4.4.1 (1) esquema del funcionamiento Verocode.

Page 45: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

45

Como expone la figura [fig 4.4.1.1] la herramienta está formado por tres componentes

principales que se detallan a continuación: 1.- Monitor Aplicación residente en la memoria del target (o sistema objeto) que muestra la ejecución

de las distintas instrucciones del programa sometido a la prueba y que creará unas tablas de datos, representando las instrucciones ejecutadas y los asociados códigos.

El monitor estará compuesto por dos archivos: -VeroMon.o .- objeto que contiene al monitor -VeroCodeApi.h .- archivo cabecera que define la Api. Nota1: antes de la ejecución por primera vez del monitor, el rango de coberturas, las tablas

de datos y el modo de cobertura, deberán de ser dinámicamente configurados por las rutinas vcmonInitializeCoverage o vcmonInitializeCoverageEx.

Nota2: destacar el importante impacto en el tiempo del sistema bajo pruebas. Ya que

trabaja paralelamente a la ejecución, recolectando las instrucciones ejecutadas, así como la cobertura. Por lo tanto el monitor, usa ciclos del procesador, que normalmente se emplearían para la ejecución del sistema.

2.- Analizador Aplicación residente en host (PC) que acepta las tablas generadas por el monitor y

determinará la cobertura de las instrucciones en lenguaje máquina obtenida, produciendo un report o informe con los resultados detallados.

El analizador es distribuido mediante un ejecutable para el host, llamado analyzer.exe y un

formato de listado y licencia llamado veroCode driver (*.vdr). La instalación requiere que estos dos archivos sean copiados al directorio seleccionado por

el usuario en el host. Nota: el analizador necesitará la dirección de memoria en el sistema target, de la primera

instrucción.

Page 46: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

46

3.- Editor de Cobertura Residente en el host, acepta los ficheros XML producidos por el analizador, permitiendo al

usuario añadir comentarios en los informes. El editor de cobertura es distribuido también como un ejecutable para el PC llamado

CovEditor.exe y un archivo de ayuda vschelp.mht. También contendrá un conjunto de hojas de estilo (styles.xls, styles.css, script.js) que permitirán al explorador web modificar los XML generados por el editor de cobertura.

El monitor, el programa sometido a pruebas y cualquier programa que se use para

gestionar la conexión con el host para la transmisión de los comandos, se ejecutarán en el sistema target, que estará conectado con el host mediante una linea de comunicación (puerto serie). Después de que el test sea ejecutado el host capturará los datos de cobertura generados para el análisis.

Nivel de Participación en verificación del código. La participación en esta fase ha sido notable, sobre todo con la creación de la

herramienta que complementa con nuevos datos estadísticos y métricas los informes generados por la herramienta Vercode.

El tiempo estimado invertido esta fase ha sido de un mes, incluyendo el

proceso de aprendizaje de la herramienta verocode, realización de pruebas y la fase de programación.

Page 47: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Desarrollo del proyecto Sección 4

47

4.5.- ENTORNO DE PRUEBAS

Validación Se tratara de alcanzar la validación de las leyes de control, los fallos dirigidos, los actuadotes del control de la simulación (control del modelo Boom) Simulaciones Sobre el control del Boom, aerodinámica de la pértiga, receptáculo del avión, actuadotes. Calificación Software de control del Boom (entrada-salida, características del tiempo, critica mecanismos críticos tolerantes)

figura 4.5 (1) simulación en laboratorio

La figura [fig 4.5.1] muestra un instante del proceso de acoplamiento del brazo al avión receptor. Ha sido tomada del simulador software sobre el que se van cargando las leyes de control y que el boomer o piloto oficial se encargará de refinar mediante sus objeciones.

Page 48: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Análisis de la generación automática de código Sección 5

48

5.- ANÁLISIS DE LA GENERACION AUTOMÁTICA DE CÓDIGO Para el ámbito de la ingeniería aeronáutica y particularmente el desarrollo software es

necesario asegurar siempre la calidad del código frente a cualquier posible escenario. Esto sumado a las exigentes normas de la autoridad certificadora la cual establece realizar la trazabilidad entre el código y las instrucciones finales en ensamblador. Entre otras medidas nos obliga siempre a realizar siempre un profundo análisis del código final.

Es particularmente importante comparar las diferencias entre el modelo y el código

debido a que al ser la traducción automática, será necesario probar toda su funcionalidad asegurarnos que el compilador fue preciso a la hora de codificar no incluyendo información sobrante, etc. Todo esto se realizará mediante las pruebas. (ver capitulo de pruebas).

Así pues entre todas las métricas a obtener, particularmente significativa serán las

medidas de cobertura estableciendo los diferentes caminos que se recorren, para identificar secciones de código muerto o inaccesibles.

5.1.- Relación entre la cobertura de código y la cobertura del modelo. Cobertura de código

La cobertura del código es una medida o métrica usada en las pruebas del software y que describe el grado en el cual el código de fuente de un programa se ha probado.

Las técnicas para la medición de la cobertura del código están entre las primeras inventadas para la realización de pruebas sistemática del software. La primera referencia publicada fue por Molinero y Maloney en las comunicaciones del ACM en 1963. [bibliografía ANDER07]

Existen diversas maneras de medir la cobertura del código, las principales son:

Cobertura de sentencias: cada línea del código de fuente se ha ejecutado y se ha probado

Cobertura de la condición: se ha ejecutado y se ha probado cada punto de la

evaluación (tal como una decisión verdadera/falsa) Cobertura de la trayectoria: cada ruta posible a través de una parte dada del

código se ha ejecutado y se ha probado Cobertura de la entrada/de la salida: cada llamada posible y la vuelta de la

función se ha ejecutado y se ha probado. Los usos críticos de seguridad se requieren a menudo para demostrar que la prueba alcance 100% de una cierta forma de cobertura del código.

Page 49: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Análisis de la generación automática de código Sección 5

49

Algunos de los criterios de la cobertura arriba están conectados. Por ejemplo la cobertura de la trayectoria implica la condición, la cobertura de sentencias y la de entrada / salida. La cobertura de estados no implica cobertura de la condición.

Estas medidas de cobertura son frecuentes aunque también son utilizadas otras métricas

como la Complejidad Ciclomática que mide el número de trayectorias en el código que son linealmente independientes.

Para el cálculo de la complejidad ciclomática es necesario la construcción del grafico

que describa el flujo de control del programa. Para ello se representaran como nodos del gráfico los comandos del programa y estarán conectados según si el siguiente nodo se puede ejecutar inmediatamente después del primero.

La fórmula para el cálculo de la métrica es: M = E − N + P Donde

M = complejidad ciclomática. E = numero de líneas del gráfico. N = numero de nodos del gráfico. P = número de componentes conectados cerrados

Como conclusión, la cobertura del código es la única medida fiable que compruebe la

ejecución de las instrucciones en el sistema final.

Page 50: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Análisis de la generación automática de código Sección 5

50

Cobertura del modelo La cobertura del modelo desarrollado para el proyecto indica una primera aproximación

o medida de la funcionalidad del sistema. Es decir, este modelo debe de satisfacer totalmente la funcionalidad deseada esto es

garantizar su correcto comportamiento bajo todas las situaciones posibles. Esto se debe a que partiendo de la base de que el modelo creado satisface los requisitos

sólo así podremos continuar el proceso para generar el código final. Y es que resulta común que habiendo probado el modelo y garantizado su comportamiento, a la hora de generar el código objeto y ejecutarlo en el sistema final, surjan nuevos inconvenientes en lo referido a secciones de código muerto, retrasos en los tiempos estimados de ejecución o simplemente comportamiento no esperado.

Por lo tanto como conclusión, el desarrollo de un modelo así como la obtención de las

coberturas totales no garantizan que el código generado automáticamente satisfaga todos los requisitos finales de comportamiento y tiempos.

5.2.- Comparación la cobertura de código y la cobertura del modelo. Uno de los problemas a la hora de comparar directamente entre la cobertura del modelo

y la del código es que Real-Time Workshop (que es el entorno de trabajo que utilizamos), genera excesivo código para prevenir errores inesperados que nunca ocurren en las ejecuciones normales del programa.

Otro inconveniente es que la herramienta de cobertura de código no mide el MC/DC

como Simulink sino que aplica otros criterios, todavía más difíciles de satisfacer.

Page 51: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Casos de Estudio Sección 6

51

6.- CASOS DE ESTUDIO En esta sección, se expondrán con detalle los casos de uso sobre los cuales se ha trabajado

hasta conseguir el código objeto certificable. 6.1.- Sorted Recovery. El modelo de Sorted Recovery [fig 6.1.1], define la funcionalidad de recogida ordenada de la

manguera o brazo. El control recaerá sobre este sistema si la BCU ha detectado tanto fallos como

malfuncionamiento, ya que puede ocurrir que el sistema de control de la pértiga comience a hacerse inestable debido a la velocidad ganada o al viento, incrementando el riesgo de desestabilización con el avión o incluso de choque con algún lateral de éste.

Es decir, en el momento en el que el piloto pulse el botón de recogida, se comprobarán las

circunstancias existentes en los sensores y si todo está funcionando correctamente, se le cederá el control a este sistema.

figura 6.1 (1) esquema del modelo matemática para la recogida ordenada.

Page 52: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Casos de Estudio Sección 6

52

Modelo Sorted Recovery expandido en Subsitemas El modelo completo como se puede observar arriba ayuda a comprender la interacción con

otros subsistemas así como la entrada/salida de señales. Para un mayor conocimiento del propio modelo, se pueden expandir subsistemas, indicándose también cuales de ellos reciben las entradas y cuales reportan las salidas.

En la figura [fig 6.1.2], se observa a “vista de pájaro” el modelo completo, las señales de

entrada, corresponden a la interacción con otros sistemas del avión, tales como los diferentes sensores, los joysticks del piloto del boomer, etc. Y las salidas del sistema, también serán lanzadas a la BCU controladota para que tome las decisiones pertinentes.

figura 6.1 (2) esquema del modelo expandido en subsistemas.

Page 53: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Casos de Estudio Sección 6

53

6.2.- RunAway Detector. Éste modelo, detecta el mal funcionamiento en los comandos de la BCU. En caso de que el

sistema de control del boom compute una actuación excesiva sobre un actuador, este modelo lo detectará para poder conmutar a otras leyes de control más seguras, que están implementadas como backup.

Al cambiar de sistema de control de la recogida ordenada al detector de salida forzosa, las

leyes de control que rigen los comportamientos también cambiarán, haciéndose más restrictivas, así pues, los movimientos oscilatorios que podrá realizar la pértiga serán menores y la velocidad de recogida también facilitando la estabilización y superando la situación problemática.

En la figura siguiente [fig 6.2.1] se reflejará el modelo completo con las interacciones de

entrada/salida con otros sistemas.

figura 6.2 (1) esquema del modelo matemático recogida forzosa de la pértiga

Page 54: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Casos de Estudio Sección 6

54

Modelo RunAway Detector expandido en Subsitemas

Esta figura se corresponde a la primera expansión en subsistemas del modelo RunAway

Detector. Se muestran las relaciones con mayor nivel de detalle entre subsistemas de este modelo y

los datos de entrada de otros modelos como la BCU y sensores. Se puede expandir los diferentes módulos hasta llegar al nivel mínimo de significación o

subsistemas básicos, como son los sumadores, comparadores, multiplexores, etc. No se puede detallar mucho más de los subsistemas debido a que el diseño es tan

complejo que nuestro ámbito de trabajo se basa en realizar las pruebas pertinentes, generar el código objeto, implantarlo en el sistema final y asegurarnos que funciona correctamente.

figura 6.2 (1) esquema expandido en subsistemas para la recogida forzosa

Page 55: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

55

7.- Portal de Conocimientos Es la aplicación informática que dará cabida a todo el saber, relacionado con este proyecto

figura 7.1 (1) portal de conocimientos. La figura [fig 7.1.1] muestra la pantalla principal del portal de conocimientos para el

proyecto ARBS o sistema avanzado de reportaje en vuelo. Destacar que el portal consta de tres diferentes zonas de seguridad

independientes, la zona básica para usuarios sin registrar, la intranet para usuarios registrados y sobre la cuál se regulan los permisos y accesibilidad de cada uno de ellos y por tercer y último la zona de administración desarrollada para funciones específicas del administrador.

La pantalla principal correspondería con la zona de usuarios sin registrar o básicos,

que recoge la información fundamental sobre la empresa así como del proyecto. En la columna de la izquierda, se presentan cuatro bloques principales.

Page 56: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

56

Bloques Columna Izquierda El primero de ellos o menú básico,

recoge una breve introducción de la empresa, la información sobre el proyecto ARBS, también detalla los departamentos involucrados en el proyecto y presenta los links de interés con más información general.

El segundo bloque, correspondiente a

eventos, presentará la información desde la base de datos en la que se muestra los eventos previstos más próximos, tales como las ponencias, comunicaciones técnicas y revisiones.

El tercer bloque, recoge la funcionalidad

para solicitar la inscripción a cualquiera de los eventos próximos.

Y el cuarto bloque corresponde al

idioma.

Acompaño un breve resumen de algunas de estas secciones comentadas. Para el primer bloque, la sección de departamentos muestra los datos más concretos

de los departamentos implicados.

figura 7.1 (2) Menú Básico, Departamentos.

Page 57: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

57

De los bloques comentados, destaco la funcionalidad de Inscripciones que nos

presentan las asambleas previstas de realización así como de los datos mas comunes incluyendo links para más información.

figura 7.1 (3)Inscripciones a Asambleas.

Y en caso de querer solicitar la inscripción se nos presentaría la pantalla de

formulario.

figura 8.1 (3) Formulario de Inscripciones a Asambleas.

Page 58: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

58

Bloques Columna Derecha

El primero, corresponde al registro para el acceso de los usuarios a la Intranet o zona privada de Información. Mientras que el segundo, Contacta, presenta el método para obtener los datos de una cuenta, para aumentar la seguridad. Las cuentas solo las podrá otorgar el administrador a partir de las peticiones de usuarios y se efectuaran la entrega de los datos confidenciales mediante correo electrónico cifrado.

Page 59: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

59

ACCESO A INTRANET

Para el acceso, se deberá introducir los datos de registro, nickname y contraseña correctamente.

Se debate la posibilidad de introducir un campo con geometría variante para eliminar

la posibilidad de que un robot, pruebe indefinidamente hasta averiguar algún dato para el acceso.

figura 7.1 (4) INTRANET

Antes de comenzar a explicar la funcionalidad, se demostrarán los distintas restricciones que se pueden aplicar a los usuarios. Siendo posible restringir los privilegios de accesos a bases de datos (parte rosada) así como las descargas en función del tipo de usuario.

Si en la anterior pantalla, se muestra las opciones para un usuario con todos los

privilegios de modificación y borrado de datos [fig 7.1.4] , ahora mostrare, las opciones para un usuario de menor entidad. [fig 7.1.5]

Page 60: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

60

figura 7.1 (5) INTRANET restringida.

También es destacable el botón de Log out o desconexión, que se encuentra en la parte superior izquierda y también que se muestra el estado del usuario conectado. Al pulsar, se desconectará, borrando las cookies (o archivos con datos de contraseña) del ordenador, para incrementar las medidas de seguridad, siendo por lo tanto muy dificil que cualquier spyware o hacker se haga con las contraseñas.

Mientras la columna de la izquierda permanece invariable, será la de la derecha la que incluya nueva funcionalidad de la intranet, así como la funcionalidad que se recoge en la zona central.

Page 61: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

61

Zona Lateral Derecha

Recoge algunas funcionalidades como el botón para regresar a la zona central de gestión de bloques y el botón que da acceso al área de descargas.

Zona Central

figura 7.1 (6) INTRANET zona central.

La funcionalidad que se ha desarrollado, corresponde a los criterios de acceso a

diferente información de la Base de Datos [fig 7.1.6]. Destaca la Transmisión de Mensaje Público, que ofrece la posibilidad de

informar mediante multidifusión a todos los miembros o usuarios de la intranet de cualquier cosa, como por ejemplo el aplazamiento de la reunión o la sugerencia de algún nuevo tema a tratar.

Ahora se presentará con mayor detalle los bloques de gestión.

Page 62: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

62

Al ser las opciones de los bloques comunes, no se describirán todas sino algunas de ellas.

Bloque de Gestión de Revisiones.

Figura 7.1 (7) INTRANET gestión de revisiones.

Menu de gestión de revisiones, aparecerá una barra de herramientas en laparte superior central de la pantalla [fig 7.1.7].

• Inserción de Revisiones

Figura 7.1 (8) INTRANET inserción de revisiones.

Page 63: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

63

Desde el menú de gestión, se da paso a las diferentes opciones para el bloque revisión, se puede insertar una revisión, que es una reunión para comentar aspectos problemáticos de un determinado tema del proyecto. [fig 7.1.8]

• Modificación de Revisiones

Figura 7.1 (9) Al pulsar modificar, cargará en un formulario los datos de esa tupla en concreto.

Page 64: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

64

Figura 7.1 (10)

Se podrá modificar cualquier campo de la base de datos de revisiones [fig 7.1.10].

• Borrado de Revisiones

Figura 7.1 (11)

Page 65: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

65

Al seleccionar una o varias y pulsar el botón de borrar registros, antes nos pedirá la confirmación, para que en caso de error no se provoque una situación de perdida de información. [fig 7.1.11]. En caso de haber seleccionado los dos registros y pulsar borrar registros, la siguiente

pantalla será.

Figura 7.1 (12) Confirmación de borrado de Revisiones

La confirmación nos mostrará las opciones seleccionadas para borrar, como paso intermedio. Tan solo habra que pulsar borrar registros para llevar a cabo la transacción. [fig 7.1.12]

Page 66: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

66

Zona Descargas

Figura 7.1 (13) Vista General de Descargas

Como se observa [fig 7.1.13], la zona de descargas presenta amplias posibilidades de gestión, pudiéndose establecer categorías de descargas, siendo muy fácil administrarlas y modificarlas.

Figura 7.1 (14) Descargas

Page 67: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

67

En el caso de elegir la categoría de Informes Verocode, el portal de conocimiento nos

cargará una pantalla con algunos detalles orientativos, tales como la descripción de la descarga, el tamaño del archivo, cuando fue agregado, el autor que ha realizado la aplicación. [fig 7.1.14]

Del mismo modo, también será posible informar al administrador en caso de

encontrar algún enlace roto. [fig 7.1.15]

Figura 7.1 (15) Categoría Informes Verocode. Luego, se procedería a la descarga. [fig 7.1.16]

Figura 7.1 (16) Guardar como

Page 68: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

68

Comprobación de la descarga realizada.

Figura 7.1 (17) Descarga Finalizada y ejecución del Script

Como nos indica el gestor de descargas de Mozilla, la descarga se ha completado, y el resultado de ejecutar el script es el que aparece en la pantalla de color negro. [fig 7.1.17]

Page 69: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

69

ACCESO A ZONA DE ADMINISTRACION

El acceso hacia la zona de administración no se especifica explícitamente en el portal, para también aumentar las medidas de seguridad, éste se alcanza a traves de la ruta admin.php y deberemos de efectuar el registro con los permisos de administración.

Una vez efectuado el registro, la pantalla principal de la zona de administración es la

siguiente. [fig 7.1.18]

Figura 7.1 (18) Zona Administración Desde esta zona podremos aplicar numerosa funcionalidad nueva, tal como:

• Respaldo para la generación de archivo .sql, con toda la información actualizada para la restauración de la base de datos.

• Banneador de IP, posibilidad de no permitir que un determinado ordenador (direccion) acceda a la aplicación.

• Gestor de grupos de usuarios • Transmisión de mensajes por multidifusion, a grupos específicos o a

determinados usuarios. • Gestion de bloques y módulos. • Configuración y personalización del portal. • Administración de Descargas. • Boton de Log out para zona administración.

Page 70: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

70

Respaldo

Figura 7.1 (19)

Al pulsar sobre respaldo, automáticamente se nos abrirá la descarga del archivo sql [fig 7.1.19] que podrá restaurar fácilmente la base de datos, así como toda la información que contiene hasta el momento.

Banneador de IP

Figura 7.1 (20) Sistema de Bloqueos a IP

Page 71: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

71

El sistema de banneo implementará la funcinalidad de poder cloquear la dirección IP de alguna persona que moleste o intente realizar accesos no restringidos. El servidor le expulsara y no le volverá a dejar conectar. [fig 7.1.20]

Gestor de grupos de usuarios

Figura 7.1 (21) Gestión de Usuarios

Implementa las funcionalidades de inserción, modificado y borrado de usuarios, así como la gestión de grupos de usuarios. [fig 7.1.21]

Page 72: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

72

Figura 7.1 (22) Gestión de grupos de Usuarios Los privilegios de usuarios, no están contemplados que se modifiquen aquí, ya que en

caso de fallo de seguridad se podría eliminar o modificar el usuario de administración. [fig 7.1.22]

Page 73: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

73

Transmisión de mensajes

Figura 7.1 (23) Boletines

La transmisión de mensajes implementa la posibilidad de enviar emails a todos los

usuarios subscritos. De manera que se faciliten las tareas de informar al personal involucrado en el proyecto. [fig 7.1.23]

Page 74: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

74

Gestión de bloques y módulos

Figura 7.1 (24) Gestión de bloques

Desde esta sección, podremos administrar los bloques programados en Php como muestra la figura [fig 7.1.24]

Así, se podrá consultar de un vistazo el estado de los bloques de la aplicación,

pudiendo comprobar fácilmente, cuales de ellos están activos, de que tipo es el bloque, la accesibilidad que presentan, la colocación en la pantalla.

Y por supuesto editarlos pulsando en el botón editar se nos presentará el código del

bloque ( en el cual llama a las distintas páginas php), pudiéndolo modificar según convenga.

Page 75: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

75

Administración de Descargas

Figura 7.1 (25) Categoría de Descargas

Se ha desarrollado también la gestión de descargas por categorías [fig 7.1.25], facilitando una mejor administración de descargas, ya que estas podrán dividirse en categorías principales y subcategorías para agrupar mejor diversos aspectos del proyecto.

Page 76: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Portal de conocimientos Sección 7

76

Figura 7.1 (26) Administración de Descargas

Formulario para agregar una nueva descarga, se deberá indicar los campos nombre de la descarga, URL o dirección del archivo a descargar, adjuntar una breve descripción del archivo, de como se instala como funciona, etc. También se deberá especificar el autor del fichero y su e-mail para posibles dudas o consultas. [fig 7.1.26]

Page 77: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Planificación Tareas y Presupuesto Sección 8

77

8- PLANIFICACION TAREAS Y PRESUPUESTO 8.1.- Plan de Tareas Adjunto un glosario con las principales tareas que se propusieron desde el principio y la planificación llevada a cabo.

1) Realización de los procesos para la generación automática e implantación en el sistema final del código. Para la realización de los procesos para la generación automática de código se estableció un periodo de seis meses, correspondientes a la duración de la beca en la empresa y debido a que muchas de estas taras solo se pueden desarrollar alli.

2) Desarrollo de dos aplicaciones en Eads.

- Aplicacion que Pasa Test Automaticamente. - Realiza informes Verocode. Para el desarrollo de las dos aplicaciones se estableció también que el periodo máximo

para su finalizacion correspondiese con la finalización de la beca.

3) Creación del portal de conocimientos para gestionar el proyecto. El tiempo necesario para desarrollar el portal de conocimientos ha sido de 3 meses,

correspondientes desde Marzo a Mayo, conpaginandolo con las actividades a realizar en la empresa.

4) Elaboración del proyecto fin de carrera.

Page 78: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Planificación Tareas y Presupuesto Sección 8

78

Diagrama GANTT

Figura 8.1 (1) Diagrama Gantt de planificación

La figura 8.1.1 muestra el diagrama correspondiente del desarrollo de las tareas

preestablecidas como objetivos del proyecto. Diagrama de Gantt muestra el origen y final de las diferentes unidades mínimas de trabajo y

los grupos de tareas, así como las dependencias establecidas entre ellas. Ayuda a visualizar la línea temporal del desarrollo del proyecto así como a comprobar que

tareas se han realizado simultáneamente Como se aprecia en el diagrama, existe una dependencia temporal entre las tareas de

preparación y los procesos para la generación de código. Ésta se refleja en la coloración que presentan ámbas y expresa que para poder comenzar la tarea de procesos para la generación de código, es necesario que la fase de preparación haya finalizado.

En el margen de la derecha se puede apreciar una pequeña reseña de la duración de los

bloques de tareas.

Nov Dic Ene Feb Ma Abr May Jun Oct

Procesos Generación código

Herram Pruebas Automáticas

Herram Pasa Test

Portal Conocimient

Preparación

7 meses

2 meses

3 meses

5 meses

Page 79: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Planificación Tareas y Presupuesto Sección 8

79

8.2.- Presupuesto El presupuesto estimado se desglosa de la siguiente manera: Construcción del Portal de conocimientos …………………………3.000 € Programación de Aplicación Pasa Test …………………………….1.000 € Programación de Aplicación Informes Verocode ……………………800 € ------------- 4.800€ Presupuesto Total Por la concepcion de las tareas cuantificadas anteriormente mas las tareas de desarrollo del proceso automatizado y los correspondientes informes, así como las practicas desarrolladas cuantifico este proyecto en un total de 6.000 euros.

Page 80: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Conclusiones, resultados y desarrollos futuros Sección 9

80

9.- CONCLUSIONES Los requisitos usualmente, cambian constantemente debido al mundo que evoluciona tan

deprisa (ambiente de negocio, político, social).

Los trabajos de desarrollo de software convencionales están desfasados, teniendo en cuenta la amplia gama de nuevas tecnologías aplicables.

Se plantea el uso de modelos formales, donde capturar los requisitos y del que se pueda producir directamente el software. Esto apunta ser susceptiblemente más barato que el desarrollo convencional consiguiendo mejores resultados cuantificables en cuanto a menor tiempo de desarrollo y menores errores de codificación.

El empleo de métodos formales – no son escalables al requerir la interpretación humana – se necesita, por lo tanto a más expertos con un coste muy superior al de las máquinas.

La codificación y la verificación de los sistemas pueden ser automatizadas – esto es escalable – y los costes pueden ser reducidos perceptiblemente.

La verificación del software sigue siendo importante y proporciona una plataforma para que los métodos formales sean aplicados en el diseño y la fase de los requisitos.

9.1.- Resultados Los resultados obtenidos, corresponden a la consecución de los objetivos propuestos.

• Realización de los procesos para la generación automática e implantación en el sistema final del código.

Se corresponde a la ejecución de todo el proceso establecido en EADS-CASA para el

desarrollo de software basado en modelos. Si bien, todas las fases no han sido enteramente completadas, se destaca la intervención

positiva en cada una de ellas y el aprendizaje alcanzado. Este apartado es analizado con mayor profundidad en el punto cuarto del proyecto en el

que se enumeran las fases de desarrollo, explicando también el grado de participación, el tiempo empleado, etc.

Page 81: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Conclusiones, resultados y desarrollos futuros Sección 9

81

• Desarrollo de la Herramienta de ejecución de pruebas automáticas para

verificar la correcta funcionalidad del código generado.

En el proceso de generación automática de código es necesario realizar gran cantidad de pruebas tanto funcionales como de cobertura, para asegurar que la auto codificación está libre de errores y sigue manteniendo la misma funcionalidad.

Con ese objetivo y debido al tiempo que se necesitaba para la ejecución de grandes

cantidades de volúmenes de pruebas contra el sistema final a implantar, surgió la necesidad de desarrollar una herramienta que los lanzase automáticamente, recogiendo los resultados,

Esto acelerará en mucho los procesos de prueba, haciéndolos sobre todo menos

costosos y laboriosos al poder realizar la ejecución de las pruebas de una forma automática, teniendo únicamente que participar en la fase de análisis de los resultados.

Las dificultades encontradas en la generación del script es la compleja comunicación

con el sistema final, que presenta una sistema operativo Arinc653 y cuyas instrucciones y modo de funcionamiento eran totalmente desconocidas para mí.

Además la comunicación que se establece es basada en eventos y mediante los

puertos de serie añadiendo particularidades curiosas e interesantes desde el punto de vista de la informática para conseguir la sincronización en la ejecución de los test.

• Implementación de la herramienta para obtener estadísticas de

cobertura.

A partir de los informes de cobertura que proporciona la herramienta Verocode, se

programó una aplicación que analice esos ficheros de cobertura, obteniendo cálculos específicos de vital uso, así como métricas de coberturas recogidas por funciones, etc.

La dificultades encontradas en la programación residían en la propia complejidad

del fichero de resultados (.srt) así como en la disposición y legibilidad de los resultados que muestra. Además destacar la dificultad para implantar los contadores para el posterior calculo de métricas, estadísticos, etc todo recogido por funciones. (característica que no presenta verocode)

El procesador empleado es un motorota Power Pc que ejecuta instrucciones en lenguaje ensamblador.

Page 82: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Conclusiones, resultados y desarrollos futuros Sección 9

82

• Portal de Conocimientos

El portal de conocimientos, ya ha sido desarrollado y se encuentra en funcionamiento. La funcionalidad implantada corresponde a la planificada, habiéndose incluido

numerosas opciones reseñables. Tanto la descripción como el manual de usuario, se encuentran en el apartado siete que lo

detalla más explícitamente. 9.2.- Desarrollos Futuros Para este apartado, se ha llegado a la conclusión de que sería conveniente trabajar en una

herramienta que pudiese englobar ciertos aspectos del proceso, como son la integración de las pruebas funcionales y de cobertura.

Ya que estas pruebas se ejecutan en distintas fases del proceso, primero sobre el modelo

físico/matemático y luego sobre el código generado, resulta difícil a la vez que laborioso ejecutar un volumen de pruebas tan amplio y en constante modificación.

Las herramientas desarrolladas sólo trabajan sobre el código generado y existen otras,

como por ejemplo Reactis, que realizan la misma funcionalidad de pruebas sobre el modelo.

Por lo tanto sería muy útil y conveniente, crear una aplicación que englobe ambas,

formando una sola y con una interfaz más legible, se ahorraría mucho tiempo y esfuerzo, en un proceso, ya de por sí depurado.

Page 83: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

BIBLIOGRAFÍA Sección 10

83

10.- BIBLIOGRAFÍA [HART05] Model Based Test Generation Tools [BLAC05] Model-Based Verification of High Integrity Systems --Software Porductivity Consortium/ T-VEC Mark Blackburn, Robert Busser, Aaron Nauman,Travis Morgan [ANDER07] Automatic test vector generation ando coverage análisis in model-based software development Jonny Andersson [ERKK03] Model Style Guidelines for Flight Code Generation Tom Erkkinen-- The MathWorks Inc [LACA02] Automatic Code Generation (modeling rules and configuration guide) P.Lacan-- EADS ASTRIUM [CONR01] Model-based Generation an Structured Representation of Test Scenarios Mirki Conrad, Heiko Dör, Ines Fey, Andy Yap DaimlerChrysler AG. Research and Technology [BLACK02] Defect Identification with Model-Based test Automation Mark Blackburn, Aaron Nauman, Robert Busser. Software Productivity Consortium

Page 84: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Glosario de Términos Sección 11

84

11.- Glosario de Términos

• ARBS: (Advanced Refuelling Boom System) .Consiste en una mejora, de los sistemas existentes, de recarga de combustible en vuelo.

• BCU (Boom Control Unit) es la encargada del control y el computo de los diferentes

sitemas del ARBS. • FCL (Flight Control Laws): leyes de control de vuelo cargadas en la BCU. • MC/DC: medida de cobertura modificada de la condición/decisión, se utiliza en el

DO-178B estándar para asegurarse de que el software (catastrófico) calificado como A está probado adecuadamente. Es una forma de prueba exhaustiva.

• PHP (PHP Hypertext Pre-processor):lenguaje de programación usado frecuentemente

para la creación de contenido para sitios web con los cuales se puede programar las paginas html y los codigos de fuente.

• RTCA: es una organización privada sin ánimo de lucro, que desarrolla

recomendaciones que son utilizadas por la administración federal de la aviación (FAA) como la base para la política, el programa, y las decisiones reguladoras y por el sector privado como la base para el desarrollo, la inversión y otras decisiones económicas.

• RTCA/DO-178B: es un estándar que especifica al usuario las guias o normas para la

producción del equipo de software en sistemas de vuelo. • RTWEC: codificador embebido de la herramienta Mathworks Real Time Workshop. • Testing RIG: simulador físico que reproduce el sistema ARBS más un receptáculo de

caza F16 para ensayos de pruebas funcionales.

Page 85: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: automatización pruebas en target Sección 12

85

12- ANEXO

12.1.- Automatización de pruebas en target

Aplicación desarrollada para completar el proceso de generación automático de código. Es debido a que no existe ninguna aplicación que permita la ejecución de pruebas

automáticas hacia el target mediante puerto de serie, y al ser muchos los parámetros de configuración así como la tarea de recoger los resultados producidos, se me encargó la tarea de implementarlo.

Código fuente /* APLICACION:: REALIZACION AUTOMATICA DE TEST SOBRE EL TARGET por JAVIER CUESTA GÓMEZ -------------------------------------------------------------------------------------*/ #include <stdio.h> #include <windows.h> #include <iostream.h> #include <io.h> #define _WIN32_WINNT 0x0501 #define BUFSIZE MAX_PATH #define MAX_SEND_BUFF_SIZE 2000 #define FILE_FLAG_OVERLAPPED 1073741824 && 0x40000000 #define OPEN_EXISTING 3 int main(int argc, char *argv[]) { // variables para el manejo de ficheros con la Api de Windows WIN32_FIND_DATA FindFileData; HANDLE hFind = INVALID_HANDLE_VALUE; DWORD dwError; LPSTR DirSpec; DirSpec = (LPSTR) malloc (BUFSIZE);

Page 86: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: automatización pruebas en target Sección 12

86

// variables para la conexión puerto serie BYTE bSendBuffer[MAX_SEND_BUFF_SIZE];// 20Kbytes BYTE bSendBuffer1[MAX_SEND_BUFF_SIZE];// 20Kbytes DWORD dwSendSize; DCB dcb; BOOL Ret; char cadena [250]; char salida [2000]; // almacena nombre modificado de archivo salida char proc_arch [250]; char proc_arch1 [250]; char comando [1000]; int opcion_menu; char **flist; system("cls"); printf ("\n\nIntroduce la ruta de los archivos a procesar:"); gets(cadena); strcpy(DirSpec, cadena); strcat(DirSpec, "*"); printf("\n Elige el tipo de test: "); printf("\n\n\t Opcion 1: Sorted Recovery.\n"); printf("\t Opcion 2: Runaway Detector.\n"); printf("\t Opcion 3: FLC_Dynamics.\n"); printf("\t Opcion 4: FLC_Statics.\n"); printf("\n\n Opcion: "); scanf("%d", &opcion_menu); // CONFIGURACION PUERTO DE SERIE //----------------------------------------------------------------------------------------------------------------- // Apertura Puerto Serie HANDLE hPort; hPort = CreateFile ("COM1", GENERIC_WRITE, 0,0,OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0); // Establecemos el tamaño del buffer Ret = SetupComm(hPort, 1024, 1024); if (Ret == FALSE) { printf("SetupComm failed.\n"); CloseHandle(hPort); exit(0); } // COnfiguracion de la Conexion

Ret = GetCommState(hPort, &dcb);

Page 87: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: automatización pruebas en target Sección 12

87

if(Ret == FALSE){ printf("GetCommState failed.\n"); CloseHandle(hPort); exit(0); } // detalles de la conexion

dcb.BaudRate = 9600; dcb.Parity = 0; dcb.StopBits = ONESTOPBIT; dcb.ByteSize = 8; Ret = SetCommState(hPort, &dcb); if(Ret == FALSE){ printf("SetCommState failed.\n"); CloseHandle(hPort); exit(0); } //----------------------------------------------------------------------------------------------------------------- // busqueda del primer archivo del directorio hFind = FindFirstFile(DirSpec, &FindFileData); if (hFind == INVALID_HANDLE_VALUE) { printf ("Handle incorrecto. Error: %u.\n", GetLastError()); return (-1); } else { printf("\n\n Descartamos los archivos invalidos:\n"); printf ("\nPrimer fichero invalido: %s\n\n", FindFileData.cFileName); FindNextFile(hFind, &FindFileData);

printf ("\nSegundo fichero invalido: %s\n\n", FindFileData.cFileName); printf ("\n PROCESO ARCHIVOS MATLAB"); printf ("\n------------------------------------------------------------------\n"); // Proceso los archivos MATLAB while (FindNextFile(hFind, &FindFileData) != 0) { if(strstr(FindFileData.cFileName,"INP.mat")!=NULL) { printf("\n** Fichero Matlab encontrado, nombre: %s \n\n" ,FindFileData.cFileName);

// 0 .- Almacenamos el nombre del archivo en proceso, para tratarlo posteriormente

Page 88: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: automatización pruebas en target Sección 12

88

strcpy(proc_arch, FindFileData.cFileName); //Renombramos fichero actual a Inputs.mat DEPENDIENDO DE LA OPCION ELEGIDA //Comprobamos si existe Outpues.mat de alguna ejecucion anterior //Almacenamos el comando a mandar al Target if(opcion_menu==1){sprintf (comando, "copy %s InputsSR.mat" ,FindFileData.cFileName); system (comando);

flist = findfiles("OutputsSR.mat",FINDFILES_NODIRS|FINDFILES_NOHIDDEN|FINDFILES_RECURSIVE);

sprintf (comando, "del OutputsSR.mat"); strcpy(bSendBuffer1,"arincSchedSet(1)\r\n");}

else if(opcion_menu==2){sprintf (comando, "copy %s InputsRAD.mat" ,FindFileData.cFileName);

system (comando); flist =

findfiles("OutputsRAD.mat",FINDFILES_NODIRS|FINDFILES_NOHIDDEN|FINDFILES_RECURSIVE);

sprintf (comando, "del OutputsRAD.mat"); strcpy(bSendBuffer1,"arincSchedSet(2)\r\n");}

else if(opcion_menu==3){sprintf (comando, "copy %s InputsFCL.mat" ,FindFileData.cFileName);

system (comando);

flist = findfiles("OutputsFCL.mat",FINDFILES_NODIRS|FINDFILES_NOHIDDEN|FINDFILES_RECURSIVE);

sprintf (comando, "del OutputsFCL.mat"); strcpy(bSendBuffer1,"arincSchedSet(3)\r\n");}

else if(opcion_menu==4){sprintf (comando, "copy %s InputsFCL.mat" ,FindFileData.cFileName);

system (comando);

flist = findfiles("OutputsFCL.mat",FINDFILES_NODIRS|FINDFILES_NOHIDDEN|FINDFILES_RECURSIVE);

sprintf (comando, "del OutputsFCL.mat"); strcpy(bSendBuffer1,"arincSchedSet(4)\r\n");}

// Si encontramos algun archivo Outputs de ejecuciones anteriores, lo borramos if (*flist != NULL) { system (comando); }

// 1 .- Reseteamos el Target

Page 89: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: automatización pruebas en target Sección 12

89

strcpy(bSendBuffer, "reboot\r\n");

WriteFile(hPort, bSendBuffer,strlen(bSendBuffer), &dwSendSize, NULL); printf("\t\t - Reseteo del Target. \n"); sleep(90000); //cierro el puerto serie, para borrar buffer CloseHandle(hPort); // 2 .- Mandamos la orden a ejecutar

// vuelvo a abrir el puerto hPort = CreateFile ("COM1", GENERIC_WRITE, 0,0,OPEN_EXISTING, FILE_FLAG_OVERLAPPED, 0); WriteFile(hPort, bSendBuffer1, strlen(bSendBuffer1), &dwSendSize, NULL); printf("\t\t - Ejecucion del comando. \n");

// Esperamos hasta que se genere el archivo de salida correspondiente do { sleep(5000); if(opcion_menu==1) { flist = findfiles("OutputsSR.mat",FINDFILES_NODIRS|FINDFILES_NOHIDDEN|FINDFILES_RECURSIVE); } else if(opcion_menu==2){ flist = findfiles("OutputsRAD.mat",FINDFILES_NODIRS|FINDFILES_NOHIDDEN|FINDFILES_RECURSIVE);} else if(opcion_menu==3){ flist = findfiles("OutputsFCL.mat",FINDFILES_NODIRS|FINDFILES_NOHIDDEN|FINDFILES_RECURSIVE);} else if(opcion_menu==4){ flist = findfiles("OutputsFCL.mat",FINDFILES_NODIRS|FINDFILES_NOHIDDEN|FINDFILES_RECURSIVE);} } while(*flist == NULL);

// 3 .- Proceso de Gestion de Outputs.mat mediante cadena Salida

sleep(5000); // nombre del archivo de resultados.

strrepl(proc_arch,"INP.mat","OUT.mat",proc_arch1); strrepl(proc_arch1,"Inp_","Out_",proc_arch1); //Renombramos fichero actual a Outputs.mat DEPENDIENDO DE LA OPCION ELEGIDA if(opcion_menu==1){sprintf (comando, "copy OutputsSR.mat %s\n" ,proc_arch1);}

else if(opcion_menu==2){sprintf (comando, "copy OutputsRAD.mat %s\n" ,proc_arch1);} else if(opcion_menu==3){sprintf (comando, "copy OutputsFCL.mat %s\n" ,proc_arch1);} else if(opcion_menu==4){sprintf (comando, "copy OutputsFCL.mat %s\n" ,proc_arch1);}

Page 90: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: automatización pruebas en target Sección 12

90

printf("\t\t - Renombramiento de archivo salida. \n");

printf("\n%s", comando);

system (comando); // 4 .- Timing de espera 2segs. sleep(2000);

} } // Recogemos posible error de tratamiento ficheros dwError = GetLastError(); FindClose(hFind); if (dwError != ERROR_NO_MORE_FILES) { printf ("Error en FindNextFile: %u.\n", dwError); return (-1); } }

free(DirSpec); // Cerramos la conexion con el puerto serie CloseHandle(hPort); return 0; }

Page 91: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

91

12.2.- Aplicación Generadora Informes estadísticos a partir Herramienta Verocode /* APLICACION:: MEJORA DE INFORMES VEROCODE por JAVIER CUESTA GOMEZ -------------------------------------------------------------------------------------*/ #include <stdio.h> #include <windows.h> #include <iostream.h> #include <io.h> #define _WIN32_WINNT 0x0501 #define BUFSIZE MAX_PATH #define MAX_SEND_BUFF_SIZE 2000 int main(int argc, char *argv[]) { // variables para el manejo de ficheros con windows WIN32_FIND_DATA FindFileData; HANDLE hFind = INVALID_HANDLE_VALUE; //puntero para la busqueda de archivos DWORD dwError; LPSTR DirSpec; // DECLARACIONES Char ruta [100]; Char proc_arch [100]; //almacena el nombre del ficehero procesandose FILE *fp; // puntero al archivo que estamos procesando FILE *f_salida; char nom_f_salida [100]; char buffer [100]; // almacena la linea en curso // contadores de instrucciones y de intrucciones del tipo que buscamos int instruccion=0; int instruccion_cobertura = 0; // contadores int contador_blne=0; // contador comparaciones 'menor no igual' int contador_bgne=0; // contador comparaciones 'mayor no igual' int contador_be=0; int contador_bne=0; int contador_bgt=0; // contador comparaciones 'mayor que' int contador_blt=0; // contador comparaciones 'menor que'

Page 92: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

92

int contador_bge=0; // contador comparaciones 'mayor o igual' int contador_ble=0; // contador comparaciones 'menor o igual' int contador_blr=0; // retornos de subrutinas int contador_bl=0; // saltos incondicionales int contador_funciones=0; // funciones // contadores de porcentaje totales float resultado_cobertura=0; float resultado_cobertura_ramas=0; float porcentaje_total=0; float porcentaje_cubierto=0; float porcentaje_ramas_total=0; float porcentaje_ramas_cubierto=0; // reservamos el tamaño en memoria para la direccion DirSpec = (LPSTR) malloc (BUFSIZE); // COMIENZO system("cls"); printf ("\n\nIntroduce la ruta de los archivos a procesar:"); // sino introduce ninguna, se toma el directorio en el que se encuentra gets(ruta); strcpy(DirSpec, ruta); strcat(DirSpec, "*"); // busqueda del primer archivo del directorio hFind = FindFirstFile(DirSpec, &FindFileData); // abro el archivo while (FindNextFile(hFind, &FindFileData) != 0){ if(st // 0 .- Almacenamos el nombre del archivo en proceso, para tratarlo posteriormente strcpy(proc_arch, FindFileData.cFileName); // 1.- Proc

Page 93: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

93

// 1.1.- Abrirlo // quiero meter como nombre del archivo el procesado automaticamente, necesito meter ahi variables f_salida = fopen ( nom_f_salida, "w" ); //Generamos la cabecera del fichero fprintf(f_salida," \n \t----------------------------------------------------------------------"); fprintf(f_salida," \n\t\t\t INFORME REALIZADO SOBRE: %s \n" ,FindFileData.cFileName); fprintf(f_salida," \t----------------------------------------------------------------------\n\n",FindFileData.cFileName); // 1. while (!feof(fp)){ char OpCode[30]; char OpFunction[30]; char CoverageSymbol; memset(&buffer,0,sizeof(buffer)); // almacenar la linea en el buffer para evitar comparaciones en balde. //imprimimos en pantalla el proceso del fichero strcpy(OpCode,""); CoverageSymbol = buffer[0]; sscanf(&buffer[8],"%s", OpCode); // imprimimos en fichero las funciones encontradas y los token dentro de ella fprintf(f_salida,"\n\n\t\t-------------------------------------------------------------------------"); fprintf(f_salida,"\n\t\t FUNCION ENCONTRADA en linea %d.... %s", instruccion, buffer); fprintf(f_salida,"\t\t-------------------------------------------------------------------------"); contador_funciones++; instruccion++; // al float resultado_cobertura_aux=resultado_cobertura; float resultado_cobertura_ramas_aux=resultado_cobertura_ramas; float porcentaje_total_aux=porcentaje_total; float porcentaje_cubierto_aux=porcentaje_cubierto; float porcentaje_ramas_total_aux=porcentaje_ramas_total; float porcentaje_ramas_cubierto_aux=porcentaje_ramas_cubierto;

Page 94: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

94

// para que te recorra la funcion while (!feof(fp) { char OpCode[30]; char OpFunction[30]; char CoverageSymbol; fpos_t position; // puntero para poder rebobinar hasta posicion deseada memset(&buffer,0,sizeof(buffer)); // obtenemos en posicion el puntero a la instruccion procesandose. fgetpos(fp,&position); // almacenar la linea en el buffer para evitar comparaciones en balde pprintf("Procesando linea %d.... %s\n", instruccion, fgets ( &buffer, sizeof(buffer), fp )); strcpy(OpCode,""); strcpy(OpFunction,""); CoverageSymbol = buffer[0]; sscanf(&buffer[24],"%s", OpCode); // distingue tokens scanf(&buffer[8],"%s", OpFunction); //distingue caracteres nueva funcion // Filtramos las filas del fichero, por los caracteres de cobertura.

if (strcmp(OpCode,"bctr") == 0){

fprintf (f_salida, "\n\n\t\t----------------\n"); fprintf (f_sal fprintf (f_sal fprintf (f_salida, "\n\t\t instruccion: %d ", instruccion); fpri fpri if (CoverageSymbol == '*'){ fprintf (f_salida, " \n\t\t El caracter de uso corresponde a *. \n\n"); } if (CoverageSymbol == '-'){ fprintf (f_salida, " \n\t\t El caracter de uso corresponde a -. \n\n"); } if (CoverageSymbol == '<'){ fprintf (f_salida, " \n\t\t El caracter de uso corresponde a <. \n\n"); } if (CoverageSymbol == '>'){ fprintf (f_salida, " \n\t\t El caracter de uso corresponde a >. \n\n"); } // po instruccion++;} //salto si igual else if (strcmp(OpCode,"be") == 0){ fprintf (f_sal

Page 95: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

95

fprintf (f_sal fprintf (f_salida, "\n\t\t instruccion: %d ", instruccion); fpri +2;} contador_be++; instruccion_cobertura++; instruccion++;} //salto si no igual else if (strcmp(OpCode,"bne") == 0){ fprintf (f_sal fpri fprintf (f_salida, "\n\t\t instruccion: %d ", instruccion); fprintf (f_salida, " %s\n", buffer); if (C if (C contador_bne++; instruccion_cobertura++; instruccion++;} // salto si menor no igual igual else if (strcmp(OpCode,"blne") == 0){ fprintf (f_sal fprintf (f_sal fprintf (f_sal fprintf (f_sal fprintf (f_sal fpri if (C if (C if (C contador_blne++; instruccion_cobertura++; instruccion++;}

Page 96: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

96

// salto si mayor no igual else if (strcmp(OpCode,"bgne") == 0){ fprintf (f_salida, "\n\t\t ENCONTRADO BGNE \n"); fprintf (f_salida, "\t\t----------------------------"); fprintf (f_salida, "\n\n\t\t instruccion: %d ", instruccion); fprintf (f_salida, " %s\n", buffer); fprintf(f_salida,"\t\t Salto si mayor no igual.\n"); if (C if (Cif (CoverageSymbol == '>'){ fprintf (f_salida, " \n\t\tEl caracter de uso corresponde a >. \n\n"); porcentaje_ramas_total = porcen conntador_bgne++; instruccion_cobertura++; instruccion++; } // salto si menor que else if (strcmp(OpCode,"blt") == 0){ fpri fprintf (f_salida, "\t\t ENCONTRADO BLT \n"); fprintf (f_salida, "\t\t----------------\n"); fprintf (f_salida, "\n\n\t\t instruccion: %d ", instruccion); fpri if (C contador_blt++; istruccion_cobertura++; instruccion++;} // salto si mayor que else if (strcmp(OpCode,"bgt") == 0){ fpri printf (f_salida, "\t\t ENCONTRADO BGT \n"); fprintf (f_salida, "\t\t----------------\n"); fprintf (f_salida, "\n\t\t instruccion: %d ", instruccion); printf (f_sali fprintf(f_salida,"\t\t Salto si mayor que."); if (CoverageSymbol == '*'){ fprintf (f_salida, " \n\t\t El caracter de uso corresponde a *. \n\n"); porcentaje_ramas_total = porcen if (C if (C if (C

Page 97: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

97

contador_bgt++; instruccion_cobertura++; instruccion++;} // salto si menor o igual else if (strcmp(OpCode,"ble") == 0){ fprintf (f_salida, "\t\t ENCONTRADO BLE \n"); printf (f_salida, "\t\t----------------\n"); fpri fpri fpri contador_ble++; instruccion_cobertura++; instruccion++;} // salto si mayor o igual else if (strcmp(OpCode,"bge") == 0){ fprintf (f_salida, "\t\t ENCONTRADO BGE \n"); fprintf (f_salida, "\t\t----------------\n"); fprintf (f_sal fprintf (f_sal fpri if (C if (C if (C contador_bge++; instruccion_cobertura++; instruccion++; } else if (strcmp(OpCode,"bl") == 0){ if (C if (CoverageSymbol == '-'){ porcentaje_total = porcentaje_total +1;}

Page 98: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

98

// Salto incondicional. NO lo muestro, pero si lo tomo en cuenta para resultados. instruccion++; contador_bl++; } else if (strcmp(OpCode,"blr") == 0){ if (CoverageSymbol == '*'){ porcentaje_total = porcentaje_total +1; porcentaje_cubierto = porcentaje_cubierto +1;} if (CoverageSymbol == '-'){ porcentaje_total = porcentaje_total +1;} // Retorno de subrutina. NO lo muestro, pero si lo tomo en cuenta para resultados. contador_blr++; instruccion++; } else{ // no son instrucciciones de cobertura if (C if (CoverageSymbol == '-'){ porcentaje_total = porcentaje_total +1;} fprintf (f_salida, "\n\t\t Avance a linea %d, dentro de la funcion.", instruccion); instruccion+ encontremos otra nueva fucion, imprimimos los resultados acumulados para la funcion anterior // Resumen intermedio de resultados de cobertura por funcion. porcentaje_total_aux=porcentaje_total-porcentaje_total_aux; porcentaje_cubierto_aux=porcentaje_cubierto-porcentaje_cubierto_aux; porcentaje_ramas_total_aux=porcentaje_ramas_total - porcentaje_ramas_total_aux; porcentaje_ramas_cubierto_aux=porcentaje_ramas_cubierto - porcentaje_ramas_cubierto_aux; // mostramos resultados cobertura fprintf (f_sal resultado_co fprintf(f_salida,"\n\t\t\tPuntos totales: %d ",(int) porcentaje_total_aux); fprintf(f_salida,"\n\t\t\tPuntos cubiertos: %d ",(int) porcentaje_cubierto_aux); fprintf(f_salida,"\n\n\t\t\tEl porcentaje total de cobertura es: %f ",resultado_cobertura_aux); resultado_cobertura_ramas_aux= (porcentaje_ramas_cubierto_aux/porcentaje_ramas_total_aux) *100; fprintf(f_salida,"\n\n\t\t\tPuntos totales de ramas: %d ",(int) porcentaje_ramas_total_aux); fprintf(f_salida,"\n\t\t\tPuntos cubiertos de ramas: %d ",(int) porcentaje_ramas_cubierto_aux); fprintf(f_salida,"\n\n\t\t\tEl porcentaje total de cobertura de ramas es: %f \n\n",resultado_cobertura_ramas_aux);

Page 99: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

99

// Rebobino el puntero y salgo, ya que acabo de encontrar la siguiente funcion. fsetpos(fp,&position); instruccion--; break; } else { fprintf (f_salida, "\n\t\t Avance a linea %d, dentro de la funcion. (no es caracter de cobertura)", instruccion); instruccion } } // el segundo while hasta fin de fichero; } // el del if que fusca por funciones //Resultados de el Informe de Verocode, nos los saltamos //els else { fprintf (f_salida, "\n\n Avance a linea %d!!\n", instruccion); } // SE NECESITA instruccion++; } // // 1.3.- RESUMEN FINAL RESULTADOS fprintf (f_salida, "\t RESUMEN DE ESTADISTICAS \n"); fprintf (f_sal fpri fpri fpri resu fpri fpri fpri fpri

Page 100: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

100

fpri fpri fpri fpri fpri fpri fpri fpri fclose ( fp ); fclose (f_salida); } } return 0; } Resultados Generados

---------------------------------------------------------------------- INFORM ---------------------------------------------------------------------- Avance a linea 0!! Avance a linea 1!! Avance a linea 2!! Avance a linea 3!! Avance a linea 4!!

Page 101: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

101

------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 5.... 20000000 <CREA ------------------------------------------------------------------------- Avance a linea 6, dentro de la funcion. (no es caracter de cobe Avance a linea 7, dentro de la funcion. Avance a linea 8, dentro de la funcion. (no es caracter de cobe Avance a linea 9, dentro de la funcion. Avance a linea 10, dentro de la funcion. (no es caracter de cob Avance a linea 11, dentro de la funcion. Avance a linea 12, dentro de la funcion. (no es caracter de cob Avance a linea 13, dentro de la funcion. Avance a linea 14, dentro de la funcion. (no es caracter de cob Avance a linea 15, dentro de la funcion. Avance a linea 16, dentro de la funcion. (no es caracter de cob Avance a linea 17, dentro de la funcion. Avance a linea 18, dentro de la funcion. (no es caracter de cob Avance a linea 19, dentro de la funcion. (no es caracter de cob RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 20.... 200000e0 <CREA ------------------------------------------------------------------------- Avance a linea 21, dentro de la funcion. Avance a linea 22, dentro de la funcion. Avance a linea 23, dentro de la funcion. Avance a linea 24, dentro de la funcion. (no es caracter de cob Avance a linea 25, dentro de la funcion. (no es caracter de cob RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub

Page 102: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

102

El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 26.... 20000100 <PERI ------------------------------------------------------------------------- Avance a linea 27, dentro de la funcion. Avance a linea 28, dentro de la funcion. Avance a linea 29, dentro de la funcion. Avance a linea 30, dentro de la funcion. (no es caracter de cob Avance a linea 31, dentro de la funcion. (no es caracter de cob RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 32.... 20000120 <SET_ ------------------------------------------------------------------------- Avance a linea 33, dentro de la funcion. Avance a linea 34, dentro de la funcion. Avance a linea 35, dentro de la funcion. Avance a linea 36, dentro de la funcion. (no es caracter de cob Avance a linea 37, dentro de la funcion. (no es caracter de cob RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent

Page 103: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

103

Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 38.... 20000140 <STAR ------------------------------------------------------------------------- Avance a linea 39, dentro de la funcion. Avance a linea 40, dentro de la funcion. Avance a linea 41, dentro de la funcion. Avance a linea 42, dentro de la funcion. (no es caracter de cob Avance a linea 43, dentro de la funcion. (no es caracter de cob RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 44.... 20000160 <STOP ------------------------------------------------------------------------- Avance a linea 45, dentro de la funcion. Avance a linea 46, dentro de la funcion. Avance a linea 47, dentro de la funcion. Avance a linea 48, dentro de la funcion. (no es caracter de cob Avance a linea 49, dentro de la funcion. (no es caracter de cob RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub

Page 104: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

104

El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 50.... 20000180 <fclose ------------------------------------------------------------------------- Avance a linea 51, dentro de la funcion. Avance a linea 52, dentro de la funcion. Avance a linea 53, dentro de la funcion. Avance a linea 54, dentro de la funcion. (no es caracter de cob Avance a linea 55, dentro de la funcion. (no es caracter de cob RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 56.... 200001a0 <fflush ------------------------------------------------------------------------- Avance a linea 57, dentro de la funcion. Avance a linea 58, dentro de la funcion. Avance a linea 59, dentro de la funcion. Avance a linea 60, dentro de la funcion. (no es caracter de cob Avance a linea 61, dentro de la funcion. (no es caracter de cob RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent

Page 105: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

105

------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 62.... 200001c0 <fopen ------------------------------------------------------------------------- Avance a linea 63, dentro de la funcion. Avance a linea 64, dentro de la funcion. Avance a linea 65, dentro de la funcion. Avance a linea 66, dentro de la funcion. (no es caracter de cob Avance a linea 67, dentro de la funcion. (no es caracter de cob RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 68.... 200001e0 <fprint ------------------------------------------------------------------------- Avance a linea 69, dentro de la funcion. Avance a linea 70, dentro de la funcion. Avance a linea 71, dentro de la funcion. Avance a linea 72, dentro de la funcion. (no es caracter de cob Avance a linea 73, dentro de la funcion. (no es caracter de cob RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent

Page 106: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

106

------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 74.... 20000200 <ioctl> ------------------------------------------------------------------------- Avance a linea 75, dentro de la funcion. Avance a linea 76, dentro de la funcion. Avance a linea 77, dentro de la funcion. Avance a linea 78, dentro de la funcion. (no es caracter de cob Avance a linea 79, dentro de la funcion. (no es caracter de cob RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 80.... 20000220 <mem ------------------------------------------------------------------------- Avance a linea 81, dentro de la funcion. Avance a linea 82, dentro de la funcion. Avance a linea 83, dentro de la funcion. Avance a linea 84, dentro de la funcion. (no es caracter de cob Avance a linea 85, dentro de la funcion. (no es caracter de cob RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent -------------------------------------------------------------------------

Page 107: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

107

FUNCION ENCONTRADA en linea 86.... 20000240 <mem ------------------------------------------------------------------------- Avance a linea 87, dentro de la funcion. Avance a linea 88, dentro de la funcion. Avance a linea 89, dentro de la funcion. Avance a linea 90, dentro de la funcion. (no es caracter de cob Avance a linea 91, dentro de la funcion. (no es caracter de cob RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 92.... 20000260 <open> ------------------------------------------------------------------------- Avance a linea 93, dentro de la funcion. Avance a linea 94, dentro de la funcion. Avance a linea 95, dentro de la funcion. Avance a linea 96, dentro de la funcion. (no es caracter de cob Avance a linea 97, dentro de la funcion. (no es caracter de cob RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 98.... 20000280 <printf -------------------------------------------------------------------------

Page 108: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

108

Avance a linea 99, dentro de la funcion. Avance a linea 100, dentro de la funcion. Avance a linea 101, dentro de la funcion. Avance a linea 102, dentro de la funcion. (no es caracter de co Avance a linea 103, dentro de la funcion. (no es caracter de co RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 104.... 200002a0 <read ------------------------------------------------------------------------- Avance a linea 105, dentro de la funcion. Avance a linea 106, dentro de la funcion. Avance a linea 107, dentro de la funcion. Avance a linea 108, dentro de la funcion. (no es caracter de co Avance a linea 109, dentro de la funcion. (no es caracter de co RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 110.... 200002c0 <sdR ------------------------------------------------------------------------- Avance a linea 111, dentro de la funcion. Avance a linea 112, dentro de la funcion.

Page 109: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

109

Avance a linea 113, dentro de la funcion. Avance a linea 114, dentro de la funcion. (no es caracter de co Avance a linea 115, dentro de la funcion. (no es caracter de co RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 116.... 200002e0 <shel ------------------------------------------------------------------------- Avance a linea 117, dentro de la funcion. Avance a linea 118, dentro de la funcion. Avance a linea 119, dentro de la funcion. Avance a linea 120, dentro de la funcion. (no es caracter de co Avance a linea 121, dentro de la funcion. (no es caracter de co RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 122.... 20000300 <spri ------------------------------------------------------------------------- Avance a linea 123, dentro de la funcion. Avance a linea 124, dentro de la funcion. Avance a linea 125, dentro de la funcion. Avance a linea 126, dentro de la funcion. (no es caracter de co

Page 110: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

110

Avance a linea 127, dentro de la funcion. (no es caracter de co RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 128.... 20000320 <task ------------------------------------------------------------------------- Avance a linea 129, dentro de la funcion. Avance a linea 130, dentro de la funcion. Avance a linea 131, dentro de la funcion. Avance a linea 132, dentro de la funcion. (no es caracter de co Avance a linea 133, dentro de la funcion. (no es caracter de co RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 134.... 20000340 <writ ------------------------------------------------------------------------- Avance a linea 135, dentro de la funcion. Avance a linea 136, dentro de la funcion. Avance a linea 137, dentro de la funcion. Avance a linea 138, dentro de la funcion. (no es caracter de co Avance a linea 139, dentro de la funcion. (no es caracter de co

Page 111: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

111

RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 140.... 20000360 <wvE ------------------------------------------------------------------------- Avance a linea 141, dentro de la funcion. Avance a linea 142, dentro de la funcion. Avance a linea 143, dentro de la funcion. (no es caracter de co Avance a linea 144, dentro de la funcion. Avance a linea 145, dentro de la funcion. (no es caracter de co Avance a linea 146, dentro de la funcion. (no es caracter de co Avance a linea 147, dentro de la funcion. (no es caracter de co RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 148.... 20002000 <vTh ------------------------------------------------------------------------- Avance a linea 149, dentro de la funcion. Avance a linea 150, dentro de la funcion. Avance a linea 151, dentro de la funcion. Avance a linea 152, dentro de la funcion. Avance a linea 153, dentro de la funcion. Avance a linea 154, dentro de la funcion.

Page 112: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

112

Avance a linea 155, dentro de la funcion. Avance a linea 157, dentro de la funcion. Avance a linea 158, dentro de la funcion. Avance a linea 159, dentro de la funcion. Avance a linea 160, dentro de la funcion. Avance a linea 161, dentro de la funcion. Avance a linea 163, dentro de la funcion. (no es caracter de co RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 164.... 20002038 <usrC ------------------------------------------------------------------------- Avance a linea 165, dentro de la funcion. Avance a linea 166, dentro de la funcion. Avance a linea 167, dentro de la funcion. Avance a linea 168, dentro de la funcion. Avance a linea 169, dentro de la funcion. Avance a linea 171, dentro de la funcion. Avance a linea 172, dentro de la funcion. Avance a linea 173, dentro de la funcion. Avance a linea 174, dentro de la funcion. Avance a linea 175, dentro de la funcion. Avance a linea 177, dentro de la funcion. (no es caracter de co RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent

Page 113: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

113

------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 178.... 20002068 <vTh ------------------------------------------------------------------------- Avance a linea 179, dentro de la funcion. Avance a linea 180, dentro de la funcion. Avance a linea 181, dentro de la funcion. Avance a linea 182, dentro de la funcion. Avance a linea 183, dentro de la funcion. Avance a linea 186, dentro de la funcion. Avance a linea 187, dentro de la funcion. Avance a linea 188, dentro de la funcion. Avance a linea 189, dentro de la funcion. Avance a linea 190, dentro de la funcion. Avance a linea 192, dentro de la funcion. (no es caracter de co RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 193.... 2000209c <usrR ------------------------------------------------------------------------- Avance a linea 194, dentro de la funcion. Avance a linea 195, dentro de la funcion. Avance a linea 196, dentro de la funcion. Avance a linea 197, dentro de la funcion. Avance a linea 198, dentro de la funcion. Avance a linea 200, dentro de la funcion. Avance a linea 201, dentro de la funcion. Avance a linea 202, dentro de la funcion. Avance a linea 203, dentro de la funcion. Avance a linea 204, dentro de la funcion. Avance a linea 206, dentro de la funcion. (no es caracter de co RESUMEN DE ESTADISTICAS (por funcion) =====================================

Page 114: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

114

Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 207.... 200020cc <usrR ------------------------------------------------------------------------- Avance a linea 208, dentro de la funcion. Avance a linea 209, dentro de la funcion. Avance a linea 210, dentro de la funcion. Avance a linea 211, dentro de la funcion. Avance a linea 212, dentro de la funcion. Avance a linea 213, dentro de la funcion. Avance a linea 215, dentro de la funcion. (no es caracter de co RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 216.... 200020e8 <code ------------------------------------------------------------------------- Avance a linea 217, dentro de la funcion. Avance a linea 218, dentro de la funcion. Avance a linea 219, dentro de la funcion. Avance a linea 220, dentro de la funcion. Avance a linea 221, dentro de la funcion. Avance a linea 222, dentro de la funcion. ----------------

Page 115: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

115

ENCONTRADO BGT ---------------- instruccion: 223 -20002100: 41 81 00 a Salto si mayor que. El caracter de uso corresponde a -. Avance a linea 224, dentro de la funcion. Avance a linea 225, dentro de la funcion. Avance a linea 226, dentro de la funcion. Avance a linea 227, dentro de la funcion. Avance a linea 228, dentro de la funcion. Avance a linea 229, dentro de la funcion. Avance a linea 230, dentro de la funcion. Avance a linea 231, dentro de la funcion. Avance a linea 232, dentro de la funcion. Avance a linea 233, dentro de la funcion. Avance a linea 234, dentro de la funcion. ---------------- ENCONTRADO BCTR ---------------- instruccion: 235 -20002130: 4e 80 04 2 Switch de opciones. El caracter de uso corresponde a -. Avance a linea 236, dentro de la funcion. Avance a linea 237, dentro de la funcion. Avance a linea 238, dentro de la funcion. Avance a linea 239, dentro de la funcion. Avance a linea 240, dentro de la funcion. Avance a linea 241, dentro de la funcion. Avance a linea 242, dentro de la funcion. Avance a linea 243, dentro de la funcion. Avance a linea 244, dentro de la funcion. Avance a linea 245, dentro de la funcion. Avance a linea 246, dentro de la funcion. Avance a linea 247, dentro de la funcion. Avance a linea 248, dentro de la funcion. Avance a linea 249, dentro de la funcion. Avance a linea 250, dentro de la funcion. Avance a linea 251, dentro de la funcion. Avance a linea 252, dentro de la funcion. Avance a linea 253, dentro de la funcion. Avance a linea 254, dentro de la funcion.

Page 116: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

116

Avance a linea 255, dentro de la funcion. Avance a linea 256, dentro de la funcion. Avance a linea 257, dentro de la funcion. Avance a linea 258, dentro de la funcion. Avance a linea 259, dentro de la funcion. Avance a linea 260, dentro de la funcion. Avance a linea 261, dentro de la funcion. Avance a linea 262, dentro de la funcion. Avance a linea 263, dentro de la funcion. Avance a linea 264, dentro de la funcion. Avance a linea 265, dentro de la funcion. Avance a linea 266, dentro de la funcion. Avance a linea 267, dentro de la funcion. Avance a linea 268, dentro de la funcion. Avance a linea 269, dentro de la funcion. Avance a linea 271, dentro de la funcion. (no es caracter de co RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 272.... 200021c0 <InitR ------------------------------------------------------------------------- Avance a linea 273, dentro de la funcion. Avance a linea 274, dentro de la funcion. Avance a linea 275, dentro de la funcion. Avance a linea 276, dentro de la funcion. Avance a linea 277, dentro de la funcion. Avance a linea 278, dentro de la funcion. Avance a linea 279, dentro de la funcion. Avance a linea 280, dentro de la funcion. Avance a linea 281, dentro de la funcion. Avance a linea 282, dentro de la funcion. Avance a linea 283, dentro de la funcion. Avance a linea 284, dentro de la funcion. Avance a linea 285, dentro de la funcion. Avance a linea 286, dentro de la funcion. Avance a linea 287, dentro de la funcion.

Page 117: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

117

Avance a linea 288, dentro de la funcion. Avance a linea 289, dentro de la funcion. Avance a linea 290, dentro de la funcion. Avance a linea 291, dentro de la funcion. Avance a linea 292, dentro de la funcion. Avance a linea 294, dentro de la funcion. Avance a linea 295, dentro de la funcion. Avance a linea 296, dentro de la funcion. Avance a linea 297, dentro de la funcion. Avance a linea 298, dentro de la funcion. Avance a linea 299, dentro de la funcion. ---------------- ENCONTRADO BLE ---------------- instruccion: 300 -2000222c: 40 81 00 0 Salto si menor o igual. El caracter de uso corresponde a -. Avance a linea 301, dentro de la funcion. Avance a linea 302, dentro de la funcion. Avance a linea 303, dentro de la funcion. Avance a linea 304, dentro de la funcion. Avance a linea 305, dentro de la funcion. Avance a linea 306, dentro de la funcion. Avance a linea 307, dentro de la funcion. Avance a linea 308, dentro de la funcion. Avance a linea 309, dentro de la funcion. Avance a linea 310, dentro de la funcion. Avance a linea 311, dentro de la funcion. Avance a linea 312, dentro de la funcion. Avance a linea 313, dentro de la funcion. Avance a linea 314, dentro de la funcion. Avance a linea 315, dentro de la funcion. Avance a linea 316, dentro de la funcion. Avance a linea 317, dentro de la funcion. Avance a linea 318, dentro de la funcion. Avance a linea 320, dentro de la funcion. Avance a linea 321, dentro de la funcion. Avance a linea 322, dentro de la funcion. Avance a linea 323, dentro de la funcion. Avance a linea 324, dentro de la funcion. Avance a linea 325, dentro de la funcion. Avance a linea 326, dentro de la funcion. Avance a linea 327, dentro de la funcion. Avance a linea 328, dentro de la funcion. Avance a linea 329, dentro de la funcion.

Page 118: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

118

Avance a linea 330, dentro de la funcion. Avance a linea 331, dentro de la funcion. Avance a linea 333, dentro de la funcion. Avance a linea 334, dentro de la funcion. Avance a linea 335, dentro de la funcion. Avance a linea 336, dentro de la funcion. Avance a linea 337, dentro de la funcion. Avance a linea 338, dentro de la funcion. Avance a linea 340, dentro de la funcion. Avance a linea 342, dentro de la funcion. Avance a linea 343, dentro de la funcion. Avance a linea 344, dentro de la funcion. Avance a linea 345, dentro de la funcion. Avance a linea 346, dentro de la funcion. Avance a linea 347, dentro de la funcion. Avance a linea 348, dentro de la funcion. Avance a linea 349, dentro de la funcion. Avance a linea 350, dentro de la funcion. Avance a linea 351, dentro de la funcion. Avance a linea 352, dentro de la funcion. Avance a linea 353, dentro de la funcion. Avance a linea 354, dentro de la funcion. Avance a linea 355, dentro de la funcion. Avance a linea 357, dentro de la funcion. Avance a linea 358, dentro de la funcion. Avance a linea 359, dentro de la funcion. Avance a linea 360, dentro de la funcion. Avance a linea 361, dentro de la funcion. Avance a linea 362, dentro de la funcion. Avance a linea 364, dentro de la funcion. Avance a linea 365, dentro de la funcion. Avance a linea 366, dentro de la funcion. Avance a linea 368, dentro de la funcion. Avance a linea 370, dentro de la funcion. Avance a linea 371, dentro de la funcion. Avance a linea 372, dentro de la funcion. Avance a linea 373, dentro de la funcion. Avance a linea 374, dentro de la funcion. Avance a linea 375, dentro de la funcion. Avance a linea 376, dentro de la funcion. Avance a linea 377, dentro de la funcion. Avance a linea 378, dentro de la funcion. Avance a linea 379, dentro de la funcion. Avance a linea 380, dentro de la funcion. Avance a linea 381, dentro de la funcion. Avance a linea 383, dentro de la funcion. Avance a linea 384, dentro de la funcion. Avance a linea 385, dentro de la funcion. Avance a linea 386, dentro de la funcion. Avance a linea 387, dentro de la funcion.

Page 119: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

119

Avance a linea 388, dentro de la funcion. Avance a linea 390, dentro de la funcion. Avance a linea 392, dentro de la funcion. Avance a linea 393, dentro de la funcion. Avance a linea 394, dentro de la funcion. Avance a linea 395, dentro de la funcion. Avance a linea 396, dentro de la funcion. Avance a linea 397, dentro de la funcion. Avance a linea 398, dentro de la funcion. Avance a linea 399, dentro de la funcion. Avance a linea 400, dentro de la funcion. Avance a linea 401, dentro de la funcion. Avance a linea 402, dentro de la funcion. Avance a linea 403, dentro de la funcion. Avance a linea 404, dentro de la funcion. Avance a linea 406, dentro de la funcion. Avance a linea 407, dentro de la funcion. Avance a linea 408, dentro de la funcion. Avance a linea 409, dentro de la funcion. Avance a linea 410, dentro de la funcion. Avance a linea 411, dentro de la funcion. Avance a linea 412, dentro de la funcion. Avance a linea 413, dentro de la funcion. Avance a linea 414, dentro de la funcion. Avance a linea 415, dentro de la funcion. Avance a linea 417, dentro de la funcion. Avance a linea 418, dentro de la funcion. Avance a linea 419, dentro de la funcion. Avance a linea 420, dentro de la funcion. ---------------- ENCONTRADO BLE ---------------- instruccion: 421 -20002410: 40 81 00 0 Salto si menor o igual. El caracter de uso corresponde a -. Avance a linea 422, dentro de la funcion. Avance a linea 423, dentro de la funcion. Avance a linea 424, dentro de la funcion. Avance a linea 425, dentro de la funcion. Avance a linea 426, dentro de la funcion. Avance a linea 427, dentro de la funcion. ---------------- ENCONTRADO BNE --------------

Page 120: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

120

instruccion: 428 -2000242c: 40 82 00 0 Salto Local Condicional no igual. El caracter de uso corresponde a -. Avance a linea 429, dentro de la funcion. Avance a linea 430, dentro de la funcion. Avance a linea 431, dentro de la funcion. Avance a linea 432, dentro de la funcion. Avance a linea 433, dentro de la funcion. Avance a linea 434, dentro de la funcion. Avance a linea 435, dentro de la funcion. Avance a linea 436, dentro de la funcion. Avance a linea 437, dentro de la funcion. Avance a linea 439, dentro de la funcion. Avance a linea 440, dentro de la funcion. Avance a linea 441, dentro de la funcion. Avance a linea 442, dentro de la funcion. Avance a linea 443, dentro de la funcion. Avance a linea 444, dentro de la funcion. Avance a linea 445, dentro de la funcion. Avance a linea 447, dentro de la funcion. Avance a linea 448, dentro de la funcion. Avance a linea 449, dentro de la funcion. Avance a linea 450, dentro de la funcion. Avance a linea 451, dentro de la funcion. Avance a linea 452, dentro de la funcion. Avance a linea 453, dentro de la funcion. Avance a linea 455, dentro de la funcion. Avance a linea 456, dentro de la funcion. Avance a linea 457, dentro de la funcion. Avance a linea 458, dentro de la funcion. Avance a linea 460, dentro de la funcion. Avance a linea 461, dentro de la funcion. Avance a linea 462, dentro de la funcion. Avance a linea 463, dentro de la funcion. Avance a linea 464, dentro de la funcion. Avance a linea 466, dentro de la funcion. Avance a linea 467, dentro de la funcion. Avance a linea 468, dentro de la funcion. Avance a linea 469, dentro de la funcion. Avance a linea 471, dentro de la funcion. Avance a linea 472, dentro de la funcion. Avance a linea 473, dentro de la funcion. Avance a linea 474, dentro de la funcion. Avance a linea 475, dentro de la funcion. Avance a linea 477, dentro de la funcion. Avance a linea 478, dentro de la funcion.

Page 121: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

121

Avance a linea 479, dentro de la funcion. Avance a linea 480, dentro de la funcion. Avance a linea 481, dentro de la funcion. Avance a linea 482, dentro de la funcion. Avance a linea 483, dentro de la funcion. Avance a linea 484, dentro de la funcion. Avance a linea 485, dentro de la funcion. Avance a linea 487, dentro de la funcion. (no es caracter de co RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 488.... 20002518 <rt_O ------------------------------------------------------------------------- Avance a linea 489, dentro de la funcion. Avance a linea 490, dentro de la funcion. Avance a linea 491, dentro de la funcion. Avance a linea 492, dentro de la funcion. Avance a linea 493, dentro de la funcion. Avance a linea 494, dentro de la funcion. Avance a linea 495, dentro de la funcion. Avance a linea 497, dentro de la funcion. Avance a linea 498, dentro de la funcion. Avance a linea 499, dentro de la funcion. Avance a linea 501, dentro de la funcion. Avance a linea 502, dentro de la funcion. Avance a linea 503, dentro de la funcion. Avance a linea 504, dentro de la funcion. Avance a linea 505, dentro de la funcion. Avance a linea 506, dentro de la funcion. Avance a linea 507, dentro de la funcion. Avance a linea 508, dentro de la funcion. Avance a linea 509, dentro de la funcion. Avance a linea 510, dentro de la funcion. Avance a linea 511, dentro de la funcion. Avance a linea 512, dentro de la funcion. Avance a linea 513, dentro de la funcion.

Page 122: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

122

Avance a linea 514, dentro de la funcion. Avance a linea 515, dentro de la funcion. Avance a linea 516, dentro de la funcion. Avance a linea 517, dentro de la funcion. Avance a linea 518, dentro de la funcion. Avance a linea 520, dentro de la funcion. Avance a linea 521, dentro de la funcion. Avance a linea 522, dentro de la funcion. Avance a linea 523, dentro de la funcion. ---------------- ENCONTRADO BLE ---------------- instruccion: 524 -200025a4: 40 81 00 0 Salto si menor o igual. El caracter de uso corresponde a -. Avance a linea 525, dentro de la funcion. Avance a linea 526, dentro de la funcion. Avance a linea 527, dentro de la funcion. Avance a linea 528, dentro de la funcion. Avance a linea 529, dentro de la funcion. Avance a linea 530, dentro de la funcion. ---------------- ENCONTRADO BNE -------------- instruccion: 531 -200025c0: 40 82 00 0 Salto Local Condicional no igual. El caracter de uso corresponde a -. Avance a linea 532, dentro de la funcion. Avance a linea 533, dentro de la funcion. Avance a linea 534, dentro de la funcion. Avance a linea 535, dentro de la funcion. Avance a linea 536, dentro de la funcion. Avance a linea 537, dentro de la funcion. Avance a linea 538, dentro de la funcion. Avance a linea 539, dentro de la funcion. Avance a linea 540, dentro de la funcion. Avance a linea 542, dentro de la funcion. Avance a linea 543, dentro de la funcion. Avance a linea 544, dentro de la funcion. Avance a linea 545, dentro de la funcion.

Page 123: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

123

Avance a linea 546, dentro de la funcion. Avance a linea 547, dentro de la funcion. Avance a linea 548, dentro de la funcion. Avance a linea 549, dentro de la funcion. Avance a linea 550, dentro de la funcion. Avance a linea 551, dentro de la funcion. Avance a linea 554, dentro de la funcion. Avance a linea 555, dentro de la funcion. Avance a linea 556, dentro de la funcion. Avance a linea 557, dentro de la funcion. Avance a linea 559, dentro de la funcion. Avance a linea 560, dentro de la funcion. Avance a linea 561, dentro de la funcion. Avance a linea 562, dentro de la funcion. Avance a linea 563, dentro de la funcion. Avance a linea 564, dentro de la funcion. Avance a linea 565, dentro de la funcion. Avance a linea 566, dentro de la funcion. Avance a linea 567, dentro de la funcion. Avance a linea 568, dentro de la funcion. Avance a linea 569, dentro de la funcion. Avance a linea 570, dentro de la funcion. Avance a linea 572, dentro de la funcion. (no es caracter de co RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 573.... 20002664 <Run ------------------------------------------------------------------------- Avance a linea 574, dentro de la funcion. Avance a linea 575, dentro de la funcion. Avance a linea 576, dentro de la funcion. Avance a linea 577, dentro de la funcion. Avance a linea 578, dentro de la funcion. Avance a linea 579, dentro de la funcion. Avance a linea 580, dentro de la funcion. Avance a linea 582, dentro de la funcion.

Page 124: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

124

Avance a linea 583, dentro de la funcion. Avance a linea 584, dentro de la funcion. Avance a linea 585, dentro de la funcion. Avance a linea 587, dentro de la funcion. Avance a linea 588, dentro de la funcion. Avance a linea 591, dentro de la funcion. Avance a linea 592, dentro de la funcion. Avance a linea 593, dentro de la funcion. Avance a linea 594, dentro de la funcion. ---------------- ENCONTRADO BNE -------------- instruccion: 595 <200026b8: 40 82 00 5 Salto Local Condicional no igual. El caracter de uso corresponde a <. Avance a linea 596, dentro de la funcion. Avance a linea 597, dentro de la funcion. Avance a linea 598, dentro de la funcion. Avance a linea 599, dentro de la funcion. Avance a linea 600, dentro de la funcion. Avance a linea 601, dentro de la funcion. Avance a linea 602, dentro de la funcion. Avance a linea 603, dentro de la funcion. Avance a linea 604, dentro de la funcion. Avance a linea 605, dentro de la funcion. Avance a linea 606, dentro de la funcion. Avance a linea 607, dentro de la funcion. Avance a linea 608, dentro de la funcion. Avance a linea 609, dentro de la funcion. Avance a linea 610, dentro de la funcion. Avance a linea 611, dentro de la funcion. Avance a linea 612, dentro de la funcion. Avance a linea 613, dentro de la funcion. Avance a linea 614, dentro de la funcion. Avance a linea 615, dentro de la funcion. Avance a linea 616, dentro de la funcion. Avance a linea 617, dentro de la funcion. Avance a linea 619, dentro de la funcion. Avance a linea 620, dentro de la funcion. Avance a linea 621, dentro de la funcion. Avance a linea 622, dentro de la funcion. Avance a linea 623, dentro de la funcion. Avance a linea 624, dentro de la funcion. Avance a linea 625, dentro de la funcion. Avance a linea 627, dentro de la funcion.

Page 125: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

125

Avance a linea 628, dentro de la funcion. Avance a linea 629, dentro de la funcion. Avance a linea 630, dentro de la funcion. ---------------- ENCONTRADO BLE ---------------- instruccion: 631 >20002748: 40 81 00 0 Salto si menor o igual. El caracter de uso corresponde a >. Avance a linea 632, dentro de la funcion. Avance a linea 633, dentro de la funcion. Avance a linea 634, dentro de la funcion. Avance a linea 635, dentro de la funcion. Avance a linea 636, dentro de la funcion. Avance a linea 637, dentro de la funcion. ---------------- ENCONTRADO BNE -------------- instruccion: 638 *20002764: 40 82 00 0 Salto Local Condicional no igual. El caracter de uso corresponde a *. Avance a linea 639, dentro de la funcion. Avance a linea 640, dentro de la funcion. Avance a linea 641, dentro de la funcion. Avance a linea 642, dentro de la funcion. Avance a linea 643, dentro de la funcion. Avance a linea 644, dentro de la funcion. Avance a linea 645, dentro de la funcion. Avance a linea 646, dentro de la funcion. Avance a linea 647, dentro de la funcion. Avance a linea 650, dentro de la funcion. Avance a linea 651, dentro de la funcion. Avance a linea 652, dentro de la funcion. Avance a linea 653, dentro de la funcion. Avance a linea 654, dentro de la funcion. Avance a linea 655, dentro de la funcion. Avance a linea 656, dentro de la funcion. Avance a linea 658, dentro de la funcion. Avance a linea 659, dentro de la funcion. Avance a linea 660, dentro de la funcion.

Page 126: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

126

Avance a linea 663, dentro de la funcion. Avance a linea 664, dentro de la funcion. Avance a linea 665, dentro de la funcion. Avance a linea 667, dentro de la funcion. Avance a linea 668, dentro de la funcion. Avance a linea 669, dentro de la funcion. Avance a linea 670, dentro de la funcion. Avance a linea 672, dentro de la funcion. Avance a linea 673, dentro de la funcion. Avance a linea 674, dentro de la funcion. Avance a linea 675, dentro de la funcion. Avance a linea 676, dentro de la funcion. Avance a linea 677, dentro de la funcion. Avance a linea 678, dentro de la funcion. Avance a linea 679, dentro de la funcion. Avance a linea 681, dentro de la funcion. Avance a linea 684, dentro de la funcion. Avance a linea 685, dentro de la funcion. Avance a linea 686, dentro de la funcion. Avance a linea 687, dentro de la funcion. Avance a linea 688, dentro de la funcion. Avance a linea 690, dentro de la funcion. (no es caracter de co RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 691.... 20002834 <Run ------------------------------------------------------------------------- Avance a linea 692, dentro de la funcion. Avance a linea 693, dentro de la funcion. Avance a linea 694, dentro de la funcion. Avance a linea 695, dentro de la funcion. Avance a linea 696, dentro de la funcion. Avance a linea 697, dentro de la funcion. Avance a linea 698, dentro de la funcion. Avance a linea 699, dentro de la funcion. Avance a linea 700, dentro de la funcion.

Page 127: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

127

Avance a linea 701, dentro de la funcion. Avance a linea 702, dentro de la funcion. Avance a linea 703, dentro de la funcion. Avance a linea 704, dentro de la funcion. Avance a linea 705, dentro de la funcion. Avance a linea 706, dentro de la funcion. Avance a linea 707, dentro de la funcion. Avance a linea 708, dentro de la funcion. Avance a linea 709, dentro de la funcion. Avance a linea 710, dentro de la funcion. Avance a linea 711, dentro de la funcion. Avance a linea 712, dentro de la funcion. Avance a linea 713, dentro de la funcion. Avance a linea 714, dentro de la funcion. Avance a linea 715, dentro de la funcion. Avance a linea 716, dentro de la funcion. Avance a linea 717, dentro de la funcion. Avance a linea 718, dentro de la funcion. Avance a linea 719, dentro de la funcion. Avance a linea 720, dentro de la funcion. Avance a linea 721, dentro de la funcion. Avance a linea 722, dentro de la funcion. Avance a linea 723, dentro de la funcion. Avance a linea 724, dentro de la funcion. Avance a linea 725, dentro de la funcion. Avance a linea 726, dentro de la funcion. Avance a linea 727, dentro de la funcion. Avance a linea 728, dentro de la funcion. Avance a linea 729, dentro de la funcion. Avance a linea 730, dentro de la funcion. Avance a linea 731, dentro de la funcion. Avance a linea 732, dentro de la funcion. Avance a linea 733, dentro de la funcion. Avance a linea 734, dentro de la funcion. Avance a linea 735, dentro de la funcion. Avance a linea 736, dentro de la funcion. Avance a linea 737, dentro de la funcion. Avance a linea 738, dentro de la funcion. Avance a linea 739, dentro de la funcion. Avance a linea 740, dentro de la funcion. Avance a linea 741, dentro de la funcion. Avance a linea 742, dentro de la funcion. Avance a linea 743, dentro de la funcion. Avance a linea 744, dentro de la funcion. Avance a linea 745, dentro de la funcion. ---------------- ENCONTRADO BLE ----------------

Page 128: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

128

instruccion: 746 *2000290c: 40 81 00 0 Salto si menor o igual. El caracter de uso corresponde a *. Avance a linea 747, dentro de la funcion. Avance a linea 748, dentro de la funcion. Avance a linea 749, dentro de la funcion. Avance a linea 750, dentro de la funcion. Avance a linea 751, dentro de la funcion. Avance a linea 752, dentro de la funcion. Avance a linea 753, dentro de la funcion. Avance a linea 754, dentro de la funcion. Avance a linea 755, dentro de la funcion. Avance a linea 756, dentro de la funcion. Avance a linea 757, dentro de la funcion. Avance a linea 758, dentro de la funcion. Avance a linea 759, dentro de la funcion. Avance a linea 760, dentro de la funcion. Avance a linea 761, dentro de la funcion. Avance a linea 762, dentro de la funcion. Avance a linea 763, dentro de la funcion. Avance a linea 764, dentro de la funcion. Avance a linea 765, dentro de la funcion. Avance a linea 766, dentro de la funcion. Avance a linea 767, dentro de la funcion. Avance a linea 768, dentro de la funcion. Avance a linea 769, dentro de la funcion. Avance a linea 770, dentro de la funcion. Avance a linea 771, dentro de la funcion. Avance a linea 772, dentro de la funcion. Avance a linea 773, dentro de la funcion. Avance a linea 774, dentro de la funcion. Avance a linea 775, dentro de la funcion. Avance a linea 776, dentro de la funcion. Avance a linea 777, dentro de la funcion. Avance a linea 778, dentro de la funcion. Avance a linea 779, dentro de la funcion. Avance a linea 780, dentro de la funcion. Avance a linea 781, dentro de la funcion. Avance a linea 782, dentro de la funcion. Avance a linea 783, dentro de la funcion. Avance a linea 784, dentro de la funcion. Avance a linea 785, dentro de la funcion. Avance a linea 786, dentro de la funcion. Avance a linea 787, dentro de la funcion. Avance a linea 788, dentro de la funcion. Avance a linea 789, dentro de la funcion. Avance a linea 790, dentro de la funcion.

Page 129: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

129

Avance a linea 791, dentro de la funcion. ---------------- ENCONTRADO BGE ---------------- instruccion: 792 >200029c4: 40 80 00 4 Salto si mayor o igual. El caracter de uso corresponde a >. Avance a linea 793, dentro de la funcion. Avance a linea 794, dentro de la funcion. Avance a linea 795, dentro de la funcion. Avance a linea 796, dentro de la funcion. Avance a linea 797, dentro de la funcion. Avance a linea 798, dentro de la funcion. Avance a linea 799, dentro de la funcion. Avance a linea 800, dentro de la funcion. ---------------- ENCONTRADO BLT ---------------- instruccion: 801 -200029e8: 41 80 00 0 Salto si menor que. El caracter de uso corresponde a -. Avance a linea 802, dentro de la funcion. Avance a linea 803, dentro de la funcion. Avance a linea 804, dentro de la funcion. Avance a linea 805, dentro de la funcion. Avance a linea 806, dentro de la funcion. Avance a linea 807, dentro de la funcion. Avance a linea 808, dentro de la funcion. Avance a linea 809, dentro de la funcion. Avance a linea 810, dentro de la funcion. Avance a linea 811, dentro de la funcion. Avance a linea 812, dentro de la funcion. Avance a linea 813, dentro de la funcion. Avance a linea 814, dentro de la funcion. Avance a linea 815, dentro de la funcion. Avance a linea 816, dentro de la funcion. Avance a linea 817, dentro de la funcion. Avance a linea 818, dentro de la funcion.

Page 130: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

130

Avance a linea 819, dentro de la funcion. Avance a linea 820, dentro de la funcion. Avance a linea 821, dentro de la funcion. Avance a linea 822, dentro de la funcion. Avance a linea 823, dentro de la funcion. Avance a linea 824, dentro de la funcion. Avance a linea 825, dentro de la funcion. Avance a linea 826, dentro de la funcion. Avance a linea 827, dentro de la funcion. Avance a linea 828, dentro de la funcion. Avance a linea 829, dentro de la funcion. Avance a linea 830, dentro de la funcion. Avance a linea 831, dentro de la funcion. Avance a linea 832, dentro de la funcion. Avance a linea 833, dentro de la funcion. Avance a linea 834, dentro de la funcion. Avance a linea 835, dentro de la funcion. Avance a linea 836, dentro de la funcion. Avance a linea 837, dentro de la funcion. Avance a linea 838, dentro de la funcion. Avance a linea 839, dentro de la funcion. Avance a linea 840, dentro de la funcion. Avance a linea 841, dentro de la funcion. Avance a linea 842, dentro de la funcion. Avance a linea 843, dentro de la funcion. Avance a linea 844, dentro de la funcion. Avance a linea 845, dentro de la funcion. ---------------- ENCONTRADO BNE -------------- instruccion: 846 >20002a9c: 40 82 00 f8 Salto Local Condicional no igual. El caracter de uso corresponde a >. Avance a linea 847, dentro de la funcion. Avance a linea 848, dentro de la funcion. Avance a linea 849, dentro de la funcion. ---------------- ENCONTRADO BGE ---------------- instruccion: 850 -20002aac: 40 80 00 7 Salto si mayor o igual. El caracter de uso corresponde a -.

Page 131: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

131

Avance a linea 851, dentro de la funcion. Avance a linea 852, dentro de la funcion. Avance a linea 853, dentro de la funcion. Avance a linea 854, dentro de la funcion. Avance a linea 855, dentro de la funcion. Avance a linea 856, dentro de la funcion. ---------------- ENCONTRADO BLE ---------------- instruccion: 857 -20002ac8: 40 81 00 0 Salto si menor o igual. El caracter de uso corresponde a -. Avance a linea 858, dentro de la funcion. Avance a linea 859, dentro de la funcion. Avance a linea 860, dentro de la funcion. Avance a linea 861, dentro de la funcion. Avance a linea 862, dentro de la funcion. Avance a linea 863, dentro de la funcion. Avance a linea 864, dentro de la funcion. Avance a linea 865, dentro de la funcion. Avance a linea 866, dentro de la funcion. Avance a linea 867, dentro de la funcion. Avance a linea 868, dentro de la funcion. Avance a linea 869, dentro de la funcion. Avance a linea 870, dentro de la funcion. Avance a linea 871, dentro de la funcion. Avance a linea 872, dentro de la funcion. Avance a linea 873, dentro de la funcion. Avance a linea 874, dentro de la funcion. Avance a linea 875, dentro de la funcion. Avance a linea 876, dentro de la funcion. Avance a linea 877, dentro de la funcion. Avance a linea 878, dentro de la funcion. Avance a linea 879, dentro de la funcion. Avance a linea 880, dentro de la funcion. Avance a linea 881, dentro de la funcion. Avance a linea 882, dentro de la funcion. Avance a linea 883, dentro de la funcion. Avance a linea 884, dentro de la funcion. ---------------- ENCONTRADO BLE ----------------

Page 132: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

132

instruccion: 885 -20002b38: 40 81 00 0 Salto si menor o igual. El caracter de uso corresponde a -. Avance a linea 886, dentro de la funcion. Avance a linea 887, dentro de la funcion. Avance a linea 888, dentro de la funcion. Avance a linea 889, dentro de la funcion. Avance a linea 890, dentro de la funcion. Avance a linea 891, dentro de la funcion. Avance a linea 892, dentro de la funcion. Avance a linea 893, dentro de la funcion. Avance a linea 894, dentro de la funcion. Avance a linea 895, dentro de la funcion. Avance a linea 896, dentro de la funcion. Avance a linea 897, dentro de la funcion. Avance a linea 898, dentro de la funcion. Avance a linea 899, dentro de la funcion. Avance a linea 900, dentro de la funcion. Avance a linea 901, dentro de la funcion. Avance a linea 902, dentro de la funcion. Avance a linea 903, dentro de la funcion. Avance a linea 904, dentro de la funcion. Avance a linea 905, dentro de la funcion. Avance a linea 906, dentro de la funcion. Avance a linea 907, dentro de la funcion. Avance a linea 908, dentro de la funcion. Avance a linea 909, dentro de la funcion. Avance a linea 910, dentro de la funcion. Avance a linea 911, dentro de la funcion. Avance a linea 912, dentro de la funcion. Avance a linea 913, dentro de la funcion. Avance a linea 914, dentro de la funcion. Avance a linea 915, dentro de la funcion. Avance a linea 916, dentro de la funcion. Avance a linea 917, dentro de la funcion. Avance a linea 918, dentro de la funcion. Avance a linea 919, dentro de la funcion. Avance a linea 920, dentro de la funcion. Avance a linea 921, dentro de la funcion. Avance a linea 922, dentro de la funcion. Avance a linea 923, dentro de la funcion. Avance a linea 924, dentro de la funcion. Avance a linea 925, dentro de la funcion. Avance a linea 926, dentro de la funcion. Avance a linea 927, dentro de la funcion. Avance a linea 928, dentro de la funcion.

Page 133: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

133

Avance a linea 929, dentro de la funcion. ---------------- ENCONTRADO BLE ---------------- instruccion: 930 *20002bec: 40 81 00 0 Salto si menor o igual. El caracter de uso corresponde a *. Avance a linea 931, dentro de la funcion. Avance a linea 932, dentro de la funcion. Avance a linea 933, dentro de la funcion. Avance a linea 934, dentro de la funcion. Avance a linea 935, dentro de la funcion. Avance a linea 936, dentro de la funcion. Avance a linea 937, dentro de la funcion. Avance a linea 938, dentro de la funcion. Avance a linea 939, dentro de la funcion. Avance a linea 940, dentro de la funcion. Avance a linea 941, dentro de la funcion. Avance a linea 942, dentro de la funcion. Avance a linea 943, dentro de la funcion. Avance a linea 944, dentro de la funcion. Avance a linea 945, dentro de la funcion. Avance a linea 946, dentro de la funcion. Avance a linea 947, dentro de la funcion. Avance a linea 948, dentro de la funcion. Avance a linea 949, dentro de la funcion. Avance a linea 950, dentro de la funcion. Avance a linea 951, dentro de la funcion. Avance a linea 952, dentro de la funcion. Avance a linea 953, dentro de la funcion. Avance a linea 954, dentro de la funcion. Avance a linea 955, dentro de la funcion. Avance a linea 956, dentro de la funcion. Avance a linea 957, dentro de la funcion. Avance a linea 958, dentro de la funcion. Avance a linea 959, dentro de la funcion. Avance a linea 960, dentro de la funcion. Avance a linea 961, dentro de la funcion. Avance a linea 962, dentro de la funcion. Avance a linea 963, dentro de la funcion. Avance a linea 964, dentro de la funcion. Avance a linea 965, dentro de la funcion. Avance a linea 966, dentro de la funcion. Avance a linea 967, dentro de la funcion. Avance a linea 968, dentro de la funcion.

Page 134: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

134

Avance a linea 969, dentro de la funcion. Avance a linea 970, dentro de la funcion. Avance a linea 971, dentro de la funcion. Avance a linea 972, dentro de la funcion. Avance a linea 973, dentro de la funcion. Avance a linea 974, dentro de la funcion. Avance a linea 975, dentro de la funcion. Avance a linea 976, dentro de la funcion. Avance a linea 977, dentro de la funcion. Avance a linea 978, dentro de la funcion. Avance a linea 979, dentro de la funcion. Avance a linea 980, dentro de la funcion. Avance a linea 981, dentro de la funcion. Avance a linea 982, dentro de la funcion. Avance a linea 983, dentro de la funcion. Avance a linea 984, dentro de la funcion. Avance a linea 985, dentro de la funcion. Avance a linea 986, dentro de la funcion. Avance a linea 987, dentro de la funcion. Avance a linea 988, dentro de la funcion. Avance a linea 989, dentro de la funcion. Avance a linea 990, dentro de la funcion. ---------------- ENCONTRADO BLE ---------------- instruccion: 991 >20002ce0: 40 81 00 1 Salto si menor o igual. El caracter de uso corresponde a >. Avance a linea 992, dentro de la funcion. Avance a linea 993, dentro de la funcion. Avance a linea 994, dentro de la funcion. Avance a linea 995, dentro de la funcion. Avance a linea 996, dentro de la funcion. Avance a linea 997, dentro de la funcion. Avance a linea 998, dentro de la funcion. Avance a linea 999, dentro de la funcion. Avance a linea 1000, dentro de la funcion. Avance a linea 1001, dentro de la funcion. Avance a linea 1002, dentro de la funcion. Avance a linea 1003, dentro de la funcion. Avance a linea 1004, dentro de la funcion. Avance a linea 1005, dentro de la funcion. Avance a linea 1006, dentro de la funcion. Avance a linea 1007, dentro de la funcion. Avance a linea 1008, dentro de la funcion.

Page 135: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

135

Avance a linea 1009, dentro de la funcion. Avance a linea 1010, dentro de la funcion. Avance a linea 1011, dentro de la funcion. Avance a linea 1012, dentro de la funcion. Avance a linea 1013, dentro de la funcion. Avance a linea 1014, dentro de la funcion. Avance a linea 1015, dentro de la funcion. Avance a linea 1016, dentro de la funcion. Avance a linea 1017, dentro de la funcion. Avance a linea 1018, dentro de la funcion. Avance a linea 1019, dentro de la funcion. Avance a linea 1020, dentro de la funcion. Avance a linea 1021, dentro de la funcion. Avance a linea 1022, dentro de la funcion. Avance a linea 1023, dentro de la funcion. Avance a linea 1024, dentro de la funcion. Avance a linea 1025, dentro de la funcion. Avance a linea 1026, dentro de la funcion. Avance a linea 1027, dentro de la funcion. Avance a linea 1028, dentro de la funcion. Avance a linea 1029, dentro de la funcion. Avance a linea 1030, dentro de la funcion. Avance a linea 1031, dentro de la funcion. Avance a linea 1032, dentro de la funcion. Avance a linea 1033, dentro de la funcion. Avance a linea 1034, dentro de la funcion. Avance a linea 1035, dentro de la funcion. Avance a linea 1036, dentro de la funcion. Avance a linea 1037, dentro de la funcion. Avance a linea 1038, dentro de la funcion. Avance a linea 1039, dentro de la funcion. Avance a linea 1040, dentro de la funcion. Avance a linea 1041, dentro de la funcion. Avance a linea 1042, dentro de la funcion. Avance a linea 1043, dentro de la funcion. Avance a linea 1044, dentro de la funcion. Avance a linea 1045, dentro de la funcion. Avance a linea 1046, dentro de la funcion. Avance a linea 1047, dentro de la funcion. Avance a linea 1048, dentro de la funcion. Avance a linea 1049, dentro de la funcion. Avance a linea 1050, dentro de la funcion. Avance a linea 1051, dentro de la funcion. Avance a linea 1052, dentro de la funcion. Avance a linea 1053, dentro de la funcion. Avance a linea 1054, dentro de la funcion. Avance a linea 1055, dentro de la funcion. Avance a linea 1056, dentro de la funcion. Avance a linea 1057, dentro de la funcion. Avance a linea 1058, dentro de la funcion.

Page 136: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

136

Avance a linea 1059, dentro de la funcion. Avance a linea 1060, dentro de la funcion. Avance a linea 1061, dentro de la funcion. Avance a linea 1062, dentro de la funcion. Avance a linea 1063, dentro de la funcion. Avance a linea 1064, dentro de la funcion. Avance a linea 1065, dentro de la funcion. Avance a linea 1066, dentro de la funcion. Avance a linea 1067, dentro de la funcion. Avance a linea 1068, dentro de la funcion. Avance a linea 1069, dentro de la funcion. Avance a linea 1070, dentro de la funcion. Avance a linea 1071, dentro de la funcion. Avance a linea 1072, dentro de la funcion. Avance a linea 1073, dentro de la funcion. Avance a linea 1074, dentro de la funcion. Avance a linea 1075, dentro de la funcion. Avance a linea 1076, dentro de la funcion. Avance a linea 1077, dentro de la funcion. Avance a linea 1078, dentro de la funcion. Avance a linea 1079, dentro de la funcion. Avance a linea 1080, dentro de la funcion. Avance a linea 1081, dentro de la funcion. Avance a linea 1082, dentro de la funcion. Avance a linea 1083, dentro de la funcion. Avance a linea 1084, dentro de la funcion. Avance a linea 1085, dentro de la funcion. Avance a linea 1086, dentro de la funcion. Avance a linea 1087, dentro de la funcion. Avance a linea 1088, dentro de la funcion. Avance a linea 1089, dentro de la funcion. Avance a linea 1090, dentro de la funcion. Avance a linea 1091, dentro de la funcion. Avance a linea 1092, dentro de la funcion. Avance a linea 1093, dentro de la funcion. Avance a linea 1094, dentro de la funcion. Avance a linea 1095, dentro de la funcion. Avance a linea 1096, dentro de la funcion. Avance a linea 1097, dentro de la funcion. Avance a linea 1098, dentro de la funcion. Avance a linea 1099, dentro de la funcion. Avance a linea 1100, dentro de la funcion. Avance a linea 1101, dentro de la funcion. Avance a linea 1102, dentro de la funcion. Avance a linea 1103, dentro de la funcion. Avance a linea 1104, dentro de la funcion. Avance a linea 1105, dentro de la funcion. Avance a linea 1106, dentro de la funcion. Avance a linea 1107, dentro de la funcion. Avance a linea 1108, dentro de la funcion.

Page 137: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

137

Avance a linea 1109, dentro de la funcion. Avance a linea 1110, dentro de la funcion. Avance a linea 1111, dentro de la funcion. Avance a linea 1112, dentro de la funcion. Avance a linea 1113, dentro de la funcion. Avance a linea 1114, dentro de la funcion. Avance a linea 1115, dentro de la funcion. Avance a linea 1116, dentro de la funcion. Avance a linea 1117, dentro de la funcion. Avance a linea 1118, dentro de la funcion. Avance a linea 1119, dentro de la funcion. Avance a linea 1120, dentro de la funcion. Avance a linea 1121, dentro de la funcion. Avance a linea 1122, dentro de la funcion. Avance a linea 1123, dentro de la funcion. Avance a linea 1124, dentro de la funcion. Avance a linea 1125, dentro de la funcion. Avance a linea 1126, dentro de la funcion. Avance a linea 1127, dentro de la funcion. Avance a linea 1128, dentro de la funcion. Avance a linea 1129, dentro de la funcion. Avance a linea 1130, dentro de la funcion. Avance a linea 1131, dentro de la funcion. Avance a linea 1132, dentro de la funcion. Avance a linea 1133, dentro de la funcion. Avance a linea 1134, dentro de la funcion. Avance a linea 1135, dentro de la funcion. Avance a linea 1136, dentro de la funcion. Avance a linea 1137, dentro de la funcion. Avance a linea 1138, dentro de la funcion. Avance a linea 1139, dentro de la funcion. Avance a linea 1140, dentro de la funcion. Avance a linea 1141, dentro de la funcion. Avance a linea 1142, dentro de la funcion. Avance a linea 1143, dentro de la funcion. Avance a linea 1144, dentro de la funcion. Avance a linea 1145, dentro de la funcion. Avance a linea 1146, dentro de la funcion. Avance a linea 1147, dentro de la funcion. Avance a linea 1148, dentro de la funcion. Avance a linea 1149, dentro de la funcion. Avance a linea 1150, dentro de la funcion. Avance a linea 1151, dentro de la funcion. Avance a linea 1152, dentro de la funcion. Avance a linea 1153, dentro de la funcion. Avance a linea 1154, dentro de la funcion. Avance a linea 1155, dentro de la funcion. Avance a linea 1156, dentro de la funcion. Avance a linea 1157, dentro de la funcion. Avance a linea 1158, dentro de la funcion.

Page 138: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

138

Avance a linea 1159, dentro de la funcion. Avance a linea 1160, dentro de la funcion. Avance a linea 1161, dentro de la funcion. Avance a linea 1162, dentro de la funcion. Avance a linea 1163, dentro de la funcion. Avance a linea 1164, dentro de la funcion. Avance a linea 1165, dentro de la funcion. Avance a linea 1166, dentro de la funcion. Avance a linea 1167, dentro de la funcion. Avance a linea 1168, dentro de la funcion. Avance a linea 1169, dentro de la funcion. Avance a linea 1170, dentro de la funcion. Avance a linea 1171, dentro de la funcion. Avance a linea 1172, dentro de la funcion. Avance a linea 1173, dentro de la funcion. Avance a linea 1174, dentro de la funcion. Avance a linea 1175, dentro de la funcion. Avance a linea 1176, dentro de la funcion. Avance a linea 1177, dentro de la funcion. Avance a linea 1178, dentro de la funcion. Avance a linea 1179, dentro de la funcion. Avance a linea 1180, dentro de la funcion. Avance a linea 1181, dentro de la funcion. Avance a linea 1182, dentro de la funcion. Avance a linea 1183, dentro de la funcion. Avance a linea 1184, dentro de la funcion. Avance a linea 1185, dentro de la funcion. Avance a linea 1186, dentro de la funcion. Avance a linea 1187, dentro de la funcion. Avance a linea 1188, dentro de la funcion. Avance a linea 1189, dentro de la funcion. Avance a linea 1190, dentro de la funcion. Avance a linea 1191, dentro de la funcion. Avance a linea 1192, dentro de la funcion. Avance a linea 1193, dentro de la funcion. Avance a linea 1194, dentro de la funcion. Avance a linea 1195, dentro de la funcion. Avance a linea 1196, dentro de la funcion. Avance a linea 1197, dentro de la funcion. Avance a linea 1198, dentro de la funcion. Avance a linea 1199, dentro de la funcion. Avance a linea 1200, dentro de la funcion. Avance a linea 1201, dentro de la funcion. Avance a linea 1202, dentro de la funcion. Avance a linea 1203, dentro de la funcion. Avance a linea 1204, dentro de la funcion. Avance a linea 1205, dentro de la funcion. Avance a linea 1206, dentro de la funcion. Avance a linea 1207, dentro de la funcion. Avance a linea 1208, dentro de la funcion.

Page 139: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

139

Avance a linea 1209, dentro de la funcion. Avance a linea 1210, dentro de la funcion. Avance a linea 1211, dentro de la funcion. Avance a linea 1212, dentro de la funcion. Avance a linea 1213, dentro de la funcion. Avance a linea 1214, dentro de la funcion. Avance a linea 1215, dentro de la funcion. Avance a linea 1216, dentro de la funcion. Avance a linea 1217, dentro de la funcion. Avance a linea 1218, dentro de la funcion. Avance a linea 1219, dentro de la funcion. Avance a linea 1220, dentro de la funcion. Avance a linea 1221, dentro de la funcion. Avance a linea 1222, dentro de la funcion. Avance a linea 1223, dentro de la funcion. Avance a linea 1224, dentro de la funcion. Avance a linea 1225, dentro de la funcion. Avance a linea 1227, dentro de la funcion. (no es caracter de c RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 1228.... 20003090 <Ru ------------------------------------------------------------------------- Avance a linea 1229, dentro de la funcion. Avance a linea 1230, dentro de la funcion. Avance a linea 1231, dentro de la funcion. Avance a linea 1232, dentro de la funcion. Avance a linea 1233, dentro de la funcion. Avance a linea 1234, dentro de la funcion. Avance a linea 1235, dentro de la funcion. Avance a linea 1236, dentro de la funcion. Avance a linea 1237, dentro de la funcion. Avance a linea 1238, dentro de la funcion. Avance a linea 1239, dentro de la funcion. Avance a linea 1240, dentro de la funcion. Avance a linea 1241, dentro de la funcion.

Page 140: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

140

Avance a linea 1242, dentro de la funcion. Avance a linea 1243, dentro de la funcion. Avance a linea 1244, dentro de la funcion. Avance a linea 1246, dentro de la funcion. Avance a linea 1247, dentro de la funcion. Avance a linea 1248, dentro de la funcion. Avance a linea 1249, dentro de la funcion. Avance a linea 1251, dentro de la funcion. Avance a linea 1252, dentro de la funcion. Avance a linea 1253, dentro de la funcion. Avance a linea 1254, dentro de la funcion. Avance a linea 1255, dentro de la funcion. Avance a linea 1256, dentro de la funcion. Avance a linea 1257, dentro de la funcion. Avance a linea 1258, dentro de la funcion. Avance a linea 1259, dentro de la funcion. Avance a linea 1260, dentro de la funcion. Avance a linea 1261, dentro de la funcion. Avance a linea 1262, dentro de la funcion. Avance a linea 1263, dentro de la funcion. Avance a linea 1264, dentro de la funcion. Avance a linea 1265, dentro de la funcion. Avance a linea 1266, dentro de la funcion. Avance a linea 1267, dentro de la funcion. Avance a linea 1268, dentro de la funcion. ---------------- ENCONTRADO BLE ---------------- instruccion: 1269 -20003130: 40 81 00 0 Salto si menor o igual. El caracter de uso corresponde a -. Avance a linea 1270, dentro de la funcion. Avance a linea 1271, dentro de la funcion. Avance a linea 1272, dentro de la funcion. Avance a linea 1273, dentro de la funcion. Avance a linea 1274, dentro de la funcion. Avance a linea 1275, dentro de la funcion. Avance a linea 1276, dentro de la funcion. Avance a linea 1277, dentro de la funcion. Avance a linea 1278, dentro de la funcion. Avance a linea 1279, dentro de la funcion. Avance a linea 1280, dentro de la funcion. Avance a linea 1281, dentro de la funcion. Avance a linea 1282, dentro de la funcion. Avance a linea 1283, dentro de la funcion.

Page 141: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

141

Avance a linea 1284, dentro de la funcion. Avance a linea 1285, dentro de la funcion. Avance a linea 1286, dentro de la funcion. Avance a linea 1287, dentro de la funcion. Avance a linea 1288, dentro de la funcion. Avance a linea 1289, dentro de la funcion. Avance a linea 1290, dentro de la funcion. Avance a linea 1291, dentro de la funcion. Avance a linea 1292, dentro de la funcion. Avance a linea 1293, dentro de la funcion. Avance a linea 1294, dentro de la funcion. Avance a linea 1295, dentro de la funcion. Avance a linea 1296, dentro de la funcion. Avance a linea 1297, dentro de la funcion. Avance a linea 1298, dentro de la funcion. Avance a linea 1299, dentro de la funcion. Avance a linea 1300, dentro de la funcion. Avance a linea 1301, dentro de la funcion. Avance a linea 1302, dentro de la funcion. Avance a linea 1303, dentro de la funcion. Avance a linea 1304, dentro de la funcion. Avance a linea 1305, dentro de la funcion. Avance a linea 1306, dentro de la funcion. Avance a linea 1307, dentro de la funcion. Avance a linea 1308, dentro de la funcion. Avance a linea 1309, dentro de la funcion. Avance a linea 1310, dentro de la funcion. Avance a linea 1311, dentro de la funcion. Avance a linea 1312, dentro de la funcion. Avance a linea 1313, dentro de la funcion. Avance a linea 1314, dentro de la funcion. Avance a linea 1315, dentro de la funcion. Avance a linea 1316, dentro de la funcion. Avance a linea 1317, dentro de la funcion. Avance a linea 1318, dentro de la funcion. Avance a linea 1319, dentro de la funcion. Avance a linea 1320, dentro de la funcion. Avance a linea 1321, dentro de la funcion. Avance a linea 1322, dentro de la funcion. Avance a linea 1323, dentro de la funcion. Avance a linea 1324, dentro de la funcion. Avance a linea 1325, dentro de la funcion. Avance a linea 1326, dentro de la funcion. Avance a linea 1327, dentro de la funcion. Avance a linea 1328, dentro de la funcion. Avance a linea 1329, dentro de la funcion. Avance a linea 1330, dentro de la funcion. Avance a linea 1331, dentro de la funcion. Avance a linea 1332, dentro de la funcion. Avance a linea 1333, dentro de la funcion.

Page 142: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

142

Avance a linea 1334, dentro de la funcion. Avance a linea 1335, dentro de la funcion. Avance a linea 1336, dentro de la funcion. Avance a linea 1337, dentro de la funcion. Avance a linea 1338, dentro de la funcion. Avance a linea 1339, dentro de la funcion. Avance a linea 1340, dentro de la funcion. Avance a linea 1341, dentro de la funcion. Avance a linea 1342, dentro de la funcion. Avance a linea 1343, dentro de la funcion. Avance a linea 1344, dentro de la funcion. Avance a linea 1345, dentro de la funcion. Avance a linea 1346, dentro de la funcion. Avance a linea 1347, dentro de la funcion. Avance a linea 1348, dentro de la funcion. Avance a linea 1349, dentro de la funcion. Avance a linea 1350, dentro de la funcion. Avance a linea 1351, dentro de la funcion. Avance a linea 1352, dentro de la funcion. Avance a linea 1353, dentro de la funcion. Avance a linea 1354, dentro de la funcion. Avance a linea 1355, dentro de la funcion. Avance a linea 1356, dentro de la funcion. Avance a linea 1357, dentro de la funcion. Avance a linea 1358, dentro de la funcion. Avance a linea 1359, dentro de la funcion. Avance a linea 1360, dentro de la funcion. Avance a linea 1361, dentro de la funcion. Avance a linea 1362, dentro de la funcion. Avance a linea 1363, dentro de la funcion. Avance a linea 1364, dentro de la funcion. Avance a linea 1365, dentro de la funcion. Avance a linea 1366, dentro de la funcion. Avance a linea 1367, dentro de la funcion. Avance a linea 1368, dentro de la funcion. Avance a linea 1369, dentro de la funcion. Avance a linea 1370, dentro de la funcion. Avance a linea 1371, dentro de la funcion. Avance a linea 1372, dentro de la funcion. Avance a linea 1373, dentro de la funcion. Avance a linea 1374, dentro de la funcion. Avance a linea 1375, dentro de la funcion. Avance a linea 1376, dentro de la funcion. Avance a linea 1377, dentro de la funcion. Avance a linea 1378, dentro de la funcion. Avance a linea 1379, dentro de la funcion. Avance a linea 1380, dentro de la funcion. Avance a linea 1381, dentro de la funcion. Avance a linea 1382, dentro de la funcion. Avance a linea 1383, dentro de la funcion.

Page 143: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

143

Avance a linea 1384, dentro de la funcion. Avance a linea 1385, dentro de la funcion. Avance a linea 1386, dentro de la funcion. Avance a linea 1387, dentro de la funcion. Avance a linea 1388, dentro de la funcion. Avance a linea 1389, dentro de la funcion. Avance a linea 1390, dentro de la funcion. Avance a linea 1391, dentro de la funcion. Avance a linea 1392, dentro de la funcion. Avance a linea 1393, dentro de la funcion. Avance a linea 1394, dentro de la funcion. Avance a linea 1396, dentro de la funcion. (no es caracter de c RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 1397.... 2000332c <Ru ------------------------------------------------------------------------- Avance a linea 1398, dentro de la funcion. Avance a linea 1399, dentro de la funcion. Avance a linea 1400, dentro de la funcion. Avance a linea 1401, dentro de la funcion. Avance a linea 1402, dentro de la funcion. Avance a linea 1403, dentro de la funcion. Avance a linea 1405, dentro de la funcion. (no es caracter de c RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub

Page 144: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

144

El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 1406.... 20003348 <a84 ------------------------------------------------------------------------- Avance a linea 1407, dentro de la funcion. Avance a linea 1408, dentro de la funcion. Avance a linea 1409, dentro de la funcion. Avance a linea 1410, dentro de la funcion. Avance a linea 1411, dentro de la funcion. Avance a linea 1412, dentro de la funcion. Avance a linea 1414, dentro de la funcion. (no es caracter de c RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 1415.... 20003364 <c84 ------------------------------------------------------------------------- Avance a linea 1416, dentro de la funcion. Avance a linea 1417, dentro de la funcion. Avance a linea 1418, dentro de la funcion. Avance a linea 1419, dentro de la funcion. Avance a linea 1420, dentro de la funcion. Avance a linea 1421, dentro de la funcion. Avance a linea 1423, dentro de la funcion. (no es caracter de c RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota

Page 145: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

145

Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 1424.... 20003380 <vcm ------------------------------------------------------------------------- Avance a linea 1425, dentro de la funcion. Avance a linea 1426, dentro de la funcion. Avance a linea 1427, dentro de la funcion. Avance a linea 1428, dentro de la funcion. Avance a linea 1429, dentro de la funcion. Avance a linea 1430, dentro de la funcion. Avance a linea 1431, dentro de la funcion. Avance a linea 1432, dentro de la funcion. Avance a linea 1433, dentro de la funcion. Avance a linea 1434, dentro de la funcion. Avance a linea 1435, dentro de la funcion. ---------------- ENCONTRADO BNE -------------- instruccion: 1436 -200033ac: 40 82 00 1 Salto Local Condicional no igual. El caracter de uso corresponde a -. Avance a linea 1437, dentro de la funcion. Avance a linea 1438, dentro de la funcion. Avance a linea 1439, dentro de la funcion. Avance a linea 1440, dentro de la funcion. Avance a linea 1442, dentro de la funcion. Avance a linea 1443, dentro de la funcion. Avance a linea 1444, dentro de la funcion. Avance a linea 1445, dentro de la funcion. Avance a linea 1446, dentro de la funcion. Avance a linea 1447, dentro de la funcion. Avance a linea 1448, dentro de la funcion. Avance a linea 1449, dentro de la funcion. Avance a linea 1451, dentro de la funcion. Avance a linea 1452, dentro de la funcion. Avance a linea 1453, dentro de la funcion. Avance a linea 1454, dentro de la funcion. Avance a linea 1456, dentro de la funcion. Avance a linea 1457, dentro de la funcion. Avance a linea 1458, dentro de la funcion.

Page 146: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

146

Avance a linea 1459, dentro de la funcion. Avance a linea 1460, dentro de la funcion. Avance a linea 1461, dentro de la funcion. Avance a linea 1463, dentro de la funcion. (no es caracter de c RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 1464.... 20003418 <vcm ------------------------------------------------------------------------- Avance a linea 1465, dentro de la funcion. Avance a linea 1466, dentro de la funcion. Avance a linea 1467, dentro de la funcion. Avance a linea 1468, dentro de la funcion. Avance a linea 1469, dentro de la funcion. Avance a linea 1470, dentro de la funcion. Avance a linea 1471, dentro de la funcion. Avance a linea 1472, dentro de la funcion. Avance a linea 1473, dentro de la funcion. ---------------- ENCONTRADO BNE -------------- instruccion: 1474 -2000343c: 40 82 00 1 Salto Local Condicional no igual. El caracter de uso corresponde a -. Avance a linea 1475, dentro de la funcion. Avance a linea 1476, dentro de la funcion. Avance a linea 1477, dentro de la funcion. Avance a linea 1478, dentro de la funcion. Avance a linea 1480, dentro de la funcion. Avance a linea 1481, dentro de la funcion. Avance a linea 1482, dentro de la funcion.

Page 147: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

147

Avance a linea 1483, dentro de la funcion. Avance a linea 1485, dentro de la funcion. Avance a linea 1486, dentro de la funcion. Avance a linea 1487, dentro de la funcion. Avance a linea 1488, dentro de la funcion. Avance a linea 1489, dentro de la funcion. Avance a linea 1491, dentro de la funcion. (no es caracter de c RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 1492.... 20003480 <vcm ------------------------------------------------------------------------- Avance a linea 1493, dentro de la funcion. Avance a linea 1494, dentro de la funcion. Avance a linea 1495, dentro de la funcion. Avance a linea 1496, dentro de la funcion. Avance a linea 1497, dentro de la funcion. Avance a linea 1498, dentro de la funcion. Avance a linea 1499, dentro de la funcion. Avance a linea 1500, dentro de la funcion. Avance a linea 1501, dentro de la funcion. Avance a linea 1503, dentro de la funcion. Avance a linea 1504, dentro de la funcion. Avance a linea 1505, dentro de la funcion. Avance a linea 1507, dentro de la funcion. (no es caracter de c RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub

Page 148: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

148

El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 1508.... 200034b8 <vcm ------------------------------------------------------------------------- Avance a linea 1509, dentro de la funcion. Avance a linea 1510, dentro de la funcion. Avance a linea 1511, dentro de la funcion. Avance a linea 1512, dentro de la funcion. Avance a linea 1513, dentro de la funcion. Avance a linea 1514, dentro de la funcion. Avance a linea 1515, dentro de la funcion. Avance a linea 1516, dentro de la funcion. Avance a linea 1517, dentro de la funcion. Avance a linea 1519, dentro de la funcion. Avance a linea 1520, dentro de la funcion. Avance a linea 1521, dentro de la funcion. Avance a linea 1523, dentro de la funcion. (no es caracter de c RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 1524.... 200034f0 <vcm ------------------------------------------------------------------------- Avance a linea 1525, dentro de la funcion. Avance a linea 1526, dentro de la funcion. Avance a linea 1527, dentro de la funcion. Avance a linea 1528, dentro de la funcion. Avance a linea 1529, dentro de la funcion. Avance a linea 1530, dentro de la funcion. Avance a linea 1531, dentro de la funcion. Avance a linea 1532, dentro de la funcion. Avance a linea 1533, dentro de la funcion. Avance a linea 1534, dentro de la funcion.

Page 149: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

149

Avance a linea 1535, dentro de la funcion. Avance a linea 1536, dentro de la funcion. Avance a linea 1538, dentro de la funcion. Avance a linea 1539, dentro de la funcion. Avance a linea 1540, dentro de la funcion. Avance a linea 1542, dentro de la funcion. (no es caracter de c RESUMEN DE ESTADISTICAS (por funcion) ===================================== Puntos tota Puntos cub El porcent Puntos tota Puntos cub El porcent ------------------------------------------------------------------------- FUNCION ENCONTRADA en linea 1543.... 20003534 <_v ------------------------------------------------------------------------- Avance a linea 1544, dentro de la funcion. (no es caracter de c Avance a linea 1545, dentro de la funcion. (no es caracter de c Avance a linea 1546, dentro de la funcion. (no es caracter de c Avance a linea 1547, dentro de la funcion. (no es caracter de c Avance a linea 1548, dentro de la funcion. (no es caracter de c Avance a linea 1549, dentro de la funcion. Avance a linea 1550, dentro de la funcion. Avance a linea 1551, dentro de la funcion. Avance a linea 1552, dentro de la funcion. Avance a linea 1553, dentro de la funcion. Avance a linea 1554, dentro de la funcion. Avance a linea 1555, dentro de la funcion. Avance a linea 1556, dentro de la funcion. Avance a linea 1557, dentro de la funcion. (no es caracter de c Avance a linea 1558, dentro de la funcion. (no es caracter de c Avance a linea 1559, dentro de la funcion. (no es caracter de c Avance a linea 1560, dentro de la funcion. Avance a linea 1561, dentro de la funcion. Avance a linea 1562, dentro de la funcion. (no es caracter de c Avance a linea 1563, dentro de la funcion. Avance a linea 1564, dentro de la funcion. Avance a linea 1565, dentro de la funcion. ---------------- ENCONTRADO BNE

Page 150: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

150

-------------- instruccion: 1566 -20003568: 40 82 00 2 Salto Local Condicional no igual. El caracter de uso corresponde a -. Avance a linea 1567, dentro de la funcion. Avance a linea 1568, dentro de la funcion. Avance a linea 1569, dentro de la funcion. Avance a linea 1570, dentro de la funcion. Avance a linea 1571, dentro de la funcion. (no es caracter de c Avance a linea 1572, dentro de la funcion. Avance a linea 1573, dentro de la funcion. Avance a linea 1574, dentro de la funcion. Avance a linea 1575, dentro de la funcion. Avance a linea 1576, dentro de la funcion. (no es caracter de c Avance a linea 1577, dentro de la funcion. (no es caracter de c Avance a linea 1578, dentro de la funcion. (no es caracter de c Avance a linea 1579, dentro de la funcion. (no es caracter de c Avance a linea 1580, dentro de la funcion. Avance a linea 1581, dentro de la funcion. Avance a linea 1582, dentro de la funcion. Avance a linea 1583, dentro de la funcion. Avance a linea 1584, dentro de la funcion. (no es caracter de c Avance a linea 1585, dentro de la funcion. (no es caracter de c Avance a linea 1586, dentro de la funcion. (no es caracter de c Avance a linea 1587, dentro de la funcion. (no es caracter de c Avance a linea 1588, dentro de la funcion. (no es caracter de c Avance a linea 1589, dentro de la funcion. (no es caracter de c Avance a linea 1590, dentro de la funcion. Avance a linea 1591, dentro de la funcion. Avance a linea 1592, dentro de la funcion. Avance a linea 1593, dentro de la funcion. (no es caracter de c Avance a linea 1594, dentro de la funcion. Avance a linea 1595, dentro de la funcion. Avance a linea 1596, dentro de la funcion. Avance a linea 1597, dentro de la funcion. Avance a linea 1598, dentro de la funcion. Avance a linea 1599, dentro de la funcion. Avance a linea 1600, dentro de la funcion. (no es caracter de c Avance a linea 1601, dentro de la funcion. (no es caracter de c Avance a linea 1602, dentro de la funcion. (no es caracter de c Avance a linea 1603, dentro de la funcion. (no es caracter de c Avance a linea 1604, dentro de la funcion. Avance a linea 1605, dentro de la funcion. Avance a linea 1606, dentro de la funcion. Avance a linea 1607, dentro de la funcion. Avance a linea 1608, dentro de la funcion.

Page 151: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

151

Avance a linea 1609, dentro de la funcion. ---------------- ENCONTRADO BNE -------------- instruccion: 1610 -200035d8: 40 82 00 0 Salto Local Condicional no igual. El caracter de uso corresponde a -. Avance a linea 1611, dentro de la funcion. Avance a linea 1612, dentro de la funcion. (no es caracter de c Avance a linea 1613, dentro de la funcion. Avance a linea 1614, dentro de la funcion. Avance a linea 1615, dentro de la funcion. Avance a linea 1616, dentro de la funcion. Avance a linea 1617, dentro de la funcion. Avance a linea 1618, dentro de la funcion. Avance a linea 1619, dentro de la funcion. Avance a linea 1620, dentro de la funcion. Avance a linea 1621, dentro de la funcion. (no es caracter de c Avance a linea 1622, dentro de la funcion. (no es caracter de c Avance a linea 1623, dentro de la funcion. (no es caracter de c Avance a linea 1624, dentro de la funcion. (no es caracter de c Avance a linea 1625, dentro de la funcion. (no es caracter de c Avance a linea 1626, dentro de la funcion. Avance a linea 1627, dentro de la funcion. Avance a linea 1628, dentro de la funcion. Avance a linea 1629, dentro de la funcion. Avance a linea 1630, dentro de la funcion. (no es caracter de c Avance a linea 1631, dentro de la funcion. (no es caracter de c Avance a linea 1632, dentro de la funcion. (no es caracter de c Avance a linea 1633, dentro de la funcion. (no es caracter de c Avance a linea 1634, dentro de la funcion. Avance a linea 1635, dentro de la funcion. Avance a linea 1636, dentro de la funcion. Avance a linea 1637, dentro de la funcion. (no es caracter de c Avance a linea 1638, dentro de la funcion. Avance a linea 1639, dentro de la funcion. Avance a linea 1640, dentro de la funcion. Avance a linea 1641, dentro de la funcion. Avance a linea 1642, dentro de la funcion. Avance a linea 1643, dentro de la funcion. Avance a linea 1644, dentro de la funcion. (no es caracter de c Avance a linea 1645, dentro de la funcion. (no es caracter de c Avance a linea 1646, dentro de la funcion. (no es caracter de c Avance a linea 1647, dentro de la funcion. (no es caracter de c Avance a linea 1649, dentro de la funcion. (no es caracter de c

Page 152: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

152

Avance a linea 1650, dentro de la funcion. (no es caracter de c Avance a linea 1651, dentro de la funcion. (no es caracter de c Avance a linea 1652, dentro de la funcion. (no es caracter de c Avance a linea 1653, dentro de la funcion. (no es caracter de c Avance a linea 1654, dentro de la funcion. Avance a linea 1655, dentro de la funcion. Avance a linea 1656, dentro de la funcion. Avance a linea 1657, dentro de la funcion. Avance a linea 1658, dentro de la funcion. (no es caracter de c Avance a linea 1659, dentro de la funcion. (no es caracter de c Avance a linea 1660, dentro de la funcion. (no es caracter de c Avance a linea 1661, dentro de la funcion. (no es caracter de c Avance a linea 1663, dentro de la funcion. (no es caracter de c Avance a linea 1664, dentro de la funcion. (no es caracter de c Avance a linea 1665, dentro de la funcion. (no es caracter de c Avance a linea 1666, dentro de la funcion. (no es caracter de c Avance a linea 1667, dentro de la funcion. Avance a linea 1668, dentro de la funcion. Avance a linea 1669, dentro de la funcion. Avance a linea 1670, dentro de la funcion. (no es caracter de c Avance a linea 1671, dentro de la funcion. Avance a linea 1672, dentro de la funcion. Avance a linea 1673, dentro de la funcion. Avance a linea 1674, dentro de la funcion. Avance a linea 1675, dentro de la funcion. Avance a linea 1676, dentro de la funcion. Avance a linea 1677, dentro de la funcion. (no es caracter de c Avance a linea 1678, dentro de la funcion. (no es caracter de c Avance a linea 1679, dentro de la funcion. (no es caracter de c Avance a linea 1680, dentro de la funcion. (no es caracter de c Avance a linea 1681, dentro de la funcion. (no es caracter de c Avance a linea 1682, dentro de la funcion. Avance a linea 1683, dentro de la funcion. Avance a linea 1684, dentro de la funcion. Avance a linea 1685, dentro de la funcion. Avance a linea 1686, dentro de la funcion. (no es caracter de c Avance a linea 1687, dentro de la funcion. (no es caracter de c Avance a linea 1688, dentro de la funcion. (no es caracter de c Avance a linea 1689, dentro de la funcion. (no es caracter de c Avance a linea 1690, dentro de la funcion. (no es caracter de c Avance a linea 1691, dentro de la funcion. (no es caracter de c Avance a linea 1692, dentro de la funcion. Avance a linea 1693, dentro de la funcion. Avance a linea 1694, dentro de la funcion. Avance a linea 1695, dentro de la funcion. Avance a linea 1696, dentro de la funcion. Avance a linea 1697, dentro de la funcion. ---------------- ENCONTRADO BNE

Page 153: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

153

-------------- instruccion: 1698 -20003698: 40 82 00 0 Salto Local Condicional no igual. El caracter de uso corresponde a -. Avance a linea 1699, dentro de la funcion. Avance a linea 1700, dentro de la funcion. (no es caracter de c Avance a linea 1701, dentro de la funcion. Avance a linea 1702, dentro de la funcion. Avance a linea 1703, dentro de la funcion. Avance a linea 1704, dentro de la funcion. Avance a linea 1705, dentro de la funcion. Avance a linea 1706, dentro de la funcion. Avance a linea 1707, dentro de la funcion. Avance a linea 1708, dentro de la funcion. Avance a linea 1709, dentro de la funcion. (no es caracter de c Avance a linea 1710, dentro de la funcion. (no es caracter de c Avance a linea 1711, dentro de la funcion. (no es caracter de c Avance a linea 1712, dentro de la funcion. (no es caracter de c Avance a linea 1713, dentro de la funcion. Avance a linea 1714, dentro de la funcion. Avance a linea 1715, dentro de la funcion. Avance a linea 1716, dentro de la funcion. (no es caracter de c Avance a linea 1717, dentro de la funcion. Avance a linea 1718, dentro de la funcion. Avance a linea 1719, dentro de la funcion. Avance a linea 1720, dentro de la funcion. Avance a linea 1721, dentro de la funcion. Avance a linea 1722, dentro de la funcion. Avance a linea 1723, dentro de la funcion. (no es caracter de c Avance a linea 1724, dentro de la funcion. (no es caracter de c Avance a linea 1725, dentro de la funcion. (no es caracter de c Avance a linea 1726, dentro de la funcion. (no es caracter de c Avance a linea 1727, dentro de la funcion. (no es caracter de c Avance a linea 1728, dentro de la funcion. (no es caracter de c Avance a linea 1729, dentro de la funcion. (no es caracter de c Avance a linea 1730, dentro de la funcion. Avance a linea 1731, dentro de la funcion. Avance a linea 1732, dentro de la funcion. Avance a linea 1733, dentro de la funcion. Avance a linea 1734, dentro de la funcion. Avance a linea 1735, dentro de la funcion. Avance a linea 1736, dentro de la funcion. Avance a linea 1738, dentro de la funcion. (no es caracter de c Avance a linea 1739, dentro de la funcion. Avance a linea 1740, dentro de la funcion. Avance a linea 1741, dentro de la funcion.

Page 154: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

154

Avance a linea 1742, dentro de la funcion. Avance a linea 1743, dentro de la funcion. Avance a linea 1744, dentro de la funcion. Avance a linea 1745, dentro de la funcion. Avance a linea 1746, dentro de la funcion. Avance a linea 1747, dentro de la funcion. Avance a linea 1748, dentro de la funcion. Avance a linea 1749, dentro de la funcion. (no es caracter de c Avance a linea 1750, dentro de la funcion. Avance a linea 1751, dentro de la funcion. (no es caracter de c Avance a linea 1752, dentro de la funcion. (no es caracter de c

Page 155: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

155

------------------------------------------------------ RESUMEN DE ESTADISTICAS ------------------------------------------------------ El fichero consta de 1753 instrucciones, de las que 24 son instrucciones para la cobertura de ramas. Total de funciones: 42 ------ Puntos totales: 1525 Puntos cubiertos: 612 El porcentaje total de cobertura es: 40.131149 ----------- Puntos totales de ramas: 48 Puntos cubiertos de ramas: 11 El porcentaje total de cobertura de ramas es: 22.916666 ----------- ============================================================= Numero de condiciones 'igual que' BE : 0 Numero de condiciones 'distinto que' BNE : 10 Numero de condiciones 'mayor que' BGT : 1 Numero de condiciones 'menor que' BLT : 1 Numero de condiciones 'mayor o igual' BGE : 2 Numero de condiciones 'menor o igual' BLE : 10 Numero de condiciones 'mayor distinto' BGNE : 0 Numero de condiciones 'menor distinto' BLNE : 0 ============================================================= Contador de saltos de subrutinas: 20

Contador de saltos incondicionales: 61

Page 156: Autorizada la entrega del proyecto del alumno/a- La segunda consiste en un mini compilador que analizase archivos de cobertura procedentes de la herramienta Verocode, obteniendo nuevas

Anexo: aplicación generadora de informes estadísticos Sección 12

156