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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000010200 validation analysis Methods 0.000 claims abstract description 33
- 238000012795 verification Methods 0.000 claims abstract description 24
- 238000001514 detection method Methods 0.000 claims abstract description 11
- 238000003066 decision tree Methods 0.000 claims abstract description 4
- 210000002569 neuron Anatomy 0.000 claims abstract description 4
- 238000007619 statistical method Methods 0.000 claims abstract description 4
- 238000012360 testing method Methods 0.000 claims description 17
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44589—Program 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)
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.
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)
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)
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 |
-
2013
- 2013-12-10 FR FR1302881A patent/FR3014576B1/fr active Active
-
2014
- 2014-12-03 US US15/102,242 patent/US9921944B2/en not_active Expired - Fee Related
- 2014-12-03 WO PCT/FR2014/000258 patent/WO2015086916A1/fr active Application Filing
- 2014-12-03 CN CN201480066956.XA patent/CN105814546B/zh not_active Expired - Fee Related
- 2014-12-03 RU RU2016122212A patent/RU2669686C1/ru not_active IP Right Cessation
- 2014-12-03 PL PL14290368T patent/PL2884393T3/pl unknown
- 2014-12-03 ES ES14290368T patent/ES2733514T3/es active Active
- 2014-12-03 EP EP14290368.1A patent/EP2884393B1/fr active Active
-
2016
- 2016-06-06 IL IL246063A patent/IL246063B/en not_active IP Right Cessation
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 |