À retenir
- Le dépassement signifie que la capacité maximale a été franchie.
- Cela peut entraîner des comportements imprévisibles ou des pannes.
- C'est une cause majeure de failles de sécurité exploitées par les pirates.
En informatique et en technique, un dépassement survient lorsqu'une valeur ou une quantité de données franchit la limite maximale autorisée par un contenant (mémoire, variable ou registre). On peut comparer cela à un verre d'eau que l'on continue de remplir alors qu'il est déjà plein : le liquide s'échappe, ce qui, dans un logiciel, peut provoquer des erreurs, des plantages ou des failles de sécurité.
Étymologie
Issu du verbe dépasser (aller au-delà d'une borne) avec le suffixe -ment. En informatique, il s'agit souvent de la traduction du terme anglais overflow, utilisé dès les débuts de la programmation pour décrire les erreurs de calcul arithmétique.
Exemples d'usage
- Dépassement d'entier : tenter d'ajouter 1 à la valeur maximale qu'un compteur peut stocker, ce qui le fait souvent repartir à zéro.
- Dépassement de tampon (Buffer Overflow) : envoyer plus d'informations qu'une zone mémoire ne peut en recevoir, ce qui écrase les données voisines.
- Dépassement de pile : une fonction qui s'appelle elle-même à l'infini jusqu'à saturer la mémoire de travail du programme.
Cas d'usage
Ce concept est omniprésent en programmation système, en cybersécurité (pour détecter des vulnérabilités) et lors de la conception de circuits électroniques où les capacités de stockage sont limitées physiquement.
Bonnes pratiques
Il est crucial de toujours vérifier la taille des données avant de les manipuler (contrôle aux limites). En développement, l'utilisation de langages dits "sûrs" ou de bibliothèques qui gèrent automatiquement les limites de mémoire permet d'éviter la majorité des accidents liés au dépassement.
Synonymes
Antonymes
Conseil
Si vous débutez en programmation, apprenez à bien choisir vos types de variables (par exemple, un Integer vs un Long) en fonction de la taille maximale des données que vous prévoyez de manipuler.
Questions fréquentes
Que se passe-t-il concrètement lors d'un dépassement de calcul ?
Généralement, la valeur 'boucle' et revient à son minimum. Par exemple, si le maximum est 99 et que vous ajoutez 1, le système peut afficher 00.
Un dépassement est-il toujours grave ?
Oui, car il corrompt l'état logique du programme. Même s'il ne plante pas immédiatement, les calculs suivants seront faux.