A relational approach to interprocedural shape analysis
Article Ecrit par: Jeannet, Bertrand ; Sagiv, Mooly ; Loginov, Alexey ; Reps, Thomas ;
Résumé: This article addresses the verification of properties of imperative programs with recursive procedure calls, heap-allocated storage, and destructive updating of pointer-valued fields, that is, interprocedural shape analysis. The article makes three contributions. —It introduces a new method for abstracting relations over memory configurations for use in abstract interpretation. —It shows how this method furnishes the elements needed for a compositional approach to shape analysis. In particular, abstracted relations are used to represent the shape transformation performed by a sequence of operations, and an overapproximation to relational composition can be performed using the meet operation of the domain of abstracted relations. —It applies these ideas in a new algorithm for context-sensitive interprocedural shape analysis. The algorithm creates procedure summaries using abstracted relations over memory configurations, and the meet-based composition operation provides a way to apply the summary transformer for a procedure P at each call site from which P is called.
Langue:
Anglais