The present invention relates to a method and a system for assisting in the verification and validation of an algorithm chain.
Within the scope of the present invention, an 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 of a user device on which said algorithm chain is loaded.
The present invention can apply to an algorithm chain embedded in a device or projectile, for example on a missile, or even to a non-embedded algorithm chain before it is loaded on a user device.
Validation and verification of an algorithm chain (or algorithmic chain) are very complex and costly tasks, in particular because of the many increments that involve the correction of bugs and adjustment of criteria, and because of the many interactions between the different algorithmic modules. This complexity likewise causes a difficulty in scheduling the task of validating and verifying an algorithm chain.
Because of this complexity, human intervention by an operator having in-depth knowledge of the algorithm chain is necessary. Comprehensive verification by a human operator of all the parameters and data to be analysed is a long, tedious or even impossible process.
Furthermore, the operator is not infallible and cannot analyse all the relevant parameters.
This conventional solution of verifying and validating an algorithm chain being the responsibility of a single human operator is therefore not satisfactory.
The object of the present invention is to overcome this drawback. The present invention relates to a method for assisting the verification and validation of an algorithm chain, providing assistance to a human operator.
To this end, according to the invention, said method is noteworthy in that it comprises:
a) a step of instrumenting the algorithm chain, automatically capturing data that include at least some of the following data: interface data and internal algorithm data of the algorithm chain;
b) a step of automatically verifying functional rules;
c) a learning step for modelling by learning the constraints and algorithm criteria of the algorithm chain, taking into account validations carried out by a human operator, and data captured; and
d) a step of automatically detecting bugs or functional problems in the algorithm chain using statistical learning means.
Said method according to the invention makes it possible to improve and simplify the validation of complex algorithms, such as those used for example in the field of aeronautics. In particular, it makes it possible to assist an operator in detecting the bugs more quickly (specifically design and implementation faults in an algorithm that are shown by anomalies in operation) and operational problems in the verified algorithm chain, which makes it possible for delays in and costs of the functional validation of the algorithm chain to be reduced.
According to the invention, in an earlier step, a data set of the algorithm chain is stored in the backup files and step a) consists in reading said backup files and creating queries about the data contained in said backup files.
Said method also comprises at least some of the following features or steps, taken individually or in combination:
Advantageously, step c) is further configured
The present invention makes it possible in particular:
The present invention also relates to a system for assisting the verification and operational validation of an algorithm chain.
According to the invention, said system comprises at least the following modules, coordinated by an expert system:
Advantageously, said system further comprises:
The single FIGURE,
The system 1 according to the invention shown schematically in
According to the invention, said system 1 comprises at least the following modules, coordinated by an expert system (not shown):
The system 1 further comprises a set 9 of backup files in which data of the algorithm chain are stored. The instrumentation module 2 is configured to read said backup files and to create queries about the data contained in said backup files, as shown by a double arrow 10.
Said system 1 further comprises:
The system 1 which comprises modules (or motors) carrying out automatic operations also assists the verification and validation of an algorithm chain (which shows regularity and replication phenomena).
Said system 1 makes it possible, in particular, to improve and simplify the validation of complex algorithms used in particular in the field of aeronautics. It makes it possible to assist an operator in detecting bugs more quickly (specifically design and implementation faults in an algorithm that are shown by anomalies in operation) and operational problems in the algorithm chain, which makes it possible for delays in and costs of a functional validation of the algorithm chain to be reduced.
The instrumentation module 2 of the algorithm chain makes it possible to capture the interface data and/or the internal algorithm data, which are relevant for the analysis and are generated when an algorithm chain is executed. When an algorithm chain (or algorithmic chain) is executed, the set of data (that has been input/output and relevant internal data of the algorithms) is stored in backup files (for example of the following types: csv, XML, database, etc.) of the set 9. The instrumentation module 2 is suitable for reading said files and creating different intelligent queries about the data contained in said backup files.
Furthermore, the verification module 3 (or rule module) makes it possible for simple operational rules to be verified, due to an inference module (not shown). The users of the system are responsible for writing the simple operational rules in a rules dictionary. Because of the expert system and the inference module, the module 3 combines the rules in order to determine if there are any breaches of one or more of said rules or if some elements require verification by the operator responsible for the tests.
Moreover, the learning module 5, from the field of artificial intelligence, allows modelling by learning the constraints and algorithm criteria. Said learning module 5 makes it possible to capitalise on the experience acquired during the validation of scenarios by human operators in order to increasingly automate said task.
In order to achieve this, said learning module 5 is based on an analysis of the operational structure of the algorithm chain in question and of the code, using metrics for quantifying the risk that one or another sub-function or portion of the code is a source of operational problems.
In order to carry out the learning of the module 5, a human operator has to provide (by means of the entry unit 13 in particular) a set of noted test cases on a set of criteria and constraints (by indicating for example if a scenario took place without fault or which aspects are at fault, etc.). This indication can take place interactively when (manual) operational validation is carried out by the operator. Because of said test basis and the set of inputs/outputs of the algorithms (and in particular of data of the module 2), the module 5 is suitable for identifying the problematic (or suspect) test cases, and for displaying to the user the relevant and/or suspect test cases, for example by means of an information presentation unit 19 described below or by means of the display unit 11.
The learning module 5 may comprise means based on one of the following features:
Furthermore, the module 7 for automatically detecting bugs detects potential bugs in the algorithm chain because of the use of statistical learning technologies (or means). A statistical module which is taken into account creates a correlation of the data in question (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 an excessively great variation in the outputs of an algorithm compared with a predetermined output is identified, a warning is sent to the operator (in particular by means of a warning unit 15 which is for example connected by a link 16 to the detection module 7). Said module 7 makes it possible to analyse the variation in the results of the algorithms in order to detect discontinuities or variations that appear to be abnormal.
Moreover, the system 1 further comprises a module 17 for classifying the suspect (or problematic) test cases.
When the system 1 identifies a set of problematic test cases, the classification module 17, which receives said cases via a link 18, organises said cases into groups. Said groups are designed so as to group the test cases in terms of similar operational errors. This makes it possible for the user of the system 1, to which said groups are presented using for example a display unit 19 connected by a link 20 to the classification module 17, to not be overwhelmed by an excessively large number of test cases by creating a quantitative pre-analysis of the scenarios. The results are ordered depending on their relevance and on metrics, and are presented in this way.
It should be noted that the present invention is different from formal methods, which make it possible to demonstrate by the logic that the source code fulfils all the operational requirements defined. Indeed, the system 1 makes it possible to capitalise on the experience of a user in order to simplify the validation of code that is not demonstrated.
In order to speed up the analysis by a human operator in the diagnostic phases, the system 1 comprises a module that is responsible for defining metrics and for the intelligent display of said metrics.
The system 1 thus combines a set of modules and services that can correlate, in a relevant manner, a large amount of information, and in particular:
Said system 1 thus makes it possible in particular:
Number | Date | Country | Kind |
---|---|---|---|
13 02881 | Dec 2013 | FR | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/FR2014/000258 | 12/3/2014 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2015/086916 | 6/18/2015 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
9158639 | Hu | Oct 2015 | B2 |
9223553 | Venkatasubramanian | Dec 2015 | B2 |
9449274 | Randerath | Sep 2016 | B2 |
20050149505 | Bossman | Jul 2005 | A1 |
20080208777 | Stephens | Aug 2008 | A1 |
20090282474 | Chen | Nov 2009 | A1 |
20090328002 | Lin et al. | Dec 2009 | A1 |
20100031347 | Ohto | Feb 2010 | A1 |
20100169245 | Basel | Jul 2010 | A1 |
20100281469 | Wang et al. | Nov 2010 | A1 |
20100325620 | Rohde | Dec 2010 | A1 |
20120089873 | Wang et al. | Apr 2012 | A1 |
20120151271 | Ganai | Jun 2012 | A1 |
20120311574 | Song | Dec 2012 | A1 |
20130326276 | Hu | Dec 2013 | A1 |
20140040667 | Zemer | Feb 2014 | A1 |
20140156570 | Randerath | Jun 2014 | A1 |
20140279762 | Xaypanya | Sep 2014 | A1 |
20140281739 | Tuffs | Sep 2014 | A1 |
20150015366 | Hoffman | Jan 2015 | A1 |
20150178104 | Venkatasubramanian | Jun 2015 | A1 |
20150188715 | Castellucci | Jul 2015 | A1 |
20160080243 | Kodama | Mar 2016 | A1 |
20160299830 | Chastain | Oct 2016 | A1 |
20170010959 | Smith | Jan 2017 | A1 |
20170270034 | Cai | Sep 2017 | A1 |
Number | Date | Country |
---|---|---|
0 695 990 | Feb 1996 | EP |
Entry |
---|
Written Opinion of the International Searching Authority dated Feb. 23, 2015, issued in corresponding International Application No. PCT/FR2014/000258, filed Dec. 3, 2014, 10 pages. |
International Preliminary Report on Patentability dated Jun. 14, 2016, issued in corresponding International Application No. PCT/FR2014/000258, filed Dec. 3, 2014, 1 page. |
International Search Report dated Feb. 23, 2015, issued in corresponding International Application No. PCT/FR2014/000258, filed Dec. 3, 2014, 6 pages. |
Number | Date | Country | |
---|---|---|---|
20160314059 A1 | Oct 2016 | US |