2018
DOI: 10.1145/3276509
|View full text |Cite
|
Sign up to set email alerts
|

Incrementalizing lattice-based program analyses in Datalog

Abstract: Program analyses detect errors in code, but when code changes frequently as in an IDE, repeated re-analysis from-scratch is unnecessary: It leads to poor performance unless we give up on precision and recall. Incremental program analysis promises to deliver fast feedback without giving up on precision or recall by deriving a new analysis result from the previous one. However, Datalog and other existing frameworks for incremental program analysis are limited in expressive power: They only support the powerset l… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
15
0

Year Published

2020
2020
2024
2024

Publication Types

Select...
5
3
1

Relationship

1
8

Authors

Journals

citations
Cited by 31 publications
(15 citation statements)
references
References 41 publications
(50 reference statements)
0
15
0
Order By: Relevance
“…The literature has proposed a number of different techniques for incremental updates of Datalogstyle analyses [Gupta et al 1993;Szabó et al 2018]. However, we found these techniques unsuitable for JavaDL: first, they assume that all ground facts are permanently stored in a database.…”
Section: Incremental Architecturementioning
confidence: 99%
“…The literature has proposed a number of different techniques for incremental updates of Datalogstyle analyses [Gupta et al 1993;Szabó et al 2018]. However, we found these techniques unsuitable for JavaDL: first, they assume that all ground facts are permanently stored in a database.…”
Section: Incremental Architecturementioning
confidence: 99%
“…To demonstrate that truediff can be used to drive incremental computing, we have reimplemented the driver of the incremental program analysis framework IncA [20]. IncA incrementally maintains a Datalog database of derived properties about a syntax tree, such as typing [15,21] or points-to information [19]. However, IncA so far required that programs were edited in a projectional editor, which issues fine-grained change notifications.…”
Section: Concisenessmentioning
confidence: 99%
“…The application of incremental computation to program analysis is similarly well-studied, going back at least to the development of incremental dataflow analyses to support responsive continuous compilation [35,48]. Recent work has contributed incremental versions of several classes of program analysis, including IFD-S/IDE dataflow analyses [5,16] and analyses based on extensions to Datalog [46,47]. These specialized approaches offer effective solutions for certain classes of program analysis, but place restrictions on abstract domains that rule out arbitrary abstract interpretations in infinite-height domains.…”
Section: Related Workmentioning
confidence: 99%