Abstracting Abstract Machines - Computer Science > Programming LanguagesReportar como inadecuado




Abstracting Abstract Machines - Computer Science > Programming Languages - Descarga este documento en PDF. Documentación en PDF para descargar gratis. Disponible también para leer online.

Abstract: We describe a derivational approach to abstract interpretation that yieldsnovel and transparently sound static analyses when applied to well-establishedabstract machines. To demonstrate the technique and support our claim, wetransform the CEK machine of Felleisen and Friedman, a lazy variant ofKrivine-s machine, and the stack-inspecting CM machine of Clements andFelleisen into abstract interpretations of themselves. The resulting analysesbound temporal ordering of program events; predict return-flow andstack-inspection behavior; and approximate the flow and evaluation of by-needparameters. For all of these machines, we find that a series of well-knownconcrete machine refactorings, plus a technique we call store-allocatedcontinuations, leads to machines that abstract into static analyses simply bybounding their stores. We demonstrate that the technique scales up uniformly toallow static analysis of realistic language features, including tail calls,conditionals, side effects, exceptions, first-class continuations, and evengarbage collection.



Autor: David Van Horn, Matthew Might

Fuente: https://arxiv.org/







Documentos relacionados