VLDB 2026 Research / reviewers in the wild / expert
Pavle Subotic
dblp:124/8970
· DBLP profile ↗
23ranked-venue papers
1as first author
12since 2021 · last 2025
0000-0002-6536-3932ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 16 · 10 since 2021Theory of computation · 9 · 5 since 2021Systems, architecture and hardware · 4 · 1 since 2021Artificial intelligence and machine learning · 1 · 1 since 2021Databases, data management, data science and information retrieval · 1 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Static analysis by abstract interpretation against data leakage in machine learning
Caterina Urban, Pavle Subotic, Filip Drobnjakovic |
Sci. Comput. Program. | 2 |
| 2025 | Provenance Guided Rollback SuggestionsabstractAbstract Advances in incremental Datalog evaluation strategies have made Datalog popular among use cases with constantly evolving inputs such as static analysis in continuous integration and deployment pipelines. As a result, new logic programming debugging techniques are needed to support these emerging use cases. This paper introduces an incremental debugging technique for Datalog, which determines the failing changes for a rollback in an incremental setup. Our debugging technique leverages a novel incremental provenance method. We have implemented our technique using an incremental version of the Soufflé Datalog engine and evaluated its effectiveness on the DaCapo Java program benchmarks analyzed by the Doop static analysis library. Compared to state-of-the-art techniques, we can localize faults and suggest rollbacks with an overall speedup of over 26.9 $\times$ while providing higher quality results. David Zhao 0001, Pavle Subotic, Mukund Raghothaman, Bernhard Scholz |
Theory Pract. Log. Program. | 2 |
| 2024 | An Abstract Interpretation-Based Data Leakage Static Analysis
Filip Drobnjakovic, Pavle Subotic, Caterina Urban |
TASE | 2 |
| 2023 | Automatically Resolving Data Source Dependency Hell in Large Scale Data Science ProjectsabstractDependency hell is a well-known pain point in the development of large software projects and machine learning (ML) code bases are not immune from it. In fact, ML applications suffer from an additional form of dependency hell, namely, data source dependency hell. This term refers to the central role played by data and its unique quirks that often lead to unexpected failures of ML models which cannot be explained by code changes. In this paper, we present an automated data source dependency mapping framework that allows MLOps engineers to monitor the whole dependency map of their models in a fast paced engineering environment and thus mitigate ahead of time the consequences of any data source changes. Our system is based on a unified and generic approach, employing techniques from static analysis, from which data sources can be identified on a wide range of source artifacts. Our framework is currently deployed within Microsoft and used by Microsoft MLOps engineers in production. Laurent Boué, Pratap Kunireddy, Pavle Subotic |
CAIN | 3 |
| 2023 | Efficient SMT-Based Network Fault Tolerance Verification
Yu Liu 0130, Pavle Subotic, Emmanuel Letier, Sergey Mechtaev, Abhik Roychoudhury |
FM | 2 |
| 2023 | Automatic Rollback Suggestions for Incremental Datalog Evaluation
David Zhao 0001, Pavle Subotic, Mukund Raghothaman, Bernhard Scholz |
PADL | 2 |
| 2023 | Program Repair Guided by Datalog-Defined Static AnalysisabstractAutomated program repair relying on static analysis complements test-driven repair, since it does not require failing tests to repair a bug, and it avoids test-overfitting by considering program properties. Due to the rich variety and complexity of program analyses, existing static program repair techniques are tied to specific analysers, and thus repair only narrow classes of defects. To develop a general-purpose static program repair framework that targets a wide range of properties and programming languages, we propose to integrate program repair with Datalog-based analysis. Datalog solvers are programmable fixed point engines which can be used to encode many program analysis problems in a modular fashion. The program under analysis is encoded as Datalog facts, while the fixed point equations of the program analysis are expressed as recursive Datalog rules. In this context, we view repairing the program as modifying the corresponding Datalog facts. This is accomplished by a novel technique, symbolic execution of Datalog, that evaluates Datalog queries over a symbolic database of facts, instead of a concrete set of facts. The result of symbolic query evaluation allows us to infer what changes to a given set of Datalog facts repair the program so that it meets the desired analysis goals. We developed a symbolic executor for Datalog called Symlog, on top of which we built a repair tool SymlogRepair. We show the versatility of our approach on several analysis problems --- repairing null pointer exceptions in Java programs, repairing data leaks in Python notebooks, and repairing four types of security vulnerabilities in Solidity smart contracts. Yu Liu 0130, Sergey Mechtaev, Pavle Subotic, Abhik Roychoudhury |
ESEC/SIGSOFT FSE | 3 |
| 2023 | Bit-Vector Typestate AnalysisabstractStatic analyses based on typestates are important in certifying correctness of code contracts. Such analyses rely on Deterministic Finite Automata (DFAs) to specify properties of an object. We target the analysis of contracts in low-latency environments, where many useful contracts are impractical to codify as DFAs and/or the size of their associated DFAs leads to sub-par performance. To address this bottleneck, we present a lightweight compositional typestate analyzer, based on an expressive specification language that can succinctly specify code contracts. By implementing it in the static analyzer Infer , we demonstrate considerable performance and usability benefits when compared to existing techniques. A central insight is to rely on a sub-class of DFAs whose analysis uses efficient bit-vector operations. Alen Arslanagic, Pavle Subotic, Jorge A. Pérez 0001 |
Formal Aspects Comput. | 2 |
| 2022 | Scalable Typestate Analysis for Low-Latency Environments
Alen Arslanagic, Pavle Subotic, Jorge A. Pérez 0001 |
IFM | 2 |
| 2022 | Building a Join Optimizer for Soufflé
Samuel Arch, David Zhao 0001, Pavle Subotic, Bernhard Scholz |
LOPSTR | 4 |
| 2022 | Specializing parallel data structures for DatalogabstractSummary We see a resurgence of Datalog in a variety of applications, including program analysis, networking, data integration, cloud computing, and security. The large‐scale and complexity of these applications need the efficient management of data in relations. Hence, Datalog implementations require new data structures for managing relations that (1) are parallel, (2) are highly specialized for Datalog evaluation, and (3) can accommodate different workloads depending on the applications concerning memory consumption and computational efficiency. In this article, we present a data structure framework for relations that is specialized for shared‐memory parallel Datalog implementations such as the soufflé Datalog compiler. The data structure framework permits a portfolio of different data structures depending on the workload. We also introduce two concrete parallel data structures for relations, designed for various workloads. Our benchmarks demonstrate a speed‐up of up to 6× by using a portfolio of data structures compared with using a B‐tree alone, showing the advantage of our data structure framework. Herbert Jordan, Pavle Subotic, David Zhao 0001, Bernhard Scholz |
Concurr. Comput. Pract. Exp. | 2 |
| 2021 | Towards Elastic Incrementalization for DatalogabstractVarious incremental evaluation strategies for Datalog have been developed that reuse computations for small input changes. These methods assume that incrementalization is always a better strategy than recomputation. However, in real-world applications such as static program analysis, recomputation can be cheaper than incrementalization for large updates. David Zhao 0001, Pavle Subotic, Mukund Raghothaman, Bernhard Scholz |
PPDP | 2 |
| 2020 | Debugging Large-scale Datalog: A Scalable Provenance Evaluation StrategyabstractLogic programming languages such as Datalog have become popular as Domain Specific Languages (DSLs) for solving large-scale, real-world problems, in particular, static program analysis and network analysis. The logic specifications that model analysis problems process millions of tuples of data and contain hundreds of highly recursive rules. As a result, they are notoriously difficult to debug. While the database community has proposed several data provenance techniques that address the Declarative Debugging Challenge for Databases, in the cases of analysis problems, these state-of-the-art techniques do not scale. In this article, we introduce a novel bottom-up Datalog evaluation strategy for debugging: Our provenance evaluation strategy relies on a new provenance lattice that includes proof annotations and a new fixed-point semantics for semi-naïve evaluation. A debugging query mechanism allows arbitrary provenance queries, constructing partial proof trees of tuples with minimal height. We integrate our technique into Soufflé, a Datalog engine that synthesizes C++ code, and achieve high performance by using specialized parallel data structures. Experiments are conducted with D OOP /DaCapo, producing proof annotations for tens of millions of output tuples. We show that our method has a runtime overhead of 1.31× on average while being more flexible than existing state-of-the-art techniques. David Zhao 0001, Pavle Subotic, Bernhard Scholz |
ACM Trans. Program. Lang. Syst. | 2 |
| 2019 | Fast Parallel Equivalence Relations in a Datalog CompilerabstractModern parallelizing Datalog compilers are employed in industrial applications such as networking and static program analysis. These applications regularly reason about equivalences, e.g., computing bitcoin user groups, fast points-to analyses, and optimal network routes. State-of-the-art Datalog engines represent equivalence relations verbatim by enumerating all possible pairs in an equivalence class. This approach inhibits scalability for large datasets. In this paper, we introduce EQREL, a specialized parallel union-find data structure for scalable equivalence relations, and its integration into a Datalog compiler. Our data structure provides a quadratic worst-case speed-up and space improvement. We demonstrate the efficacy of our data structure in SOUFFLÉ, which is a Datalog compiler that synthesizes parallel C ++ code. We use real-world benchmarks and show that the new data structure scales on shared-memory multi-core architectures storing up to a half-billion pairs for a static program analysis scenario. Patrick Nappa, David Zhao 0001, Pavle Subotic, Bernhard Scholz |
PACT | 3 |
| 2019 | Reachability Analysis for AWS-Based NetworksabstractCloud services provide the ability to provision virtual networked infrastructure on demand over the Internet. The rapid growth of these virtually provisioned cloud networks has increased the demand for automated reasoning tools capable of identifying misconfigurations or security vulnerabilities. This type of automation gives customers the assurance they need to deploy sensitive workloads. It can also reduce the cost and time-to-market for regulated customers looking to establish compliance certification for cloud-based applications. In this industrial case-study, we describe a new network reachability reasoning tool, called Tiros, that uses off-the-shelf automated theorem proving tools to fill this need. Tiros is the foundation of a recently introduced network security analysis feature in the Amazon Inspector service now available to millions of customers building applications in the cloud. Tiros is also used within Amazon Web Services (AWS) to automate the checking of compliance certification and adherence to security invariants for many AWS services that build on existing AWS networking features. John D. Backes, Sam Bayless, Byron Cook, Catherine Dodge, Andrew Gacek, Alan J. Hu, Temesghen Kahsai, Bill Kocik, Evgenii Kotelnikov, Jure Kukovec, Sean McLaughlin, Jason Reed 0004, Neha Rungta, John Sizemore, Mark A. Stalzer, Preethi Srinivasan, Pavle Subotic, Carsten Varming, Blake Whaley |
CAV (2) | 17 |
| 2019 | A specialized B-tree for concurrent datalog evaluationabstractModern Datalog engines are employed in industrial applications such as graph-databases, networks, and static program analysis. To cope with vast amount of data, Datalog engines must employ parallel execution strategies, for which specialized concurrent data structures are of paramount importance. Herbert Jordan, Pavle Subotic, David Zhao 0001, Bernhard Scholz |
PPoPP | 2 |
| 2018 | Two concurrent data structures for efficient datalog query processingabstractIn recent years, Datalog has gained popularity for the implementation of advanced data analysis. Applications benefit from Datalog's high-level, declarative syntax, and availability of efficient algorithms for computing solutions. The efficiency of Datalog engines has reached a point where engines such as Soufflé have reported performance results comparable to low-level hand-crafted alternatives [3]. Herbert Jordan, Bernhard Scholz, Pavle Subotic |
PPoPP | 3 |
| 2018 | Automatic Index Selection for Large-Scale Datalog ComputationabstractDatalog has been applied to several use cases that require very high performance on large rulesets and factsets. It is common to create indexes for relations to improve search performance. However, the existing indexing schemes either require manual index selection or result in insufficient performance on very large tasks. In this paper, we propose an automatic scheme to select indexes. We automatically create the minimum number of indexes to speed up all the searches in a given Datalog program. We have integrated our indexing scheme into an open-source Datalog engine S OUFFLÉ. We obtain performance on a par with what users have accepted from hand-optimized Datalog programs running on state-of-the-art Datalog engines, while we do not require the effort of manual index selection. Extensive experiments on large real Datalog programs demonstrate that our indexing scheme results in considerable speedups (up to 2x) and significantly less memory usage (up to 6x) compared with other automated index selections. Pavle Subotic, Herbert Jordan, Lijun Chang, Alan D. Fekete, Bernhard Scholz |
Proc. VLDB Endow. | 1 |
| 2016 | Soufflé: On Synthesis of Program Analyzers
Herbert Jordan, Bernhard Scholz, Pavle Subotic |
CAV (2) | 3 |
| 2016 | On fast large-scale program analysis in DatalogabstractDesigning and crafting a static program analysis is challenging due to the complexity of the task at hand. Among the challenges are modelling the semantics of the input language, finding suitable abstractions for the analysis, and handwriting efficient code for the analysis in a traditional imperative language such as C++. Hence, the development of static program analysis tools is costly in terms of development time and resources for real world languages. To overcome, or at least alleviate the costs of developing a static program analysis, Datalog has been proposed as a domain specific language (DSL). With Datalog, a designer expresses a static program analysis in the form of a logical specification. While a domain specific language approach aids in the ease of development of program analyses, it is commonly accepted that such an approach has worse runtime performance than handcrafted static analysis tools. In this work, we introduce a new program synthesis methodology for Datalog specifications to produce highly efficient monolithic C++ analyzers. The synthesis technique requires the re-interpretation of the semi-naive evaluation as a scaffolding for translation using partial evaluation. To achieve high-performance, we employ staged-compilation techniques and specialize the underlying relational data structures for a given Datalog specification. Experimentation on benchmarks for large-scale program analysis validates the superior performance of our approach over available Datalog tools and demonstrates our competitiveness with state-of-the-art handcrafted tools. Bernhard Scholz, Herbert Jordan, Pavle Subotic, Till Westmann |
CC | 3 |
| 2016 | Guiding Craig interpolation with domain-specific abstractions
Jérôme Leroux, Philipp Rümmer, Pavle Subotic |
Acta Informatica | 3 |
| 2013 | Exploring interpolants
Philipp Rümmer, Pavle Subotic |
FMCAD | 2 |
| 2013 | Logico-Numerical Max-Strategy Iteration
Peter Schrammel, Pavle Subotic |
VMCAI | 2 |