Accueil🇫🇷Chercher

Instrumentation du code source

En informatique, l'instrumentation du code est une opération consistant à ajouter des instructions machine supplémentaires à un programme informatique sans nécessiter la modification du code source original. Elle est apparentée à l'instrumentation dans les sciences, d'où son nom.

Explication

La compilation du code source d'un programme génère un binaire (exécutable, ou code objet) ou bien du bytecode. L'instrumentation intervient avant, durant ou après la compilation pour ajouter des instructions supplémentaires. Les instructions ajoutées sont alors exécutées avec les autres lors de l'exécution du programme.

Utilisation

Les instructions ajoutées dépendent du but à atteindre par l'instrumentation.

  • Le profilage de code utilise l'instrumentation de code pour enregistrer les fonctions appelĂ©es et le temps passĂ© dans chacune d'elles, afin d'identifier les parties de code Ă  optimiser.
  • Le tissage dans la programmation orientĂ©e aspect modifie le binaire gĂ©nĂ©rĂ© lors de la compilation en ajoutant des capacitĂ©s supplĂ©mentaires au programme.
  • DĂ©terminer la couverture de code utilise l'instrumentation de code pour enregistrer les instructions exĂ©cutĂ©es et les chemins empruntĂ©s lors de l'exĂ©cution.
  • Le logiciel Purify dĂ©tecte les problèmes dans l'utilisation de la mĂ©moire (fuite de mĂ©moire, dĂ©rĂ©fĂ©rencement de pointeur NULL, etc.) dans un programme en l'instrumentant et en ajoutant des vĂ©rifications Ă  l'exĂ©cution.
  • La rĂ©cupĂ©ration de mĂ©moire peut se faire en instrumentant le code qui crĂ©e ou manipule des pointeurs.
  • L'exĂ©cution symbolique gĂ©nĂ©ralise la trace du programme pour trouver toutes les valeurs qui suivront le mĂŞme chemin dans le programme, en ajoutant une version symbolique de chaque instruction, et en accumulant les contraintes le long du chemin.

Voir aussi

  • Apache BCEL, une bibliothèque logicielle permettant de manipuler du bytecode Java pouvant ĂŞtre utilisĂ©e pour instrumenter un programme Java.
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.