Exécution (phase de cycle de vie d'un programme informatique)
# Exécution (phase de cycle de vie d'un programme informatique)

En informatique , l'exécution (runtime ou run time), ou le temps d'exécution est la phase finale du cycle de vie d'un programme informatique, dans lequel le code est exécuté par l'unité centrale de traitement (CPU) de l'ordinateur comme code machine. En d'autres termes, le runtime est la phase d'exécution d'un programme.

Une erreur d'exécution est détectée pendant ou après l'exécution (état de marche) d'un programme, alors que les erreurs de compilation sont toujours détectées par le compilateur avant l'exécution du programme. La vérification de type, l'allocation de registres, la génération de code et l'optimisation de code sont généralement effectués au moment de la compilation, mais peuvent être effectués au moment de l'exécution en fonction du langage indiqué et du compilateur. De nombreuses autres erreurs d'exécution existent et sont gérées différemment par différents langages de programmation, telles que les erreurs de division par zéro, les erreurs de domaine, les erreurs d'indice de tableau hors limites, les erreurs de dépassement arithmétique, plusieurs types d'erreurs de dépassement, et de nombreuses autres erreurs d'exécution généralement considérées comme des bogues logiciels qui peuvent ou non être détectés et traités par un langage informatique particulier.

## Détails d'implémentation

Lorsqu'un programme doit être exécuté, un chargeur effectue d'abord la configuration de la mémoire nécessaire et lie le programme avec toutes les bibliothèques liées dynamiquement dont il a besoin, puis l'exécution commence à partir du point d'entrée du programme. Dans certains cas, un langage ou une implémentation aura à la place ces tâches effectuées par l'environnement d'exécution du langage, bien que cela soit inhabituel dans les langages courants sur les systèmes d'exploitation grand public courants.

Certains débogages de programmes ne peuvent être effectués (ou sont plus efficaces ou plus précis lorsqu'ils sont effectués) qu'au moment de l'exécution. Les erreurs logiques et la vérification des limites du tableau en sont des exemples. Pour cette raison, certains bogues de programmation ne sont pas découverts tant que le programme n'est pas testé dans un environnement de production avec des données réelles, malgré une vérification sophistiquée au moment de la compilation et des tests de version préliminaire. Dans ce cas, l'utilisateur final peut rencontrer un message « erreur d'exécution ».

## Erreurs d'application (exceptions)

Gestion des exceptions est une fonctionnalité de langage conçue pour gérer les erreurs d'exécution, fournissant un moyen structuré d'attraper des situations complètement inattendues ainsi que des erreurs prévisibles ou des résultats inhabituels sans que le total des vérifications d'erreurs intégrées requise des langages. Des avancées plus récentes dans les moteurs d'exécution permettent la gestion automatisée des exceptions qui fournit des informations de débogage "cause première" pour chaque exception d'intérêt et est implémenté indépendamment du code source, en attachant un produit logiciel spécial au moteur d'exécution.

