vous êtes : accueil > > Système d'Information > Validation numérique> Méthode de validation > Valimode (English)

Système d'Information |

Imprimer l'articleEnvoyer à un ami

VALIDATION NUMÉRIQUE - MÉTHODE DE VALIDATION

VALIMODE (ENGLISH)

VALIMODE has been design from the experience of numerical validation. Its principles are applicable for all types of software because it relies on core software principles such as specification, meaning, transformation and language.

In fact VALIMODE is an application of Six Sigma methodology to deploy a Problem Solving approach in a software product lifecycle.


Managing the software non conformities (bugs) :

A software (set of instructions) is the translation of specifications into runtimes. The initial specification is written in a natural language and this initial expression is successively transformed into different stages of coding (natural specification, formal specification, pseudo-coding, language coding, machine coding, run-time…) in order to obtain, at a final step, the runtime that will process on a dedicated environment.

 

Our experience have pointed out that a frequent cause of bugs is that the translation is incomplete during the successive transformations, from natural language to runtime. The point is that each translation loses part of the initial meaning of the specification and, therefore, the final translation is far from the initial meaning. The bug is at first, a difference in what the user is expecting and what the software is doing. But this misunderstanding can lead to technical bugs (different understanding from the implementation side) that can seriously injure the core functions of the software.

So, at each transformation step of the code, the method checks up the following:

Is the transformed code still doing what we ask it to do ?


Application to numerical calculus:

This method is totally formalized for specifications based on numerical values. In this case, the method can take advantage of tools for static or dynamic analysis of code. This procedure is also applicable to formalize specification of set theory (True/False, In/Out…).

                   


Implementation of the approach:

The main implementation stages are :

  1. Establish the key transformation stages of the specification,
  2. At each stage, establish :
    1. The type of transformation (technological…),
    2. The statistics of the defects detected at the validation step of the stage,
    3. The statistics of the events of the stage.
  3. Then, compare the results of the tests with the meaning of the specification,
  4. From these results, establish a validation plan for each specification (quality plan, tests plan, approval step…).  

Main stages of the approach:

We walk through the whole lifecycle of the software product, with a distinction between the development phase and the operating phase.


Table for controlling the software building:

 .

Analyzed specifications

 

     Stages of building the software

   Transformation  

   Incidents management (dpmo)  

   Events management 

   Needs and expectations

 

 

 

   Specifications

 

 

 

   Design (models selection)

 

 

 

   System architecture

 

 

 

   Software architecture

 

 

 

   Algorithms selection

 

 

 

   Selection of implementation techniques :

-         programming techniques,

-         language selection

 

 

 

   Compiler selection and implementation

 

 

 

   Tests strategy (pseudo-code, simulation, runtime…)

 

 

 

At each stage, one have to count the numbers of defects and events and the significant defects and events are compared to the meaning of the transformation stage. The point is to dig out from the statistics of the events and the defects, the meaning of their impact on the transformation (even if there are locally corrected). The point is to bring some meanings to the statistics in order to prepare for a future root cause analysis.


Table for controlling the software in use:

Stages of software in use

Analyzed specification

 

 

  Transformation  

  Incidents management (dpmo)

  Events management

Tests on software prototype

 

 

 

Online step

 

 

 

Stress tests

 

 

 

Scalabitity tests

 

 

 

Tests of operating phase

 

 

 

Recovery tests (option)

 

 

 

Tests on updated software prototype   

 

 

 

Again, at each stage, one have to count the numbers of defects and events and the significant defects and events are compared to the meaning of the transformation stage. The point is to dig out from the statistics of the events and the defects, the meaning of their impact on the transformation (even if there are locally corrected). The point is to bring some meanings to the statistics in order to prepare for a future root cause analysis.


Root cause analysis:

The root cause analysis is deployed when a difficult problem occurs and that it is of vital importance to solve it.

The root cause analysis is performed by comparing the incidents and events between the development and the operation phases of the software lifecycle. The previous analyses were conducted in order to prepare the ground for the root cause analysis.


Benchmark :

During the analysis, the statistics collected at the different stages are compared with the ones of NUMERAL ADVANCE database, which is composed of fifteen cases of embedded software applications.

                              Sectors                             

                              Number of cases                             

   Space

3

   Aeronautic

1

   Automobile

3

   Telecom

7


Benefits of VALIMODE method :

  1. The validation process of the code is linked to the meaning of the user specification,
  2. The method is independent from the software development methods, from the product tree structure, from the quality plan and from the project management method.
  3. Use of internal statistics for root cause analysis and solution deployment
  4. Use of internal statistics to build a tests plan,
  5. Use of a market benchmark to establish the best tests plan,
  6. Total compatibility with DMAIC or DFSS method. 


References :

This method was design initially from software validation projects for CNES Evry, CNES Toulouse, Thalès Optronique, EADS LV, Renault, ONERA and PSA.


Practical information :

To implement VALIMODE in your software development organisation, call : numeraladvance@gmail.com