ES2733514T3 - Procedimiento y sistema de ayuda a la verificación y a la validación de una cadena de algoritmos - Google Patents

Procedimiento y sistema de ayuda a la verificación y a la validación de una cadena de algoritmos Download PDF

Info

Publication number
ES2733514T3
ES2733514T3 ES14290368T ES14290368T ES2733514T3 ES 2733514 T3 ES2733514 T3 ES 2733514T3 ES 14290368 T ES14290368 T ES 14290368T ES 14290368 T ES14290368 T ES 14290368T ES 2733514 T3 ES2733514 T3 ES 2733514T3
Authority
ES
Spain
Prior art keywords
data
algorithm
chain
module
stage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES14290368T
Other languages
English (en)
Inventor
Alexandre KOTENKOFF
David Vigouroux
Antoine Vivares
Olivier Hebert
Christophe Perel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MBDA France SAS
Original Assignee
MBDA France SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MBDA France SAS filed Critical MBDA France SAS
Application granted granted Critical
Publication of ES2733514T3 publication Critical patent/ES2733514T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44589Program code verification, e.g. Java bytecode verification, proof-carrying code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)

Abstract

Procedimiento de ayuda a la verificación y a la validación funcional de una cadena de algoritmos, comprendiendo el citado procedimiento una sucesión de etapas que comprenden al menos: a) una etapa de instrumentación de la cadena de algoritmos, que realiza una captura automática de datos que comprenden al menos algunos de los datos siguientes: datos de interfaz y datos internos de algoritmos de la cadena de algoritmos, consistiendo la etapa a) en leer archivos de salvaguarda en los cuales están almacenados un conjunto de datos de la cadena de algoritmos y en realizar consultas sobre los datos contenidos en los archivos de salvaguarda; b) una etapa de verificación automática de reglas funcionales, estando configurada la etapa b) para permitir detectar una violación de reglas y para permitir detectar si deben ser identificados elementos por un operador; c) una etapa de aprendizaje para modelar por aprendizaje restricciones y criterios de algoritmos de la cadena de algoritmos, teniendo en cuenta las validaciones realizadas por un operador humano durante una validación funcional, y los datos capturados, utilizando el aprendizaje medios que se basan en una de las características siguientes: - máquinas con vector de soporte; - redes de neuronas; - árboles de decisión; - métodos estadísticos; y - un análisis discriminatorio lineal; y d) una etapa de detección automática de errores o de problemas funcionales de la cadena de algoritmos con la ayuda de medios de aprendizaje estadístico, realizando la etapa d) con la ayuda de medios de aprendizaje estadístico, una correlación de los datos que comprenden al menos datos de la cadena de algoritmos para determinar reglas generales de variaciones de salidas de algoritmos de la cadena de algoritmos, y emitiendo una alerta si se detecta una variación superior a un umbral dado de una salida de algoritmo, con respecto a una salida prevista.

Description

DESCRIPCIÓN
Procedimiento y sistema de ayuda a la verificación y a la validación de una cadena de algoritmos
La presente invención concierne a un procedimiento y a un sistema de ayuda a la verificación y a la validación de una cadena de algoritmos.
En el marco de la presente invención, se entiende por cadena de algoritmos un conjunto de algoritmos que cooperan conjuntamente y que tratan una pluralidad de datos con el objetivo de poner en práctica una o varias funciones particulares, en particular de un dispositivo usuario en el cual está montada esta cadena de algoritmos.
La presente invención puede aplicarse a una cadena de algoritmos integrada en un dispositivo o ingenio, por ejemplo en un misil, o bien a una cadena de algoritmos no integrados antes de su montaje en un dispositivo usuario.
La validación y la verificación de una cadena de algoritmos (o cadena algorítmica) son tareas muy complejas y caras, en razón especialmente de los numerosos incrementos que implican la corrección de errores (o « bugs ») y la regulación de criterios, y en razón de las numerosas interacciones entre los diferentes módulos algorítmicos. Esta complejidad genera igualmente una dificultad de planificación de la tarea de validación y de verificación de una cadena de algoritmos.
En razón de esta complejidad, es necesaria una intervención humana por un operador que tenga un conocimiento profundo de la cadena de algoritmos. La verificación exhaustiva por un operador humano de todos los parámetros y datos que haya que analizar es larga, tediosa, incluso imposible. Además, el operador no está exento de errores y no puede analizar todos los parámetros pertinentes.
Esta solución habitual de verificación y de validación de una cadena de algoritmos que se basa en un solo operador humano no es por tanto satisfactoria.
Por el documento US-2009/0328002, se conoce un método y un dispositivo de análisis y de detección de errores de programas informáticos y de propuesta de corrección.
La invención está definida por las reivindicaciones independientes 1 y 6. Los aspectos suplementarios de la invención están definidos en las reivindicaciones dependientes.
La presente invención tiene por objeto poner remedio al inconveniente antes citado. La misma concierne a un procedimiento de ayuda a la verificación y a la validación de una cadena de algoritmos, que permita aportar una ayuda a un operador humano.
A tal efecto, según la invención, el citado procedimiento es destacable por que el mismo comprende:
a) una etapa de instrumentación de la cadena de algoritmos, que realiza una captura automática de datos que comprenden al menos algunos de los datos siguientes: datos de interfaz y datos internos de algoritmos de la cadena de algoritmos;
b) una etapa de verificación automática de reglas funcionales;
c) una etapa de aprendizaje para modelar por aprendizaje restricciones y criterios de algoritmos de la cadena de algoritmos, teniendo en cuenta las validaciones realizadas por un operador humano, y los datos capturados; y d) una etapa de detección automática de errores o de problemas funcionales de la cadena de algoritmos con la ayuda de medios de aprendizaje estadístico.
El citado procedimiento de acuerdo con la invención permite mejorar y facilitar el trabajo de validación de algoritmos complejos, tales como los utilizados por ejemplo en el ámbito de la aeronáutica. El mismo permite especialmente ayudar a un operador a detectar más rápidamente errores o « bugs » (a saber defectos de diseño y de realización de un algoritmo que se manifiestan por anomalías de funcionamiento) y problemas funcionales de la cadena de algoritmos verificada, lo que permite disminuir el tiempo y los costes de la validación funcional de la cadena de algoritmos. Según la invención, en una etapa anterior, un conjunto de datos de la cadena de algoritmos quedan almacenados en archivos de salvaguarda, y la etapa a) consiste en leer estos archivos de salvaguarda y en realizar consultas sobre los datos contenidos en estos archivos de salvaguarda.
El citado procedimiento comprende igualmente al menos algunas de las características o etapas siguientes tomadas individualmente o en combinación:
- la etapa b) está configurada para permitir detectar una violación de reglas y para permitir detectar si se deben verificar elementos por un operador;
- la etapa d) realiza, con la ayuda de medios de aprendizaje estadístico, una correlación de datos para determinar reglas generales de variaciones de salidas de algoritmos de la cadena de algoritmos, y emite una alerta si se detecta una verificación superior a un umbral dado de una salida de un algoritmo, con respecto a una salida prevista;
- la etapa d) analiza la variación de resultados de algoritmos de la cadena de algoritmos de manera que, si procede, se detecten discontinuidades y variaciones anormales;
- el procedimiento comprende una etapa suplementaria e) de clasificación de casos de prueba sospechosos (o problemáticos) identificados;
- el procedimiento comprende igualmente una etapa definición de métricas y de visualización de estas métricas. Además, ventajosamente, la etapa c) está configurada:
- para realizar un análisis de una estructura funcional de la cadena de algoritmos y de un código asociado,
- para realizar un aprendizaje con la ayuda de casos de pruebas anotados que son facilitados por un operador; y - para identificar los casos de prueba pertinentes y los sospechosos, y para presentar al operador al menos los casos de prueba sospechosos identificados.
La presente invención permite especialmente:
- detectar, con más eficacia, errores en flujos de datos, utilizados por algoritmos de la cadena de algoritmos;
- ayudar a un operador encargado de la validación, a analizar estos datos; e
- incrementar la confianza en la fase de validación.
La presente invención concierne igualmente a un sistema de ayuda a la verificación y a la validación funcional de una cadena de algoritmos.
Según la invención, el citado sistema comprende al menos los módulos siguientes, coordinados por un sistema experto:
- un módulo de instrumentación de la cadena de algoritmos, que realiza una captura automática de datos que comprenden al menos algunos de los datos siguientes: datos de interfaz y datos internos de algoritmos de la cadena de algoritmos;
- un módulo de verificación automática de reglas funcionales;
- un módulo de aprendizaje para modelar por aprendizaje restricciones y criterios de algoritmos de la cadena de algoritmos, teniendo en cuenta las validaciones realizadas por un operador humano, y
- un módulo de detección automática de errores o de problemas funcionales de la cadena de algoritmos con la ayuda de medios de aprendizaje estadístico.
Ventajosamente, el citado sistema comprende igualmente.
- un conjunto de archivos de salvaguarda en los cuales están almacenados datos de la cadena de algoritmos, estando configurado el citado módulo de instrumentación para leer estos archivos de salvaguarda y para realizar consultas sobre los datos contenidos en estos archivos de salvaguarda; y/o
- una unidad de visualización de datos procedentes del módulo de instrumentación; y/o
- una unidad de entrada de datos que permite a un operador introducir datos; y/o
- una unidad de presentación de los resultados procedentes del módulo de detección de errores; y/o
- un módulo de clasificación de casos de pruebas sospechosos (o problemáticos) identificados.
La única figura 1 del dibujo anejo hará comprender bien cómo puede realizarse la invención. Esta figura 1 es el esquema sinóptico de un sistema de acuerdo con la presente invención.
El sistema 1 de acuerdo con la invención y representado esquemáticamente en la figura 1 está destinado a ayudar a la verificación y a la validación funcional de una cadena de algoritmos.
Según la invención, este sistema 1 comprende al menos los módulos siguientes, coordinados por un sistema experto (no representado):
- un módulo de instrumentación 2 de la cadena de algoritmos, que está formado de manera que realiza una captura automática de datos que comprenden al menos algunos de los datos siguientes: datos de interfaz y datos internos de algoritmos de la cadena de algoritmos;
- un módulo 3 de verificación automática de reglas funcionales, que está conectado por intermedio de una conexión 4 (de transmisiones de datos) al citado módulo de instrumentación 2;
- un módulo de aprendizaje 5 que está conectado por intermedio de una conexión 6 (de transmisiones de datos) al citado módulo de verificación 3 y que está formado de manera que modeliza por aprendizaje restricciones y criterios de algoritmos de la cadena de algoritmos, teniendo en cuenta las validaciones realizadas por un operador humano, y los datos capturados por el módulo de instrumentación 2, y
- un módulo de detección 7 que está conectado por intermedio de una conexión 8 (de transmisiones de datos) al citado módulo de aprendizaje 5 y que está formado de manera que detecta automáticamente errores y problemas funcionales de la cadena de algoritmos, con la ayuda de medios de aprendizaje estadístico.
El sistema 1 comprende, además, un conjunto 9 de archivos de salvaguarda en los cuales están almacenados datos de la cadena de algoritmos. El módulo de instrumentación 2 está configurado para leer estos archivos de salvaguarda y para realizar consultas sobre los datos contenidos en estos archivos de salvaguarda, como está ilustrado por una flecha doble 10.
El citado sistema 1 comprende, además:
- una unidad de visualización 11 que está conectada por intermedio de una conexión 12 al módulo de instrumentación 2 y que está formada de manera que visualiza (presentándoles por ejemplo en una pantalla no representada o imprimiéndoles) datos procedentes del módulo de instrumentación 2, a fin de que un operador pueda tener conocimiento de estos datos, y
- una unidad de entrada de datos 13 que permite a un operación introducir datos en el sistema 1 y de modo más particular en el módulo de aprendizaje 5 (como está ilustrado por una conexión 14 en la figura 1), y especialmente validaciones realizadas por un operador.
El sistema 1 que comprende módulos (o motores) que realizan operaciones puestas en práctica de modo automático, aporta así una ayuda a la verificación y a la validación de una cadena de algoritmos (que presente fenómenos de regularidad y de reproducibilidad).
El citado sistema 1 permite, en particular, mejorar y facilitar el trabajo de validación de algoritmos complejos utilizados especialmente en el ámbito aeronáutico. El mismo permite ayudar a un operador a detectar más rápidamente errores o « bugs » (a saber defectos de diseño y de realización de un algoritmo que se manifiestan por anomalías de funcionamiento) y problemas funcionales de la cadena de algoritmos, lo que permite disminuir el tiempo y los costes de una validación funcional de la cadena de algoritmos.
El módulo 2 de instrumentación de la cadena de algoritmos permite la entrada de datos de interfaces y/o datos internos de los algoritmos, que son pertinentes para el análisis y que son generados durante la ejecución de una cadena de algoritmos. En el momento de la ejecución de una cadena de algoritmos (o cadena algorítmica), el conjunto de los datos (entradas/salidas y datos internos pertinentes de los algoritmos) quedan almacenados en archivos de salvaguarda (por ejemplo de tipo: csv, XML, base de datos,...) del conjunto 9. El módulo de instrumentación 2 es capaz de leer estos archivos y de realizar diferentes consultas inteligentes sobre los datos contenidos en estos archivos de salvaguarda.
Además, el módulo de verificación 3 (o módulo de reglas) permite la verificación de reglas funciónales simples, gracias a un módulo de inferencia (no representado). Los usuarios del sistema están encargados de escribir las reglas funcionales simples en un diccionario de reglas. Gracias al sistema experto y al módulo de inferencia, el módulo 3 llega a combinar las reglas, a fin de determinar si existen violaciones de una o varias de estas reglas o si ciertos elementos requieren una verificación por parte del operador encargado de las pruebas.
Por otra parte, el módulo de aprendizaje 5, perteneciente al ámbito de la inteligencia artificial, permite la modelación por aprendizaje de las restricciones y de los criterios de los algoritmos. Este módulo de aprendizaje 5 permite capitalizar la experiencia adquirida durante la validación de escenarios por operadores humanos a fin de automatizar, cada vez más, esta terea.
Para hacer esto, este módulo de aprendizaje 5 se apoya en un análisis de la estructura funcional de la cadena de algoritmos y del código, utilizando métricas de cuantificación del riesgo de que tal o cual subfunción o parte del código sea una fuente de problemas funcionales.
Par realizar el aprendizaje del módulo 5, un operador humano debe facilitar (a través de la unidad de entrada 13 especialmente) un conjunto de casos de prueba anotados sobre un conjunto de criterios y de restricciones (indicando por ejemplo si un escenario se ha desarrollado bien o en qué aspectos es defectuoso,.). Esta indicación puede ser realizada de manera interactiva durante un trabajo de validación funcional (manual) efectuada por el operador. Gracias a esta base de pruebas y al conjunto de entradas/salidas de los algoritmos (y en particular de datos del módulo 2), el módulo 5 es capaz de identificar los casos de prueba problemáticos (o sospechosos), y de presentar al usuario los casos de prueba pertinentes y o los sospechosos, por ejemplo a través de una unidad de presentación de informaciones 19 precisada más adelante o a través de la unidad de visualización 11.
El módulo de aprendizaje 5 puede comprender medios que se basan en una de las características siguientes:
- máquinas con vector de soporte (SVM);
- un « boosting »;
- redes de neuronas para un aprendizaje supervisado o no supervisado;
- árboles de decisión;
- métodos estadísticos como, por ejemplo, un modelo de mezcla gaussiana;
- una regresión logística, y
- un análisis discriminatorio lineal.
Además, el módulo 7 de detección automática de errores detecta, gracias a la utilización de tecnologías (o medios) de aprendizaje estadístico, errores potenciales en la cadena de algoritmos. Un módulo de estadísticas, tenido en cuenta, realiza una correlación de los datos considerados (especialmente de datos capturados de la cadena de algoritmos) a fin de determinar reglas generales de evolución (o de variación) de las salidas de los algoritmos. Si se identifica una variación demasiado importante de las salidas de un algoritmo con respecto a una salida prevista e identificada, se emite una alerta con destino al operador (especialmente por medio de una unidad de alerta 15 que, por ejemplo, está conectada por intermedio de una conexión 16 al módulo de detección 7). Este módulo 7 permite igualmente analizar la variación de los resultados de los algoritmos a fin de detectar discontinuidades o variaciones en apariencia anormales.
Por otra parte, el sistema 1 comprende, además, un módulo de clasificación 17 de casos de prueba sospechosos (o problemáticos).
Cuando el sistema 1 identifica un conjunto de casos de prueba problemáticos, el módulo de clasificación 17 que recibe estos casos a través de una conexión 18 les organiza en grupos. Estos grupos son construidos de modo que se reúnan los casos de prueba por errores funcionales similares. Esto permite a los usuarios del sistema 1, a los cuales son presentados con la ayuda por ejemplo de una unidad de visualización 19 conectada por una conexión 20 al módulo de clasificación 17, no verse inmersos en un número demasiado elevado de casos de prueba, realizando un preanálisis cuantitativo de los escenarios. Los resultados son ordenados en función de su pertinencia y de métricas y son presentados así.
Se observará que la presente invención es diferente de los métodos fórmales que permiten probar por la lógica que el código fuente cumple bien todos los requisitos funcionales definidos. En efecto, el sistema 1 permite sacar provecho de la experiencia de un usuario a fin de facilitar la validación de código no probado.
Para acelerar el análisis por un operador humano en las fases de diagnóstico, el sistema 1 comprende un módulo encargado de la definición de métricas y de la visualización inteligente de estas métricas.
El sistema 1 combina así un conjunto de módulos y de servicios capaces de correlacionar, de modo pertinente, una gran masa de informaciones, y especialmente:
- informaciones presentadas directamente en los datos producidos por algoritmos de la cadena de algoritmos, - informaciones calculadas por post-tratamientos automáticos de estos datos;
- informaciones obtenidas a priori de análisis sobre la estructura de los datos y del código; y/o
- informaciones obtenidas de un aprendizaje: aprendizaje en interacción con el operador encargado de los trabajos de validación (aprendizaje de los procedimientos de verificación) y aprendizaje de ciertos fenómenos predecibles del comportamiento de los algoritmos cuando existen tales fenómenos.
El citado sistema 1 permite especialmente:
- detectar, con más eficacia, errores en los flujos de datos utilizados por algoritmos de la cadena de algoritmos; - ayudar a los operadores encargados de la validación, a analizar estos datos; y
- aumentar la confianza en la fase de validación.
Ċ

Claims (11)

REIVINDICACIONES
1. Procedimiento de ayuda a la verificación y a la validación funcional de una cadena de algoritmos, comprendiendo el citado procedimiento una sucesión de etapas que comprenden al menos:
a) una etapa de instrumentación de la cadena de algoritmos, que realiza una captura automática de datos que comprenden al menos algunos de los datos siguientes: datos de interfaz y datos internos de algoritmos de la cadena de algoritmos, consistiendo la etapa a) en leer archivos de salvaguarda en los cuales están almacenados un conjunto de datos de la cadena de algoritmos y en realizar consultas sobre los datos contenidos en los archivos de salvaguarda; b) una etapa de verificación automática de reglas funcionales, estando configurada la etapa b) para permitir detectar una violación de reglas y para permitir detectar si deben ser identificados elementos por un operador;
c) una etapa de aprendizaje para modelar por aprendizaje restricciones y criterios de algoritmos de la cadena de algoritmos, teniendo en cuenta las validaciones realizadas por un operador humano durante una validación funcional, y los datos capturados, utilizando el aprendizaje medios que se basan en una de las características siguientes: - máquinas con vector de soporte;
- redes de neuronas;
- árboles de decisión;
- métodos estadísticos; y
- un análisis discriminatorio lineal; y
d) una etapa de detección automática de errores o de problemas funcionales de la cadena de algoritmos con la ayuda de medios de aprendizaje estadístico, realizando la etapa d) con la ayuda de medios de aprendizaje estadístico, una correlación de los datos que comprenden al menos datos de la cadena de algoritmos para determinar reglas generales de variaciones de salidas de algoritmos de la cadena de algoritmos, y emitiendo una alerta si se detecta una variación superior a un umbral dado de una salida de algoritmo, con respecto a una salida prevista.
2. Procedimiento según la reivindicación 1, caracterizado por que la etapa c) está configurada:
- para realizar un análisis de una estructura funcional de la cadena de algoritmos y de un código asociado;
- para realizar un aprendizaje con la ayuda de casos de prueba anotados que son facilitados por un operador; y - para identificar los casos de prueba pertinentes y los sospechosos, y para presentar al operador al menos los casos de prueba sospechosos identificados.
3. Procedimiento según las reivindicaciones 1 y 2, caracterizado por que la etapa d) analiza la variación de resultados de algoritmos de la cadena de algoritmos de manera que, si procede, se detecten discontinuidades y variaciones anormales.
4. Procedimiento según una cualquiera de las reivindicaciones precedentes, caracterizado por que comprende una etapa suplementaria e) de clasificación de casos de prueba sospechoso identificados.
5. Procedimiento según una cualquiera de las reivindicaciones precedentes, caracterizado por que comprende una etapa de definición de métricas y de visualización de estas métricas.
6. Sistema de ayuda a la verificación y a la validación funcional de una cadena de algoritmos, comprendiendo el citado sistema (1) un conjunto (9) de archivos de salvaguarda en los cuales están almacenados datos de la cadena de algoritmos, y al menos los módulos siguientes, coordinados por un sistema experto:
- un módulo (2) de instrumentación de la cadena de algoritmos, que realiza una captura automática de datos que comprenden al menos algunos de los datos siguientes: datos de interfaz y datos internos de algoritmos de la cadena de algoritmos, estando configurado el módulo (2) de instrumentación para leer los archivos de salvaguarda y para realizar consultas sobre los datos contenidos en estos archivos de salvaguarda;
- un módulo (3) de verificación automática de rejas funcionales, para permitir detectar una violación de reglas y para permitir detectar si deben ser verificados elementos por un operador,
- un módulo (5) de aprendizaje para modelar por aprendizaje restricciones y criterios de algoritmos de la cadena de algoritmos, teniendo en cuenta las validaciones realizadas por un operador humano durante una validación funcional y los datos capturados por el módulo (2) de instrumentación, comprendiendo el módulo de aprendizaje (5) medios que se basan en una de las características siguientes:
• máquinas con vector de soporte;
• redes de neuronas;
• árboles de decisión;
• métodos estadísticos; y
• un análisis discriminatorio lineal; y
- un módulo (7) de detección automática de errores o de problemas funcionales de la cadena de algoritmos con la ayuda de medios de aprendizaje estadístico, realizando el citado módulo (5), con la ayuda de medios de aprendizaje estadístico, una correlación de los datos que comprenden al menos datos de la cadena de algoritmos para determinar reglas generales de variaciones de salidas de algoritmos de la cadena de algoritmos, siendo emitida una alerta si se detecta una variación superior a un umbral dado de una salida de un algoritmo, con respecto a una salida prevista.
7. Sistema según la reivindicación 6, caracterizado por que comprende, además, una unidad (11) de visualización de datos procedentes del módulo de instrumentación (2).
8. Sistema según una de las reivindicaciones 6 y 7, caracterizado por que comprende, además, una unidad (13) de entrada de datos que permite a un operador introducir datos.
9. Sistema según una cualquiera de las reivindicaciones 6 a 8, caracterizado por que comprende, además, una unidad (19) de presentación de resultados procedentes del módulo (7) de detección de errores.
10. Sistema según una cualquiera de las reivindicaciones 6 a 9, caracterizado por que comprende, además, un módulo (17) de clasificación de casos de prueba sospechosos identificados.
11. Conjunto que comprende una cadena de algoritmos y un sistema (1) tal como el especificado en una cualquiera de las reivindicaciones 6 a 10.
ES14290368T 2013-12-10 2014-12-03 Procedimiento y sistema de ayuda a la verificación y a la validación de una cadena de algoritmos Active ES2733514T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1302881A FR3014576B1 (fr) 2013-12-10 2013-12-10 Procede et systeme d'aide a la verification et a la validation d'une chaine d'algorithmes

Publications (1)

Publication Number Publication Date
ES2733514T3 true ES2733514T3 (es) 2019-11-29

Family

ID=50721823

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14290368T Active ES2733514T3 (es) 2013-12-10 2014-12-03 Procedimiento y sistema de ayuda a la verificación y a la validación de una cadena de algoritmos

Country Status (9)

Country Link
US (1) US9921944B2 (es)
EP (1) EP2884393B1 (es)
CN (1) CN105814546B (es)
ES (1) ES2733514T3 (es)
FR (1) FR3014576B1 (es)
IL (1) IL246063B (es)
PL (1) PL2884393T3 (es)
RU (1) RU2669686C1 (es)
WO (1) WO2015086916A1 (es)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109299054B (zh) * 2018-09-30 2020-09-15 维沃移动通信有限公司 一种数据统计方法及终端设备
CN109766262B (zh) * 2018-12-15 2022-05-06 深圳壹账通智能科技有限公司 接口数据处理方法、自动化测试方法、装置、设备和介质

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5642472A (en) * 1994-05-20 1997-06-24 Lucent Technologies Inc. Software discovery system
US8065250B2 (en) * 2000-02-16 2011-11-22 Adaptive Technologies, Inc. Methods and apparatus for predictive analysis
US7412439B2 (en) * 2004-01-07 2008-08-12 International Business Machines Corporation Method for statistics management
CN101589369B (zh) * 2007-03-02 2013-01-23 松下电器产业株式会社 再生装置、系统lsi、初始化方法
US8424082B2 (en) * 2008-05-08 2013-04-16 Google Inc. Safely executing an untrusted native code module on a computing device
US8166464B2 (en) * 2008-06-27 2012-04-24 Microsoft Corporation Analysis and detection of soft hang responsiveness program errors
US9449281B2 (en) * 2008-12-31 2016-09-20 Sap Se Statistical machine learning
US20100281469A1 (en) * 2009-04-30 2010-11-04 Nec Laboratories America, Inc. Symbolic predictive analysis for concurrent programs
CN101571828B (zh) * 2009-06-11 2012-07-04 北京航空航天大学 基于约束分析和模型检验的代码安全漏洞检测方法
US8726254B2 (en) * 2009-06-20 2014-05-13 Microsoft Corporation Embedded annotation and program analysis
US20120089873A1 (en) * 2010-08-17 2012-04-12 Nec Laboratories America, Inc. Systems and methods for automated systematic concurrency testing
US20120151271A1 (en) * 2010-12-10 2012-06-14 Nec Laboratories America, Inc. Mat-reduced symbolic analysis
DE102011076779A1 (de) * 2011-05-31 2012-12-06 Airbus Operations Gmbh Verfahren und Vorrichtung zur Vorhersage des Zustands einer Komponente oder eines Systems, Computerprogrammprodukt
US8776057B2 (en) * 2011-06-02 2014-07-08 Fujitsu Limited System and method for providing evidence of the physical presence of virtual machines
CN102231133B (zh) * 2011-07-05 2013-07-03 上海交通大学 基于重写逻辑的并发实时程序验证的优化处理系统及其方法
CN103455313B (zh) * 2012-05-31 2017-03-22 国际商业机器公司 用于关联被测系统的输入消息与输出消息的方法和设备
US9026853B2 (en) * 2012-07-31 2015-05-05 Hewlett-Packard Development Company, L.P. Enhancing test scripts
US9582395B2 (en) * 2013-03-14 2017-02-28 Netflix, Inc. Critical systems inspector
WO2014149827A1 (en) * 2013-03-15 2014-09-25 REMTCS Inc. Artificial neural network interface and methods of training the same for various use cases
WO2015006212A2 (en) * 2013-07-10 2015-01-15 Hoffman George Kevin Systems and methods for measuring and tracking radio-frequency identification tags
US9223553B2 (en) * 2013-09-26 2015-12-29 Intel Corporation Methods and apparatus to validate translated guest code in a dynamic binary translator
US9338013B2 (en) * 2013-12-30 2016-05-10 Palantir Technologies Inc. Verifiable redactable audit log
US9817737B2 (en) * 2014-09-16 2017-11-14 Spirent Communications, Inc. Systems and methods of building sequenceable test methodologies
US9727365B2 (en) * 2015-04-12 2017-08-08 At&T Intellectual Property I, L.P. End-to-end validation of virtual machines
US10176426B2 (en) * 2015-07-07 2019-01-08 International Business Machines Corporation Predictive model scoring to optimize test case order in real time
US10229038B2 (en) * 2016-03-15 2019-03-12 International Business Machines Corporation Generating reusable testing procedures

Also Published As

Publication number Publication date
CN105814546A (zh) 2016-07-27
RU2669686C1 (ru) 2018-10-12
WO2015086916A1 (fr) 2015-06-18
FR3014576A1 (fr) 2015-06-12
EP2884393B1 (fr) 2019-04-17
US9921944B2 (en) 2018-03-20
US20160314059A1 (en) 2016-10-27
PL2884393T3 (pl) 2019-10-31
CN105814546B (zh) 2018-08-31
EP2884393A1 (fr) 2015-06-17
IL246063B (en) 2019-03-31
FR3014576B1 (fr) 2018-02-16
IL246063A0 (en) 2016-07-31

Similar Documents

Publication Publication Date Title
Gurbuz et al. Model-based testing for software safety: a systematic mapping study
Prenner et al. Automatic program repair with openai's codex: Evaluating quixbugs
Wong et al. Effective software fault localization using an RBF neural network
Bao et al. Execution anomaly detection in large-scale systems through console log analysis
Tsantalis et al. Assessing the refactorability of software clones
Roy Detection and analysis of near-miss software clones
Caveness et al. Tensorflow data validation: Data analysis and validation in continuous ml pipelines
Cristescu Machine learning techniques for improving the performance metrics of functional verification
CN114787831B (zh) 改进分类模型的准确性
Svajlenko et al. The mutation and injection framework: Evaluating clone detection tools with mutation analysis
ES2733514T3 (es) Procedimiento y sistema de ayuda a la verificación y a la validación de una cadena de algoritmos
Al Sabbagh et al. Predicting Test Case Verdicts Using TextualAnalysis of Commited Code Churns
US9715658B2 (en) Methods for producing customer configurable technical manuals
US9626468B2 (en) Assertion extraction from design and its signal traces
Sadri‐Moshkenani et al. Survey on test case generation, selection and prioritization for cyber‐physical systems
JP2019194818A (ja) ソフトウェア不具合予測装置
Dreves et al. Validating Data and Models in Continuous ML Pipelines.
Chen et al. UnitFL: A fault localization tool integrated with unit test
Garro et al. Modeling of system properties: Research challenges and promising solutions
de Araujo et al. Explainability for Property Violations in Cyber-Physical Systems: An Immune-Inspired Approach
Liu et al. OF-PENDA: A Software Tool for Fault Diagnosis of Discrete Event Systems Modeled by Labeled Petri Nets.
Matcha et al. Using Deep Learning Classifiers to Identify Candidate Classes for Unit Testing in Object-Oriented Systems.
Mahajan et al. Implementing a 3-way approach of clone detection and removal using pc detector tool
Ghosh et al. An empirical study of a hybrid code clone detection approach on java byte code
Tang et al. Neural SZZ algorithm