Key points are not available for this paper at this time.
Cet article présente un algorithme d'analyse inter-procédural pratique pour détecter les fuites de mémoire dans les programmes C. Notre algorithme suit le flux des valeurs des points d'allocation aux points de désallocation à l'aide d'une représentation éparse du programme consistant en un graphe de flux de valeurs qui capture les relations d'utilisation et de définition ainsi que les flux de valeurs via les affectations du programme. Les arêtes du graphe sont annotées avec des gardes décrivant les conditions de branchement dans le programme. L'analyse des fuites de mémoire est réduite à un problème d'atteignabilité sur le graphe de flux de valeurs protégé. Notre outil mis en œuvre a été efficace pour détecter plus de 60 fuites de mémoire dans les benchmarks SPEC2000 et dans deux applications open-source, bash et sshd, tout en maintenant le taux de faux positifs en dessous de 20 %. La représentation éparse du programme rend l'outil efficace en pratique et lui permet de rapporter des messages d'erreur concis.
Cherem et al. (Sun,) ont étudié cette question.