2012
DOI: 10.1017/s0956796812000238
|View full text |Cite
|
Sign up to set email alerts
|

Systematic abstraction of abstract machines

Abstract: We describe a derivational approach to abstract interpretation that yields novel and transparently sound static analyses when applied to well-established abstract machines for higherorder and imperative programming languages. To demonstrate the technique and support our claim, we transform the CEK machine of Felleisen and Friedman (Proc. of the 14th ACM SIGACT-SIGPLAN Symp. Prin. Program. Langs, 1987, pp. 314-325), a lazy variant of Krivine's machine (Higher-Order Symb. Comput. Vol 20, 2007, pp. 199-207), and … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
10
0

Year Published

2013
2013
2019
2019

Publication Types

Select...
4
2

Relationship

5
1

Authors

Journals

citations
Cited by 14 publications
(10 citation statements)
references
References 46 publications
0
10
0
Order By: Relevance
“…At each step during the initial presentation and development, we evaluate the implementation on a benchmark from Vardoulakis and Shivers [29] that tests distributivity of multiplication over addition on Church numerals. For the step-by-step development, this benchmark is particularly informative:…”
Section: At a Glancementioning
confidence: 99%
See 2 more Smart Citations
“…At each step during the initial presentation and development, we evaluate the implementation on a benchmark from Vardoulakis and Shivers [29] that tests distributivity of multiplication over addition on Church numerals. For the step-by-step development, this benchmark is particularly informative:…”
Section: At a Glancementioning
confidence: 99%
“…Vardoulakis and Shivers evaluate their CFA2 analyzer [29] against a variant of 0-CFA defined in their framework and the example we draw on is the largest benchmark Vardoulakis and Shivers consider. More work would be required to scale the analyzer to the set of features required by our benchmarks.…”
Section: Comparison With Other Flow Analysis Implementationsmentioning
confidence: 99%
See 1 more Smart Citation
“…Luckily, there is an alternative to the CFG approach to analysis construction that is based instead on abstract machines, which are one step away from interpreters; they are interderivable in several instances [10]. This alternative, called abstracting abstract machines (AAM) [38], is a simple idea that is generally applicable to even the most dynamic of languages, e.g., JavaScript [21]. A downside is that all effective instantiations of AAM are finite state approximations.…”
Section: Introductionmentioning
confidence: 99%
“…Past approaches to designing program analyses have often featured abstractions that are far removed from the original language semantics, requiring ingenuity in their construction and effort in their verification. The abstracting abstract machines (AAM) approach [30,32] to deriving program analyses provides an alternative: a systematic way of transforming a programming language semantics in the form of an abstract machine into a family of abstract interpreters. It thus reduces the burden of constructing and verifying the soundness of an abstract interpreter.…”
Section: Introductionmentioning
confidence: 99%