Crux is a general purpose database with graph-oriented bitemporal indexes. Datalog, SQL & EQL queries are supported, and Java, HTTP & Clojure APIs are provided. Crux follows an unbundled architectural approach, which means that it is assembled from decoupled components through the use of an immutable log and document store at the core of its design. A range of storage options are available for embedded usage and cloud native scaling.
rocksdb database kafka lmdb datalog graph-database document-database temporal bitemporal immutable-storeXTDB is a general purpose database with graph-oriented bitemporal indexes. Datalog, SQL & EQL queries are supported, and Java, HTTP & Clojure APIs are provided. XTDB follows an unbundled architectural approach, which means that it is assembled from decoupled components through the use of an immutable log and document store at the core of its design. A range of storage options are available for embedded usage and cloud native scaling.
rocksdb sql database kafka lmdb datalog graph-database document-database temporal bitemporal immutable-store xtdbThis open-source repository contains the extractor, CodeQL libraries, and queries that power Go support in LGTM and the other CodeQL products that GitHub makes available to its customers worldwide. The goal of this project is to provide comprehensive static analysis support for Go in CodeQL.
static-analysis datalog program-analysis codeqlpaper/: ICFP 2016 paper. src/: Implementation of Datafun in Racket. src/repl.rkt is most useful.
programming-language datalog query monotonicity semilattices type-theory compilerA tool for analyzing LLVM bitcode (generated either by C or C++) using Datalog. This project uses a commercial Datalog engine, developed by LogicBlox Inc..
llvm datalog c-plus-plus analysis-framework pointer-analysisThis document contains instructions for invoking the main driver of Doop. For an introduction to Datalog, please consult Datalog-101. For a more detailed tutorial on using the results of Doop analyses, please consult Doop-101. For an introduction to pointer analysis using Datalog, you can read a research-level tutorial. For information about Taint Analysis using Doop, please consult our P/Taint paper, or P/Taint tutorial. At its core, Doop is a collection of various analyses expressed in the form of Datalog rules. The framework has two versions of its rules: one for Soufflé, an open-source Datalog engine for program analysis (which is the default engine used), and another for LogiQL, a Datalog dialect developed by LogicBlox. In order to install an up-to-date version of Soufflé, the best practice is to clone the development Github repo and follow the instructions found on this page. For a LogicBlox engine, you can use PA-Datalog, a port available for academic use, by following the instructions found on this page.
doop datalog pointer-analysisTupleNet is a system was built base on OVS, it leverages Geneve tunneling to construct virtual networking on physical networking. Anyone can use TupleNet to run an efficient and agile virtual networking easily. Like Flannel and Calico the architecture of Tuplenet is base on Database. Etcd play a role of brain, and each compute-node has a TupleNet instance which utilizes OVS to construct virtual networking.
virtual-network datalog sdn-network sdnSecurify is a security scanner for Ethereum smart contracts supported by the Ethereum Foundation and ChainSecurity. The core research behind Securify was conducted at the ICE Center at ETH Zurich. The project is meant to be an open platform welcoming contributions from all of the Ethereum Security Community. To suggest new patterns, to volunteer for testing or to contribute developing new patterns please get in touch through our Discord group.
evm ethereum solidity static-analysis datalog security smart-contract chainsecurityUtilities for managing Datalog rulesets from Clojure. By Datalog, we mean the rules language exposed by Datomic and Datascript (because of the data-orientation of Datalog, this library doesn't have any code dependency to either of those).
datalog datomic datascriptDDlog is a bottom-up, incremental, in-memory, typed Datalog engine. It is well suited for writing programs that incrementally update their output in response to input changes. With DDlog, the programmer does not need to worry about writing incremental algorithms. Instead they specify the desired input-output mapping in a declarative manner, using a dialect of Datalog. The DDlog compiler then synthesizes an efficient incremental implementation. DDlog is based on Frank McSherry's excellent differential dataflow library. Bottom-up: DDlog starts from a set of ground facts (i.e., facts provided by the user) and computes all possible derived facts by following Datalog rules, in a bottom-up fashion. In contrast, top-down engines are optimized to answer individual user queries without computing all possible facts ahead of time. For example, given a Datalog program that computes pairs of connected vertices in a graph, a bottom-up engine maintains the set of all such pairs. A top-down engine, on the other hand, is triggered by a user query to determine whether a pair of vertices is connected and handles the query by searching for a derivation chain back to ground facts. The bottom-up approach is preferable in applications where all derived facts must be computed ahead of time and in applications where the cost of initial computation is amortized across a large number of queries.
programming-language datalog ddlog incrementalDatalog is a subset of the Prolog programming language that is used as a query language in deductive databases[wiki]. Jatalog is a Datalog implementation in Java. It provides a parser for the language and an evaluation engine to execute queries that can be embedded into larger applications.
datalog logic-programming evaluation-engine datalog-engineCrepe is a library that allows you to write declarative logic programs in Rust, with a Datalog-like syntax. It provides a procedural macro that generates efficient, safe code and interoperates seamlessly with Rust programs. The program below computes the transitive closure of a directed graph. Note the use of the crepe! macro.
translator static-analysis datalog logic-programming souffle
We have large collection of open source products. Follow the tags from
Tag Cloud >>
Open source products are scattered around the web. Please provide information
about the open source projects you own / you use.
Add Projects.