Une nouvelle spécification technique du langage C, connue sous le numéro ISO/IEC TS 6010, vient d'être publiée. Elle vise à clarifier et normaliser la gestion des pointeurs lors de l'exécution d'un programme C.
Pendant plus de 10 ans, des chercheurs d'Inria, de l'Université de Cambridge et de l'Université de Graz ont travaillé sur cette problématique. Ils ont constaté que le manque de précision dans les normes existantes pouvait entraîner des conflits d'interprétation lors de l'utilisation des pointeurs, notamment en cas d'erreurs de programmation.
"Lors de l'exécution d'un programme, il arrive que deux valeurs de pointeurs renvoient vers le même objet en mémoire, ce qui peut conduire à des bugs sévères si le comportement n'est pas clairement défini", explique Jens Gustedt, directeur de recherche chez Inria.
Cette nouvelle spécification technique vise donc à fournir une base mathématique solide pour définir la provenance des pointeurs en langage C. L'objectif est de permettre aux compilateurs d'interpréter les programmes de manière plus fiable et prédictible, réduisant ainsi les risques d'erreurs liées à la gestion de la mémoire.
Cette avancée importante dans la gestion des pointeurs en C pourrait également avoir des répercussions sur d'autres langages de programmation.