Témoignage
 

Rubrique « Info »

 



Écrivez à AILES !



Retour vers programmation



Retour vers les questions Langage



Retour vers les questions Bugs
 


Questionnaire Langage de programmation
Bugs

[Validation], [YArms], [TeamShare]


    Voici les bugs dévoilés, dans leurs diversités.
    Vous verrez que ces animaux peuvent se classer, s'étudier et surtout s'éliminer, pour peu que l'on sache de quoi l'on parle. (Ou alors, il suffit de suivre les 3 premières commandements des
10 Commandements du vrai programmeur!) 
    Pour cela, rappelons l'article de Laurent Bossavit (
[LBossavit]) sur la signification d'un Bug, ainsi que l'illustration "les mots révèlent les cultures".

Termes et définitions autours du mot bug :
Error (ISO) A discrepancy between a computed, observed, or measured value or condition and the true, specified, or theoretically correct value or condition. [Validation]
 
Bug A fault in a program which causes the program to perform in an unintended or unanticipated manner. [Validation]
Fault (bug) An incorrect step, process, or data definition in a computer program which causes the program to perform in an unintended or unanticipated manner. [Validation]
Programming or design error whereby the delivered system does not conform to specification [YArms]
Exception (IEEE) An event that causes suspension of normal program operation. Types include addressing exception, data exception, operation exception, overflow exception, protection exception, underflow exception.  [Validation]
 
Defect.
A first try at simple definition for defect might be: A defect is a deviation from specification.
This means that someone in the process makes an error that leads to a fault in the software that causes a failure. 
While this is true, it doesn't cover the entirely lifecycle adequately. A better definition would be:
A defect is a deviation between desired result and observed result.
This definition recognizes the fact that the specification itself may have defects. [TeamShare]
Failure (IEEE) The inability of a system or component to perform its required functions within specified performance requirements. [Validation]
Software does not deliver the service expected by the user (e.g., mistake in requirements) [YArms]
Anomaly (IEEE) Anything observed in the documentation or operation of software that deviates from expectations based on previously verified software products or reference documents. [Validation]


Bug et "Défaut" (Defect)

    L'illustration "les mots révèlent les cultures" de l'article de Laurent Bossavit ([LBossavit]) sur la signification d'un Bug insistait sur la déresponsabilisation liée au mot bug.
    [TeamShare] met en évidence le lien entre l'un et l'autre :
Someone in the process makes an error that leads to a fault in the software that causes a failure. 
    Ici, une erreur est synonyme de bug. N'importe qui (ou n'importe quoi!) peut faire une erreur...
    Une faute est le symptôme de cette erreur.
    "Failure" est synonyme de "Defect" et il est de la responsabilité du programmeur de la traiter. Un simple "debugging" peut ne pas suffire (cf. réponse ci-dessous).
    La responsabilité humaine va croissante d'un terme à l'autre. 

Catégories des termes liés à bugs

    En fait, les catégories sont illustrées par les 3 tableaux de la première réponse.
    - on trouve d'abord ce qui se trouve à l'origine du bug : une
erreur.
    - on tombe alors sur un "bug" ou une "faute". Elle peut se caractériser plus spécifiquement par une exception.
    - on traite alors un "défaut" ou un "échec", dont une anomalie est une version plus spécifique.


"Debugging" et "Failure Analysis"

Debugging (Myers) Determining the exact nature and location of a program error, and fixing the error. [Validation]
Cela comprend ([YArms])
Isolate the bug
   Intermittent --> repeatable
   Complex example --> simple example
Understand the bug
   Root cause
   Dependencies
   Structural interactions
Fix the bug
   Design changes
   Documentation changes
   Code changes
Failure analysis Determining the exact nature and location of a program error in order to:
- fix the error (donc comme debugging), 
- identify and fix other similar errors
- initiate corrective action to prevent future occurrences of this type of error. Contrast with debugging. [Validation]

 


               
 
Avertissement !
 
Décollage !  |  Présentation du site web "AILES"  | 
Infos générales  |  articles "Informatique"