Control-Flow Analysis of Function Calls and Returns by Abstract Interpretation

Jan Midtgaard 1, * Thomas P. Jensen 2
* Auteur correspondant
2 CELTIQUE - Software certification with semantic analysis
Inria Rennes – Bretagne Atlantique , IRISA-D4 - LANGAGE ET GÉNIE LOGICIEL
Abstract : We derive a control-flow analysis that approximates the interprocedural control-flow of both function calls and returns in the presence of first-class functions and tail-call optimization. In addition to an abstract environment, our analysis computes for each expression an abstract control stack, effectively approximating where function calls return across optimized tail calls. The analysis is systematically calculated by abstract interpretation of the stack-based CaEK abstract machine of Flanagan et al. using a series of Galois connections. Abstract interpretation provides a unifying setting in which we 1) prove the analysis equivalent to the composition of a continuation-passing style (CPS) transformation followed by an abstract interpretation of a stack-less CPS machine, and 2) extract an equivalent constraint-based analysis formulation, thereby providing a rational reconstruction of a constraint-based control-flow analysis from abstract interpretation principles.
Type de document :
Rapport
[Research Report] RR-6681, INRIA. 2009
Liste complète des métadonnées

Littérature citée [44 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/inria-00328154
Contributeur : Jan Midtgaard <>
Soumis le : mercredi 29 juillet 2009 - 16:20:55
Dernière modification le : mardi 16 janvier 2018 - 15:54:15
Document(s) archivé(s) le : jeudi 23 septembre 2010 - 17:25:44

Fichier

RR-6681.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : inria-00328154, version 3

Citation

Jan Midtgaard, Thomas P. Jensen. Control-Flow Analysis of Function Calls and Returns by Abstract Interpretation. [Research Report] RR-6681, INRIA. 2009. 〈inria-00328154v3〉

Partager

Métriques

Consultations de la notice

374

Téléchargements de fichiers

203