Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation 2016
DOI: 10.1145/2908080.2908096
|View full text |Cite
|
Sign up to set email alerts
|

From Datalog to flix: a declarative language for fixed points on lattices

Abstract: We present FLIX, a declarative programming language for specifying and solving least fixed point problems, particularly static program analyses. FLIX is inspired by Datalog and extends it with lattices and monotone functions. Using FLIX, implementors of static analyses can express a broader range of analyses than is currently possible in pure Datalog, while retaining its familiar rule-based syntax.We define a model-theoretic semantics of FLIX as a natural extension of the Datalog semantics. This semantics capt… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1

Citation Types

0
46
0

Year Published

2017
2017
2024
2024

Publication Types

Select...
5
3

Relationship

0
8

Authors

Journals

citations
Cited by 74 publications
(46 citation statements)
references
References 58 publications
(78 reference statements)
0
46
0
Order By: Relevance
“…Non-Datalog Analyses. We focus on program analyses implemented in Datalog for two reasons: (1) it is easy to capture provenance information for such analyses; and (2) there is a growing trend towards specifying program analyses in Datalog [Jordan et al 2016;Madsen et al 2016;Mangal et al 2015;Smaragdakis and Bravenboer 2010;Zhang et al 2014]. However, not all analyses are implemented in Datalog; for example, see Ayewah et al [2008]; Bessey et al [2010]; Copeland [2005].…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…Non-Datalog Analyses. We focus on program analyses implemented in Datalog for two reasons: (1) it is easy to capture provenance information for such analyses; and (2) there is a growing trend towards specifying program analyses in Datalog [Jordan et al 2016;Madsen et al 2016;Mangal et al 2015;Smaragdakis and Bravenboer 2010;Zhang et al 2014]. However, not all analyses are implemented in Datalog; for example, see Ayewah et al [2008]; Bessey et al [2010]; Copeland [2005].…”
Section: Discussionmentioning
confidence: 99%
“…Our approach automatically generates the ILP formulation for any analysis specified in a constraint language. Specifically, we target Datalog, a declarative logic programming language that is widely used in formulating program analyses [Madsen et al 2016;Mangal et al 2015;Smaragdakis and Bravenboer 2010;Smaragdakis et al 2014;Whaley et al 2005;Zhang et al 2014]. Our constraint-based approach also allows incorporating orthogonal techniques to reduce user effort, such as alarm clustering techniques that express dependencies between different alarms using constraints, possibly in a different abstract domain [Le and Soffa 2010;Lee et al 2012].…”
Section: Introductionmentioning
confidence: 99%
“…A natural approach to solving this problem is to find a language in which to write the extensions, which preserves the semantic guarantees that Datalog offers. Two such proposals are Flix [Madsen et al 2016] and Datafun [Arntzenius and Krishnaswami 2016]. Conveniently for our exposition, these two languages embody two alternative design strategies.…”
Section: Introductionmentioning
confidence: 99%
“…Some concrete examples of the application of this approach that we have explored within Ciao include cost analysis of Java bytecode programs [33,34] and energy bound inference in binaries stemming from C-style programs [35,36]. Recently [37] proposed an approach for using Horn clauses as an intermediate language which is quite similar to Ciao's [32].The Horn clause-based transformational approach is currently receiving considerable interest (see, e.g., [38][39][40]), and is even the subject of the "Horn clause-based Verification and Synthesis" workshop series [41]. In [42] encouraging results are reported for the direct inference of the verification conditions of safety properties for C programs based on their (C)LP representation.…”
mentioning
confidence: 99%
“…The Horn clause-based transformational approach is currently receiving considerable interest (see, e.g., [38][39][40]), and is even the subject of the "Horn clause-based Verification and Synthesis" workshop series [41]. In [42] encouraging results are reported for the direct inference of the verification conditions of safety properties for C programs based on their (C)LP representation.…”
mentioning
confidence: 99%