2013
DOI: 10.4204/eptcs.129.7
|View full text |Cite
|
Sign up to set email alerts
|

Abstract Interpretation as a Programming Language

Abstract: In David Schmidt's PhD work he explored the use of denotational semantics as a programming language. It was part of an effort to not only treat formal semantics as specifications but also as interpreters and input to compiler generators. The semantics itself can be seen as a program and one may examine different programming styles and ways to represent states. Abstract interpretation is primarily a technique for derivation and specification of program analysis. As with denotational semantics we may also view a… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
11
0

Year Published

2014
2014
2021
2021

Publication Types

Select...
3
2

Relationship

0
5

Authors

Journals

citations
Cited by 5 publications
(11 citation statements)
references
References 26 publications
(33 reference statements)
0
11
0
Order By: Relevance
“…As we mentioned earlier, the ADI approach uses a two-cache mechanism to compute the least fixed-point and prevent non-termination. The caching algorithm is also called a co-inductive caching or truncated depth-first evaluation [Rosendahl 2013]. It has been used in other abstract interpreters or fixed-point computation [Darais et al 2017;Rosendahl 2013;Wei et al 2018].…”
Section: Abstract Semanticsmentioning
confidence: 99%
See 1 more Smart Citation
“…As we mentioned earlier, the ADI approach uses a two-cache mechanism to compute the least fixed-point and prevent non-termination. The caching algorithm is also called a co-inductive caching or truncated depth-first evaluation [Rosendahl 2013]. It has been used in other abstract interpreters or fixed-point computation [Darais et al 2017;Rosendahl 2013;Wei et al 2018].…”
Section: Abstract Semanticsmentioning
confidence: 99%
“…The caching algorithm is also called a co-inductive caching or truncated depth-first evaluation [Rosendahl 2013]. It has been used in other abstract interpreters or fixed-point computation [Darais et al 2017;Rosendahl 2013;Wei et al 2018]. The idea is to use an in cache and an out cache during the depth-first evaluation.…”
Section: Abstract Semanticsmentioning
confidence: 99%
“…Partition-driven trace memoization The idea is to detect the paths where execution recursively meets similar input, merging the new recursive node with the similar previous one, thus creating a loop in the execution tree [41,43]. This loop is then resolved by a fixed-point iteration.…”
Section: Motivation and Overviewmentioning
confidence: 99%
“…Abstract interpretation and static program analysis in general perform fixed-point calculation for analysing unbounded loops and recursion. In Schmidt-style abstract interpretation, the main technique to handle recursion is trace memoization [41,43]. The core idea of trace memoization is to detect non-structural re-evaluation of the same program element, i.e., when the evaluation of a program element is recursively dependent on itself, like a while-loop or traversal.…”
Section: Trace Memoizationmentioning
confidence: 99%
See 1 more Smart Citation