WO2015086916A1 - Procédé et système d'aide à la vérification et à la validation d'une chaîne d'algorithmes - Google Patents

Procédé et système d'aide à la vérification et à la validation d'une chaîne d'algorithmes Download PDF

Info

Publication number
WO2015086916A1
WO2015086916A1 PCT/FR2014/000258 FR2014000258W WO2015086916A1 WO 2015086916 A1 WO2015086916 A1 WO 2015086916A1 FR 2014000258 W FR2014000258 W FR 2014000258W WO 2015086916 A1 WO2015086916 A1 WO 2015086916A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
chain
algorithm
module
algorithms
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.)
Ceased
Application number
PCT/FR2014/000258
Other languages
English (en)
Inventor
Alexandre Kotenkoff
David Vigouroux
Antoine Vivares
Olivier Hebert
Christophpe 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
Priority to US15/102,242 priority Critical patent/US9921944B2/en
Priority to CN201480066956.XA priority patent/CN105814546B/zh
Priority to RU2016122212A priority patent/RU2669686C1/ru
Publication of WO2015086916A1 publication Critical patent/WO2015086916A1/fr
Priority to IL246063A priority patent/IL246063B/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • G06F11/3636Debugging of software by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Definitions

  • algorithm chain is understood to mean a set of algorithms cooperating together and processing a plurality of data in order to implement one or more particular functions, in particular a user device on which is mounted this chain of algorithms.
  • Validation and verification of a chain of algorithms are very complex and costly tasks, due in particular to the many increments implied by the bug fixing and the setting of criteria, and because of the many interactions between the different algorithmic modules. This complexity also creates a difficulty in scheduling the task of validating and verifying a chain of algorithms.
  • the present invention aims to overcome this disadvantage. It relates to a method of assisting the verification and validation of a chain of algorithms, to provide assistance to a human operator.
  • said method is remarkable in that it comprises:
  • Said method according to the invention makes it possible to improve and facilitate the work of validation of complex algorithms, such as those used for example in the field of aeronautics. It allows to help an operator to detect faster bugs or "bugs" (ie defects in design and realization of an algorithm manifested by operating anomalies) and functional problems of the chain of algorithms verified, which reduces the time and cost of the functional validation of the algorithm chain.
  • bugs ie defects in design and realization of an algorithm manifested by operating anomalies
  • functional problems of the chain of algorithms verified which reduces the time and cost of the functional validation of the algorithm chain.
  • a set of data of the algorithm chain are stored in backup files, and step a) consists in reading these backup files and in making queries on the data contained therein. in these backup files.
  • the method also includes at least some of the following features or steps, taken individually or in combination:
  • step b) is configured to detect a rule violation and to detect whether elements need to be checked by an operator
  • step d) performs, using statistical learning means, a correlation of data to determine general rules for variations of algorithm outputs of the algorithm chain, and it issues an alert if a variation greater than a given threshold of an output of an algorithm, with respect to a predicted output, is detected;
  • step d) analyzes the variation of results of algorithms of the algorithm chain so as to detect, if necessary, discontinuities and abnormal variations
  • the method comprises an additional step e) of classification of suspected (or problematic) test cases identified;
  • the method also comprises a step of defining metrics and displaying these metrics.
  • step c) is configured:
  • the present invention makes it possible in particular:
  • the present invention also relates to a system for assisting in the verification and functional validation of a chain of algorithms.
  • said system comprises at least the following modules, coordinated by an expert system:
  • an instrumentation module of the algorithm chain performing an automatic data capture comprising at least some of the following data: interface data and internal algorithm data of the algorithm chain;
  • a learning module for learning by modeling constraints and algorithm criteria of the algorithm chain, taking into account validations performed by a human operator;
  • a module for automatically detecting bugs or functional problems of the algorithm chain by means of statistical learning means a module for automatically detecting bugs or functional problems of the algorithm chain by means of statistical learning means.
  • a data entry unit enabling an operator to enter data
  • FIG. 1 is the block diagram of a system according to the present invention.
  • the system 1 according to the invention and shown schematically in FIG. 1 is intended to assist in the verification and functional validation of a chain of algorithms.
  • this system 1 comprises at least the following modules, coordinated by an expert system (not shown):
  • an instrumentation module 2 of the algorithm chain which is formed so as to perform an automatic data capture comprising at least some of the following data: interface data and internal data of algorithms of the chain of algorithms; algorithms;
  • a module 3 for automatically verifying functional rules which is connected via a link 4 (of data transmissions) to said instrumentation module 2;
  • a learning module 5 which is connected via a link 6 (of data transmissions) to said verification module 3 and which is formed in such a way as to model by learning constraints and criteria of algorithms of the chain of algorithms, taking into account validations performed by a human operator, and data captured by the instrumentation module 2; and
  • a detection module 7 which is connected via a link 8 (of data transmissions) to said learning module 5 and which is formed in such a way as to automatically detect bugs and functional problems of the training chain; algorithms, using statistical learning means.
  • the system 1 further comprises a set 9 of backup files in which data from the algorithm chain are stored.
  • the instrumentation module 2 is configured to read these backup files and to make queries on the data contained in these backup files, as illustrated by a double arrow 10.
  • a data acquisition unit 13 enabling an operator to enter data into the system 1 and more particularly into the learning module 5 (as illustrated by a link 14 in FIG. 1), and in particular validations carried out by the 'operator.
  • the system 1 which comprises modules (or engines) performing operations implemented automatically, thus provides assistance in the verification and validation of a chain of algorithms (which presents phenomena of regularity and reproducibility) .
  • Said system 1 makes it possible, in particular, to improve and facilitate the work of validation of complex algorithms used in particular in the aeronautical field. It helps an operator to detect faster bugs or "bugs” (ie defects in design and realization of an algorithm manifested by operating anomalies) and functional problems of the chain of algorithms, This reduces the time and cost of functional validation of the algorithm chain.
  • the instrumentation module 2 of the algorithm chain allows the capture of the interface data and / or the internal data of the algorithms, which are relevant for the analysis and which are generated during the execution of a string of algorithms. algorithms.
  • all the data are stored in backup files (for example of type: csv, XML, database, etc.) 9.
  • the instrumentation module 2 is able to read these files and perform various intelligent queries on the data contained in these backup files.
  • the verification module 3 (or rule module) allows the verification of simple functional rules, thanks to an inference module (not shown). System users are responsible for writing simple functional rules in a rule dictionary. Thanks to the expert system and the inference module, module 3 is able to combine the rules to determine if there are violations of one or more of these rules or if some elements require verification by the operator in charge of the tests.
  • the learning module 5 derived from the field of artificial intelligence, allows learning modeling of the constraints and criteria of the algorithms. This learning module 5 makes it possible to capitalize on the experience acquired during the validation of scenarios by human operators in order to automate, more and more, this task.
  • this learning module 5 is based on an analysis of the functional structure of the considered algorithm chain and the code, using risk quantification metrics that this or that sub-function or part of the code is a source of functional problems.
  • module 5 To carry out the learning of the module 5, a human operator must provide (via the input unit 13 in particular) a set of test cases noted on a set of criteria and constraints (indicating, for example, whether a scenario has occurred). well done or on which aspects he is in default, ). This indication can be performed interactively during a functional validation (manual) performed by the operator. Thanks to this base of tests and to the set of inputs / outputs of the algorithms (and in particular of data of module 2), module 5 is able to identify problematic (or suspect) test cases, and to present to the user the relevant and / or suspect test cases, for example via an information presentation unit 19 specified below or via the display unit 11.
  • the learning module 5 may comprise means based on one of the following characteristics:
  • SVM support vector machines
  • the module 7 automatic detection of bugs detects, through the use of technologies (or means) of statistical learning, potential bugs in the chain of algorithms.
  • a statistics module taken into account, performs a correlation of the data considered (in particular data captured from the algorithm chain) in order to determine general rules of evolution (or variation) of the outputs of the algorithms. If a too large variation of the outputs of an algorithm with respect to a predicted output is identified, an alert is sent to the operator (in particular by means of an alert unit 15 which is, for example, connected by via a link 16 to the detection module 7).
  • This module 7 also makes it possible to analyze the variation of the results of the algorithms in order to detect apparently abnormal discontinuities or variations.
  • system 1 further comprises a classification module 17 of suspect (or problematic) test cases.
  • the classification module 17 which receives these cases via a link 18 organizes them into groups. These groups are constructed to collect similar functional error test cases. This allows the user of the system 1, to which they are presented using for example a display unit 19 connected by a link 20 to the classification module 17, not to be overwhelmed by too many test cases, by performing a quantitative pre-analysis of the scenarios. The results are ordered according to their relevance and metrics, and are presented as well.
  • the present invention is different from the formal methods which make it possible to prove by logic that the source code satisfies all the defined functional requirements. Indeed, the system 1 makes it possible to capitalize on the experience of a user in order to facilitate the validation of unproven code.
  • the system 1 includes a module in charge of the definition of metrics and the intelligent visualization of these metrics.
  • the system 1 thus combines a set of modules and services capable of correlating, in a relevant way, a large mass of information, and in particular:

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)
  • Testing Or Calibration Of Command Recording Devices (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

- Procédé et système d'aide à la vérification et à la validation d'une chaîne d'algorithmes. - Le système (1) comporte un module (2) d'instrumentation de la chaîne d'algorithmes, réalisant une capture automatique de données comprenant au moins certaines des données suivantes : des données d'interface et des données internes d'algorithmes de la chaîne d'algorithmes, un module (3) de vérification automatique de règles fonctionnelles, un module (5) d'apprentissage pour modéliser par apprentissage des contraintes et des critères d'algorithmes de la chaîne d'algorithmes, en prenant en compte des validations réalisées par un opérateur humain, et un module (7) de détection automatique de bogues ou de problèmes fonctionnels de la chaîne d'algorithmes à l'aide de moyens d'apprentissage statistique.

Description

Procédé et système d'aide à la vérification et à la validation d'une chaîne d'algorithmes.
La présente invention concerne un procédé et un système d'aide à la vérification et à la validation d'une chaîne d'algorithmes.
Dans le cadre de la présente invention, on entend par chaîne d'algorithmes un ensemble d'algorithmes coopérant ensemble et traitant une pluralité de données dans le but de mettre en œuvre une ou plusieurs fonctions particulières, en particulier d'un dispositif utilisateur sur lequel est montée cette chaîne d'algorithmes.
La présente invention peut s'appliquer à une chaîne d'algorithmes embarquée sur un dispositif ou engin, par exemple sur un missile, ou bien à une chaîne d'algorithmes non embarquée avant son montage sur un dispositif utilisateur.
La validation et la vérification d'une chaîne d'algorithmes (ou chaîne algorithmique) sont des tâches très complexes et coûteuses, en raison notamment des nombreux incréments qu'impliquent la correction de bogues (ou « bugs ») et le réglage de critères, et en raison des nombreuses interactions entre les différents modules algorithmiques. Cette complexité engendre également une difficulté de planification de la tâche de validation et de vérification d'une chaîne d'algorithmes.
En raison de cette complexité, une intervention humaine par un opérateur ayant une connaissance approfondie de la chaîne d'algorithmes est nécessaire. La vérification exhaustive par un opérateur humain de tous les paramètres et données à analyser est longue, fastidieuse, voire même impossible. De plus, l'opérateur n'est pas à l'abri d'erreurs, et il ne peut pas analyser tous les paramètres pertinents.
Cette solution usuelle de vérification et de validation d'une chaîne d'algorithmes reposant sur un seul opérateur humain n'est donc pas satisfaisante. La présente invention a pour objet de remédier à cet inconvénient. Elle concerne un procédé d'aide à la vérification et à la validation d'une chaîne d'algorithmes, permettant d'apporter une aide à un opérateur humain.
A cet effet, selon l'invention, ledit procédé est remarquable en ce qu'il comprend :
a) une étape d'instrumentation de la chaîne d'algorithmes, réalisant une capture automatique de données comprenant au moins certaines des données suivantes : des données d'interface et des données internes d'algorithmes de la chaîne d'algorithmes ;
b) une étape de vérification automatique de règles fonctionnelles ;
c) une étape d'apprentissage pour modéliser par apprentissage des contraintes et des critères d'algorithmes de la chaîne d'algorithmes, en prenant en compte des validations réalisées par un opérateur humain, et des données capturées ; et
d) une étape de détection automatique de bogues ou de problèmes fonctionnels de la chaîne d'algorithmes à l'aide de moyens d'apprentissage statistique.
Ledit procédé conforme à l'invention permet d'améliorer et de faciliter le travail de validation d'algorithmes complexes, tel que ceux utilisés par exemple dans le domaine de l'aéronautique. Il permet notamment d'aider un opérateur à détecter plus rapidement des bogues ou « bugs » (à savoir des défauts de conception et de réalisation d'un algorithme se manifestant par des anomalies de fonctionnement) et des problèmes fonctionnels de la chaîne d'algorithmes vérifiée, ce qui permet de diminuer les délais et les coûts de la validation fonctionnelle de la chaîne d'algorithmes.
Selon l'invention, dans une étape antérieure, un ensemble de données de la chaîne d'algorithmes sont stockées dans des fichiers de sauvegarde, et l'étape a) consiste à lire ces fichiers de sauvegarde et à réaliser des requêtes sur les données contenues dans ces fichiers de sauvegarde. Ledit procédé comprend également au moins certaines des caractéristiques ou étapes suivantes, prises individuellement ou en combinaison :
- l'étape b) est configurée pour permettre de détecter une violation de règles et pour permettre de détecter si des éléments doivent être vérifiés par un opérateur ;
- l'étape d) réalise, à l'aide de moyens d'apprentissage statistique, une corrélation de données pour déterminer des règles générales de variations de sorties d'algorithmes de la chaîne d'algorithmes, et elle émet une alerte si une variation supérieure à un seuil donné d'une sortie d'un algorithme, par rapport à une sortie prédite, est détectée ;
- l'étape d) analyse la variation de résultats d'algorithmes de la chaîne d'algorithmes de manière à détecter, le cas échéant, des discontinuités et des variations anormales ;
- le procédé comprend une étape supplémentaire e) de classification de cas de test suspects (ou problématiques) identifiés ;
- le procédé comprend également une étape de définition de métriques et de visualisation de ces métriques.
En outre, avantageusement, l'étape c) est configurée :
- pour réaliser une analyse d'une structure fonctionnelle de la chaîne d'algorithmes et d'un code associé ;
- pour réaliser un apprentissage à l'aide de cas de test notés qui sont fournis par un opérateur ; et
- pour identifier les cas de test pertinents et ceux suspects, et pour présenter à l'opérateur au moins les cas de test suspects identifiés.
La présente invention permet notamment :
- de détecter, avec plus d'efficacité, des bogues dans des flots de données, utilisés par des algorithmes de la chaîne d'algorithmes ;
- d'aider un opérateur en charge de la validation, à analyser ces données ; et - d'accroître la confiance dans la phase de validation. La présente invention concerne également un système d'aide à la vérification et à la validation fonctionnelle d'une chaîne d'algorithmes.
Selon l'invention, ledit système comporte au moins les modules suivants, coordonnés par un système expert :
- un module d'instrumentation de la chaîne d'algorithmes, réalisant une capture automatique de données comprenant au moins certaines des données suivantes : des données d'interface et des données internes d'algorithmes de la chaîne d'algorithmes ;
- un module de vérification automatique de règles fonctionnelles ;
- un module d'apprentissage pour modéliser par apprentissage des contraintes et des critères d'algorithmes de la chaîne d'algorithmes, en prenant en compte des validations réalisées par un opérateur humain ; et
- un module de détection automatique de bogues ou de problèmes fonctionnels de la chaîne d'algorithmes à l'aide de moyens d'apprentissage statistique.
Avantageusement, ledit système comporte également :
- un ensemble de fichiers de sauvegarde dans lesquels sont stockées des données de la chaîne d'algorithmes, ledit module d'instrumentation étant configuré pour lire ces fichiers de sauvegarde et pour réaliser des requêtes sur les données contenues dans ces fichiers de sauvegarde ; et/ou
- une unité de visualisation de données issues du module d'instrumentation ; et/ou
- une unité de saisie de données permettant à un opérateur de saisir des données ; et/ou
- une unité de présentation des résultats issus du module de détection de bogues ; et/ou
- un module de classification de cas de test suspects (ou problématiques) identifiés.
L'unique figure 1 du dessin annexé fera bien comprendre comment l'invention peut être réalisée. Cette figure 1 est le schéma synoptique d'un système conforme à la présente invention. Le système 1 conforme à l'invention et représenté schématiquement sur la figure 1 est destiné à aider à la vérification et à la validation fonctionnelle d'une chaîne d'algorithmes.
Selon l'invention, ce système 1 comporte au moins les modules suivants, coordonnés par un système expert (non représenté) :
- un module d'instrumentation 2 de la chaîne d'algorithmes, qui est formé de manière à réaliser une capture automatique de données comprenant au moins certaines des données suivantes : des données d'interface et des données internes d'algorithmes de la chaîne d'algorithmes ;
- un module 3 de vérification automatique de règles fonctionnelles, qui est relié par l'intermédiaire d'une liaison 4 (de transmissions de données) audit module d'instrumentation 2 ;
- un module d'apprentissage 5 qui est relié par l'intermédiaire d'une liaison 6 (de transmissions de données) audit module de vérification 3 et qui est formé de manière à modéliser par apprentissage des contraintes et des critères d'algorithmes de la chaîne d'algorithmes, en prenant en compte des validations réalisées par un opérateur humain, et des données capturées par le module d'instrumentation 2 ; et
- un module de détection 7 qui est relié par l'intermédiaire d'une liaison 8 (de transmissions de données) audit module d'apprentissage 5 et qui est formé de manière à détecter automatiquement des bogues et de problèmes fonctionnels de la chaîne d'algorithmes, à l'aide de moyens d'apprentissage statistique.
Le système 1 comporte, de plus, un ensemble 9 de fichiers de sauvegarde dans lesquels sont stockées des données de la chaîne d'algorithmes. Le module d'instrumentation 2 est configuré pour lire ces fichiers de sauvegarde et pour réaliser des requêtes sur les données contenues dans ces fichiers de sauvegarde, comme illustré par une double flèche 10.
Ledit système 1 comporte, de plus : - une unité de visualisation 11 qui est reliée par l'intermédiaire d'une liaison 12 au module d'instrumentation 2 et qui est formée de manière à visualiser (en les affichant par exemple sur un écran non représenté ou en les imprimant) des données issues du module d'instrumentation 2, afin qu'un opérateur puisse prendre connaissance de ces données ; et
- une unité de saisie de données 13 permettant à un opérateur de saisir des données dans le système 1 et plus particulièrement dans le module d'apprentissage 5 (comme illustré par une liaison 14 sur la figure 1), et notamment des validations réalisées par l'opérateur.
Le système 1 qui comporte des modules (ou moteurs) réalisant des opérations mises en œuvre de façon automatique, apporte ainsi une aide à la vérification et à la validation d'une chaîne d'algorithmes (qui présente des phénomènes de régularité et de reproductibilité).
Ledit système 1 permet, en particulier, d'améliorer et de faciliter le travail de validation d'algorithmes complexes utilisés notamment dans le domaine aéronautique. Il permet d'aider un opérateur à détecter plus rapidement des bogues ou « bugs » (à savoir des défauts de conception et de réalisation d'un algorithme se manifestant par des anomalies de fonctionnement) et des problèmes fonctionnels de la chaîne d'algorithmes, ce qui permet de diminuer les délais et les coûts d'une validation fonctionnelle de la chaîne d'algorithmes.
Le module 2 d'instrumentation de la chaîne d'algorithmes permet la capture des données d'interfaces et/ou des données internes des algorithmes, qui sont pertinentes pour l'analyse et qui sont générées lors de l'exécution d'une chaîne d'algorithmes. Au moment de l'exécution d'une chaîne d'algorithmes (ou chaîne algorithmique), l'ensemble des données (entrées/sorties et données internes pertinentes des algorithmes) sont stockées dans des fichiers de sauvegarde (par exemple de type : csv, XML, base de données,...) de l'ensemble 9. Le module d'instrumentation 2 est capable de lire ces fichiers et de réaliser différentes requêtes intelligentes sur les données contenues dans ces fichiers de sauvegarde. En outre, le module de vérification 3 (ou module de règles) permet la vérification de règles fonctionnelles simples, grâce à un module d'inférence (non représenté). Les utilisateurs du système sont en charge d'écrire les règles fonctionnelles simples dans un dictionnaire de règles. Grâce au système expert et au module d'inférence, le module 3 arrive à combiner les règles, afin de déterminer s'il existe des violations d'une ou plusieurs de ces règles ou si certains éléments demandent une vérification de la part de l'opérateur en charge des tests.
Par ailleurs, le module d'apprentissage 5, issu du domaine de l'intelligence artificielle, permet la modélisation par apprentissage des contraintes et des critères des algorithmes. Ce module d'apprentissage 5 permet de capitaliser sur l'expérience acquise lors de la validation de scénarios par des opérateurs humains afin d'automatiser, de plus en plus, cette tâche.
Pour ce faire, ce module d'apprentissage 5 s'appuie sur une analyse de la structure fonctionnelle de la chaîne d'algorithmes considérée et du code, utilisant des métriques de quantification du risque que telle ou telle sous- fonction ou partie du code soit une source de problèmes fonctionnels.
Pour réaliser l'apprentissage du module 5, un opérateur humain doit fournir (via l'unité de saisie 13 notamment) un ensemble de cas de test notés sur un ensemble de critères et de contraintes (en indiquant par exemple si un scénario s'est bien déroulé ou sur quels aspects il est en défaut,...). Cette indication peut être réalisée de manière interactive lors d'un travail de validation fonctionnelle (manuelle) effectuée par l'opérateur. Grâce à cette base de tests et à l'ensemble des entrées/sorties des algorithmes (et en particulier de données du module 2), le module 5 est capable d'identifier les cas de test problématiques (ou suspects), et de présenter à l'utilisateur les cas de tests pertinents et/ou ceux suspects, par exemple via une unité de présentation d'informations 19 précisée ci-dessous ou via l'unité de visualisation 11. Le module d'apprentissage 5 peut comprendre des moyens se basant sur l'une des caractéristiques suivantes :
- des machines à vecteur de support (SVM) ;
- un « boosting » ;
- des réseaux de neurones pour un apprentissage supervisé ou non supervisé ;
- des arbres de décision ;
- des méthodes statistiques comme, par exemple, un modèle de mixture gaussienne ;
- une régression logistique ; et
- une analyse discriminante linéaire.
En outre, le module 7 de détection automatique de bogues détecte, grâce à l'utilisation de technologies (ou moyens) d'apprentissage statistique, des bogues potentiels dans la chaîne d'algorithmes. Un module de statistiques, pris en compte, réalise une corrélation des données considérées (notamment de données capturées de la chaîne d'algorithmes) afin de déterminer des règles générales d'évolution (ou de variation) des sorties des algorithmes. Si une variation trop importante des sorties d'un algorithme par rapport à une sortie prédite est identifiée, une alerte est émise à destination de l'opérateur (notamment au moyen d'une unité d'alerte 15 qui est, par exemple, reliée par l'intermédiaire d'une liaison 16 au module de détection 7). Ce module 7 permet également d'analyser la variation des résultats des algorithmes afin de détecter des discontinuités ou des variations en apparence anormales.
Par ailleurs, le système 1 comprend, de plus, un module de classification 17 de cas de test suspects (ou problématiques).
Lorsque le système 1 identifie un ensemble de cas de test problématiques, le module de classification 17 qui reçoit ces cas via une liaison 18 les organise en groupes. Ces groupes sont construits de façon à rassembler les cas de test par erreurs fonctionnelles similaires. Ceci permet à l'utilisateur du système 1 , auxquels ils sont présentés à l'aide par exemple d'une unité de visualisation 19 reliée par une liaison 20 au module de classification 17, de ne pas être submergé par un nombre trop élevé de cas de test, en réalisant une pré-analyse quantitative des scénarios. Les résultats sont ordonnés en fonction de leur pertinence et de métriques, et sont présentés ainsi.
On notera que la présente invention est différente des méthodes formelles qui permettent de prouver par la logique que le code source remplit bien l'ensemble des exigences fonctionnelles définies. En effet, le système 1 permet de capitaliser sur l'expérience d'un utilisateur afin de faciliter la validation de code non prouvé.
Pour accélérer l'analyse par un opérateur humain dans les phases de diagnostic, le système 1 comprend un module en charge de la définition de métriques et de la visualisation intelligente de ces métriques.
Le système 1 combine ainsi un ensemble de modules et de services capables de corréler, de façon pertinente, une grande masse d'informations, et notamment :
- des informations directement présentes dans les données produites par des algorithmes de la chaîne d'algorithmes ;
- des informations calculées par des post-traitements automatiques de ces données ;
- des informations a priori issues d'analyses sur la structure des données et du code ; et/ou
- des informations issues d'un apprentissage : apprentissage en interaction avec l'opérateur en charge des travaux de validation (apprentissage des procédures de vérification) et apprentissage de certains phénomènes prédictibles du comportement des algorithmes lorsque de tels phénomènes existent.
Ledit système 1 permet ainsi notamment ;
- de détecter, avec plus d'efficacité, des bogues dans des flots de données, utilisés par des algorithmes de la chaîne d'algorithmes ; - d'aider des opérateurs en charge de la validation, à analyser ces données ; et
- d'accroître la confiance dans la phase de validation.

Claims

REVENDICATIONS
1. Procédé d'aide à la vérification et à la validation fonctionnelle d'une chaîne d'algorithmes, ledit procédé comprenant une suite d'étapes comprenant au moins :
- une étape antérieure, dans laquelle au moment de l'exécution de la chaîne d'algorithmes un ensemble de données de la chaîne d'algorithmes sont stockées dans des fichiers de sauvegarde ;
a) une étape d'instrumentation de la chaîne d'algorithmes, réalisant une capture automatique de données comprenant au moins certaines des données suivantes : des données d'interface et des données internes d'algorithmes de la chaîne d'algorithmes, l'étape a) consistant à lire les fichiers de sauvegarde et à réaliser des requêtes sur les données contenues dans ces fichiers de sauvegarde ;
b) une étape de vérification automatique de règles fonctionnelles ;
c) une étape d'apprentissage pour modéliser par apprentissage des contraintes et des critères d'algorithmes de la chaîne d'algorithmes, en prenant en compte des validations réalisées par un opérateur humain, et des données capturées ; et
d) une étape de détection automatique de bogues ou de problèmes fonctionnels de la chaîne d'algorithmes à l'aide de moyens d'apprentissage statistique, l'étape d) réalisant à l'aide de moyens d'apprentissage statistique, une corrélation des données pour déterminer des règles générales de variations de sorties d'algorithmes de la chaîne d'algorithmes, et émettant une alerte si une variation supérieure à un seuil donné d'une sortie d'algorithme, par rapport à une sortie prédite, est détectée.
2. Procédé selon la revendication 1 ,
caractérisé en ce que l'étape b) est configurée pour permettre de détecter une violation de règles et pour permettre de détecter si des éléments doivent être vérifiés par un opérateur.
3. Procédé selon l'une des revendications 1 et 2,
caractérisé en ce que l'étape c) est configurée :
- pour réaliser une analyse d'une structure fonctionnelle de la chaîne d'algorithmes et d'un code associé ;
- pour réaliser un apprentissage à l'aide de cas de test notés qui sont fournis par un opérateur ; et
- pour identifier les cas de test pertinents et ceux suspects, et pour présenter à l'opérateur au moins les cas de test suspects identifiés.
4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'étape d) analyse la variation de résultats d'algorithmes de la chaîne d'algorithmes de manière à détecter, le cas échéant, des discontinuités et des variations anormales.
5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend une étape supplémentaire e) de classification de cas de test suspects identifiés.
6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend une étape de définition de métriques et de visualisation de ces métriques.
7. Système d'aide à la vérification et à la validation fonctionnelle d'une chaîne d'algorithmes, ledit système (1) comportant un ensemble (9) de fichiers de sauvegarde dans lesquels sont stockées des données de la chaîne d'algorithmes, et au moins les modules suivants, coordonnés par un système expert :
- un module (2) d'instrumentation de la chaîne d'algorithmes, réalisant une capture automatique de données comprenant au moins certaines des données suivantes : des données d'interface et des données internes d'algorithmes de la chaîne d'algorithmes, le module (2) d'instrumentation étant configuré pour lire les fichiers de sauvegarde et pour réaliser des requêtes sur les données contenues dans ces fichiers de sauvegarde ;
- un module (3) de vérification automatique de règles fonctionnelles ; - un module (5) d'apprentissage pour modéliser par apprentissage des contraintes et des critères d'algorithmes de la chaîne d'algorithmes, en prenant en compte des validations réalisées par un opérateur humain, et des données capturées ; et
- un module (7) de détection automatique de bogues ou de problèmes fonctionnels de la chaîne d'algorithmes à l'aide de moyens d'apprentissage statistique, ledit module (5) réalisant, à l'aide de moyens d'apprentissage statistique, une corrélation des données pour déterminer des règles générales de variations de sorties d'algorithmes de la chaîne d'algorithmes, une alerte étant émise si une variation supérieure à un seuil donné d'une sortie d'un algorithme, par rapport à une sortie prédite, est détectée.
8. Système selon la revendication 7,
caractérisé en ce qu'il comporte, de plus, une unité (11) de visualisation de données issues du module d'instrumentation (2).
9. Système selon l'une des revendications 7 et 8,
caractérisé en ce qu'il comporte, de plus, une unité (13) de saisie de données permettant à un opérateur de saisir des données.
10. Système selon l'une quelconque des revendications 7 à 9, caractérisé en ce qu'il comporte, de plus, une unité (19) de présentation de résultats issus du module (7) de détection de bogues.
11. Système selon l'une quelconque des revendications 7 à 10, caractérisé en ce qu'il comporte, de plus, un module (17) de classification de cas de test suspects identifiés.
12. Ensemble comprenant une chaîne d'algorithmes et un système (1) tel que celui spécifié sous l'une quelconque des revendications 7 à 11.
PCT/FR2014/000258 2013-12-10 2014-12-03 Procédé et système d'aide à la vérification et à la validation d'une chaîne d'algorithmes Ceased WO2015086916A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US15/102,242 US9921944B2 (en) 2013-12-10 2014-12-03 Method and system for assisting in the verification and validation of an algorithm chain
CN201480066956.XA CN105814546B (zh) 2013-12-10 2014-12-03 用于辅助对算法链的检验和验证的方法和系统
RU2016122212A RU2669686C1 (ru) 2013-12-10 2014-12-03 Способ и система для помощи в верификации и валидации цепи алгоритмов
IL246063A IL246063B (en) 2013-12-10 2016-06-06 Method and system for assisting in the verification and validation of an algorithm chain

Applications Claiming Priority (2)

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
FR13/02881 2013-12-10

Publications (1)

Publication Number Publication Date
WO2015086916A1 true WO2015086916A1 (fr) 2015-06-18

Family

ID=50721823

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2014/000258 Ceased WO2015086916A1 (fr) 2013-12-10 2014-12-03 Procédé et système d'aide à la vérification et à la validation d'une chaîne d'algorithmes

Country Status (9)

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

Families Citing this family (3)

* 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 深圳壹账通智能科技有限公司 接口数据处理方法、自动化测试方法、装置、设备和介质
KR20220095167A (ko) * 2020-12-29 2022-07-06 (주)심플랫폼 인공지능 검증 시스템 및 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0695990A2 (fr) * 1994-05-20 1996-02-07 AT&T Corp. Système de découverte de logiciel
US20090328002A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Analysis and Detection of Responsiveness Bugs
US20100281469A1 (en) * 2009-04-30 2010-11-04 Nec Laboratories America, Inc. Symbolic predictive analysis for concurrent programs
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

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP4906913B2 (ja) * 2007-03-02 2012-03-28 パナソニック株式会社 再生装置、システムlsi、初期化方法
US8424082B2 (en) * 2008-05-08 2013-04-16 Google Inc. Safely executing an untrusted native code module on a computing device
US9449281B2 (en) * 2008-12-31 2016-09-20 Sap Se Statistical machine learning
CN101571828B (zh) * 2009-06-11 2012-07-04 北京航空航天大学 基于约束分析和模型检验的代码安全漏洞检测方法
US8726254B2 (en) * 2009-06-20 2014-05-13 Microsoft Corporation Embedded annotation and program 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
US20140279770A1 (en) * 2013-03-15 2014-09-18 REMTCS Inc. Artificial neural network interface and methods of training the same for various use cases
US9582395B2 (en) * 2013-03-14 2017-02-28 Netflix, Inc. Critical systems inspector
WO2015006212A2 (fr) * 2013-07-10 2015-01-15 Hoffman George Kevin Systèmes et procédés de mesure et de suivi d'étiquettes d'identification par radiofréquence
WO2015047278A1 (fr) * 2013-09-26 2015-04-02 Intel Corporation Procédés et appareils destinés à la validation d'un code invité traduit au sein d'un traducteur binaire dynamique
US9338013B2 (en) * 2013-12-30 2016-05-10 Palantir Technologies Inc. Verifiable redactable audit log
US9823988B2 (en) * 2014-09-16 2017-11-21 Spirent Communications, Inc. System and method of test iteration via property chaining
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0695990A2 (fr) * 1994-05-20 1996-02-07 AT&T Corp. Système de découverte de logiciel
US20090328002A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Analysis and Detection of Responsiveness Bugs
US20100281469A1 (en) * 2009-04-30 2010-11-04 Nec Laboratories America, Inc. Symbolic predictive analysis for concurrent programs
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

Also Published As

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

Similar Documents

Publication Publication Date Title
US10025659B2 (en) System and method for batch monitoring of performance data
US9507847B2 (en) Automatic log sensor tuning
FR3105862A1 (fr) PROCEDE ET système DE SELECTION D’UN MODELE D’apprentissage AU SEIN D’UNE PLURALITE DE MODELES D’apprentissage
FR3105845A1 (fr) PROCEDE ET système DE TRAITEMENT DE DONNEES POUR LA PREPARATION D’UN JEU DE DONNEES
EP3350660B1 (fr) Système et procédé d'aide à la decision pour la maintenance d'une machine avec apprentissage d'un modèle de décision supervisé par avis d'experts
EP3215903B1 (fr) Outil de validation d'un système de surveillance d'un moteur d'aéronef
US20200050534A1 (en) System error detection
EP2912526A2 (fr) Système de surveillance d'un ensemble de composants d'un équipement
FR3013140A1 (fr) Systeme et procede de diagnostic de panne aeronef
US20180300229A1 (en) Root cause analysis of non-deterministic tests
EP2884393B1 (fr) Procédé et système d'aide à la vérification et à la validation d'une chaîne d'algorithmes
EP2686782A1 (fr) Procédé et dispositif permettant de repérer et d'étiqueter des pics, des augmentations ou des variations anormales ou exceptionnelles du débit d'un flux de documents numériques
FR3035232A1 (fr) Systeme de surveillance de l'etat de sante d'un moteur et procede de configuration associe
FR3012636A1 (fr) Procede de non-regression d'un outil de conception d'un systeme de surveillance de moteur d'aeronef
WO2009047435A2 (fr) Procédé de débogage d'un logiciel de fonctionnement d'un système embarqué à bord d'un aéronef et dispositif de mise en oeuvre
CN103366116B (zh) 移动终端的应用程序潜在威胁的预判系统、方法及装置
WO2017077247A1 (fr) Système et procédé de surveillance d'une turbomachine avec fusion d'indicateurs pour la synthèse d'une confirmation d'alarme
Nanda et al. Making defect-finding tools work for you
EP4562595A1 (fr) Dispositif de surveillance d'opération industrielle
FR3026882A1 (fr) Procede de determination d'au moins un equipement defaillant d'un aeronef et systeme correspondant
US20190129704A1 (en) Cognitive identification of related code changes
US20250217263A1 (en) System Simulation and Abnormality Detection
EP3267319A1 (fr) Procédé de test d'une interface graphique et système de test associé
FR3119038A1 (fr) Contrôle visuel d’un élément se déplaçant sur une ligne de production
WO2019122241A1 (fr) Procédé de construction automatique de scénarios d'attaques informatiques, produit programme d'ordinateur et système de construction associés

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14814914

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 246063

Country of ref document: IL

Ref document number: 15102242

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2016122212

Country of ref document: RU

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 14814914

Country of ref document: EP

Kind code of ref document: A1