Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Langston Barrett

dblp:362/5867 · DBLP profile ↗
← Back
1ranked-venue papers
0as first author
1since 2021 · last 2023
0009-0005-0190-8912ORCID · reported

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 1 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Databases, data mining, and information retrieval
1 paper
Data models and query languages · 33% Query processing and optimization · 33% Database theory · 33%
Software engineering, system software, and programming languages
1 paper
Program analysis · 100%

Topics — the 4 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Data models and query languages › datalog
datalog engine
0.712023
Bring Your Own Data Structures to Datalog · Proc. ACM Program. Lang. 2023
Query processing and optimization › recursive query
recursive query evaluation
0.712023
Bring Your Own Data Structures to Datalog · Proc. ACM Program. Lang. 2023
Database theory › datalog evaluation
semi-naive evaluation
0.712023
Bring Your Own Data Structures to Datalog · Proc. ACM Program. Lang. 2023
Program analysis
static analysis
0.212023
Bring Your Own Data Structures to Datalog · Proc. ACM Program. Lang. 2023

Methods — techniques the papers use, named apart from their topics

procedural macros · 1.3incremental evaluation · 1.3DSL embedding · 1.3
YearPublicationVenuePosition
2023 Bring Your Own Data Structures to Datalog
abstract
The restricted logic programming language Datalog has become a popular implementation target for deductive-analytic workloads including social-media analytics and program analysis. Modern Datalog engines compile Datalog rules to joins over explicit representations of relations—often B-trees or hash maps. While these modern engines have enabled high scalability in many application domains, they have a crucial weakness: achieving the desired algorithmic complexity may be impossible due to representation-imposed overhead of the engine’s data structures. In this paper, we present the "Bring Your Own Data Structures" (Byods) approach, in the form of a DSL embedded in Rust. Using Byods, an engineer writes logical rules which are implicitly parametric on the concrete data structure representation; our implementation provides an interface to enable "bringing their own" data structures to represent relations, which harmoniously interact with code generated by our compiler (implemented as Rust procedural macros). We formalize the semantics of Byods as an extension of Datalog’s; our formalization captures the key properties demanded of data structures compatible with Byods, including properties required for incrementalized (semi-naïve) evaluation. We detail many applications of the Byods approach, implementing analyses requiring specialized data structures for transitive and equivalence relations to scale, including an optimized version of the Rust borrow checker Polonius; highly-parallel PageRank made possible by lattices; and a large-scale analysis of LLVM utilizing index-sharing to scale. Our results show that Byods offers both improved algorithmic scalability (reduced time and/or space complexity) and runtimes competitive with state-of-the-art parallelizing Datalog solvers.
Arash Sahebolamri, Langston Barrett, Scott Moore 0001, Kristopher K. Micinski
Proc. ACM Program. Lang.2