VLDB 2026 Research / reviewers in the wild / expert
Nikolaj S. Bjørner
dblp:51/912
· DBLP profile ↗
76ranked-venue papers
26as first author
18since 2021 · last 2026
0000-0002-1695-2810ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 37 · 13 first-author · 6 since 2021Theory of computation · 34 · 15 first-author · 7 since 2021Artificial intelligence and machine learning · 14 · 6 first-author · 3 since 2021Computer networks · 10 · 5 since 2021Systems, architecture and hardware · 3 · 1 since 2021Graphics, computer vision, multimedia, augmented reality and games · 2 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 2Security and privacy · 1Databases, data management, data science and information retrieval · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | EREQ: Regular Expressions with Quantifiers and Incremental Quantifier EliminationabstractWeak monadic second-order logic (wMSO) is a foundational tool for specifying regular properties. Traditional decision procedures for this logic typically translate wMSO formulas into finite automata. Although the logic is decidable, this approach incurs non-elementary complexity in the worst-case. Nearly thirty years ago, the state-of-the-art MONA tool showed that, despite these theoretical limits, wMSO can be decided efficiently in practice through carefully optimized automata constructions. We revisit wMSO from an algebraic perspective by introducing Extended Regular Expressions with Quantifiers (EREQ). Instead of relying on automata determinization, EREQ employs symbolic derivatives to perform incremental quantifier elimination, providing a compositional and symbolic alternative to classical automata-based approaches. We present a linear-time translation of wMSO into EREQ and a derivative-based decision procedure for EREQ. We prove the correctness of the translation and of the derivative construction in the Lean proof assistant. We implement our approach in Rust and evaluate it on a set of established MONA benchmarks, demonstrating competitive performance with state-of-the-art tools. Our results demonstrate the potential of derivative-based methods, opening new avenues for efficient decision procedures in EREQ. Ekaterina Zhuchko, Ian Erik Varatalu, Margus Veanes, Nikolaj S. Bjørner |
Proc. ACM Program. Lang. | 4 |
| 2025 | Synthesiz3 This: an SMT-Based Approach for Synthesis with Uncomputable Symbols
Petra Hozzová, Nikolaj S. Bjørner |
FMCAD | 2 |
| 2025 | Tackling Ambiguity in User Intent for LLM-based Network Configuration SynthesisabstractBeyond hallucinations, another problem in program synthesis using LLMs is ambiguity in user intent. We illustrate the ambiguity problem in a networking context for LLM-based incremental configuration synthesis of route maps and ACLs. Configuration stanzas frequently overlap in header space, making the relative priority of actions impossible for the LLM to infer without user interaction. Measurements in a large cloud identify complex ACLs with 100s of overlaps, showing ambiguity is a real problem. We propose a prototype system, Clarify, augmenting an LLM with a new module called a Disambiguator that helps elicit user intent. On a small synthetic workload, Clarify incrementally synthesizes routing policies and interactively disambiguates user intent to ensure correctness. Rajdeep Mondal, Nikolaj S. Bjørner, Todd D. Millstein, Alan Tang, George Varghese |
HotNets | 2 |
| 2025 | On Solving String Equations via Powers and Parikh ImagesabstractAbstract We present a new approach for solving string equations as extensions of Nielsen transformations. Key to our work are the combination of three techniques: a power operator for strings; generalisations of Parikh images; and equality decomposition. Using these methods allows us to solve complex string equations, including less commonly encountered SMT inputs over strings. Clemens Eisenhofer, Theodor Seiser, Nikolaj S. Bjørner, Laura Kovács |
TABLEAUX | 3 |
| 2024 | Arithmetic Solving in Z3abstractAbstract The theory of arithmetic is integral to many uses of SMT solvers. Z3 has implemented native solvers for arithmetic reasoning since its first release. We present a full re-implementation of Z3’s original arithmetic solver. It is based on substantial experiences from user feedback, engineering and experimentation. While providing a comprehensive overview of the main components we emphasize selected new insights we arrived at while developing and testing the solver. Nikolaj S. Bjørner, Lev Nachmanson |
CAV (1) | 1 |
| 2024 | CHISEL: An optical slice of the wide-area network
Abhishek Vijaya Kumar, Bill Owens, Nikolaj S. Bjørner, Binbin Guan, Yawei Yin, Paramvir Bahl, Rachee Singh |
NSDI | 3 |
| 2024 | SpEQ: Translation of Sparse Codes using EquivalencesabstractWe present S p EQ, a quick and correct strategy for detecting semantics in sparse codes and enabling automatic translation to high-performance library calls or domain-specific languages (DSLs). When sparse linear algebra codes contain implicit preconditions about how data is stored that hamper direct translation, S p EQ identifies the high-level computation along with storage details and related preconditions. A run-time check guards the translation and ensures that required preconditions are met. We implement S p EQ using the LLVM framework, the Z3 solver, and egglog library and correctly translate sparse linear algebra codes into two high-performance libraries, NVIDIA cuSPARSE and Intel MKL, and OpenMP (OMP). We evaluate S p EQ on ten diverse benchmarks against two state-of-the-art translation tools. S p EQ achieves geometric mean speedups of 3.25 × , 5.09 × , and 8.04 × on OpenMP, MKL, and cuSPARSE backends, respectively. S p EQ is the only tool that can guarantee the correct translation of sparse computations. Avery Laird, Bangtian Liu, Nikolaj S. Bjørner, Maryam Mehri Dehnavi |
Proc. ACM Program. Lang. | 3 |
| 2023 | On Incremental Pre-processing for SMTabstractAbstract We introduce a calculus for incremental pre-processing for SMT and instantiate it in the context of z3. It identifies when powerful formula simplifications can be retained when adding new constraints. Use cases that could not be solved in incremental mode can now be solved incrementally thanks to the availability of pre-processing. Our approach admits a class of transformations that preserve satisfiability, but not equivalence. We establish a taxonomy of pre-processing techniques that distinguishes cases where new constraints are modified or constraints previously added have to be replayed. We then justify the soundness of the proposed incremental pre-processing calculus. Nikolaj S. Bjørner, Katalin Fazekas |
CADE | 1 |
| 2023 | Scalable Optimal Layout Synthesis for NISQ Quantum ProcessorsabstractDue to its effect on the success rate of a quantum circuit, quantum layout synthesis is a crucial step for circuit compilation. As such, having a layout synthesis tool that provides high solution quality is important to maximize circuit performance and fidelity for NISQ application. Previous heuristic approaches have been shown to be far from optimal when evaluated on known-optimal benchmarks. Alternatively, exact layout synthesis tools can generate optimal results with the aid of constraint solvers but generally suffer from scalability issues because of inefficient encodings and slow optimization methods. In this paper, we propose a scalable optimal layout synthesis tool that improves upon previous works, through a more succinct problem formulation as well as better encoding techniques. Additionally, we implement a depth and SWAP count optimization feature that performs iterative refinement under a fixed time budget. Experimental results show that for depth optimization, our tool can achieve a 692× speedup over the state-of-the-art optimal layout synthesis, and for SWAP optimization, we can obtain a 6,957× speedup on average. Compared to a leading heuristic-based synthesizer, for depth optimization, we can solve circuits consisting of 54 program qubits and 1726 gates within 11 hours with an 18× depth reduction and by 12× SWAP count reduction on average. Wan-Hsuan Lin, Jason Kimko, Bochen Tan, Nikolaj S. Bjørner, Jason Cong |
DAC | 4 |
| 2023 | OneWAN is better than two: Unifying a split WAN architecture
Umesh Krishnaswamy, Rachee Singh, Paul Mattes, Paul-Andre C. Bissonnette, Nikolaj S. Bjørner, Zahira Nasrin, Sonal Kothari, Prabhakar Reddy, John Abeln, Srikanth Kandula, Himanshu Raj, Luis Irún-Briz, Jamie Gaudette, Erica Lan |
NSDI | 5 |
| 2023 | Satisfiability Modulo Custom Theories in Z3
Nikolaj S. Bjørner, Clemens Eisenhofer, Laura Kovács |
VMCAI | 1 |
| 2022 | Decentralized cloud wide-area network traffic engineering with BLASTSHIELD
Umesh Krishnaswamy, Rachee Singh, Nikolaj S. Bjørner, Himanshu Raj |
NSDI | 3 |
| 2022 | Analysis of Core-Guided MaxSat Using Cores and Correction Sets
Nina Narodytska, Nikolaj S. Bjørner |
SAT | 2 |
| 2022 | Algebra-Based Reasoning for Loop SynthesisabstractProvably correct software is one of the key challenges of our software-driven society. Program synthesis—the task of constructing a program satisfying a given specification—is one strategy for achieving this. The result of this task is then a program that is correct by design. As in the domain of program verification, handling loops is one of the main ingredients to a successful synthesis procedure. We present an algorithm for synthesizing loops satisfying a given polynomial loop invariant. The class of loops we are considering can be modeled by a system of algebraic recurrence equations with constant coefficients, thus encoding program loops with affine operations among program variables. We turn the task of loop synthesis into a polynomial constraint problem by precisely characterizing the set of all loops satisfying the given invariant. We prove soundness of our approach, as well as its completeness with respect to an a priori fixed upper bound on the number of program variables. Our work has applications toward synthesizing loops satisfying a given polynomial loop invariant—program verification—as well as generating number sequences from algebraic relations. To understand viability of the methodology and heuristics for synthesizing loops, we implement and evaluate the method using the Absynth tool. Andreas Humenberger, Daneshvar Amrollahi, Nikolaj S. Bjørner, Laura Kovács |
Formal Aspects Comput. | 3 |
| 2021 | Supercharging Plant Configurations Using Z3
Nikolaj S. Bjørner, Maxwell Levatich, Nuno P. Lopes, Andrey Rybalchenko, Chandrasekar Vuppalapati |
CPAIOR | 1 |
| 2021 | Symbolic Boolean derivatives for efficiently solving extended regular expression constraintsabstractThe manipulation of raw string data is ubiquitous in security-critical software, and verification of such software relies on efficiently solving string and regular expression constraints via SMT. However, the typical case of Boolean combinations of regular expression constraints exposes blowup in existing techniques. To address solvability of such constraints, we propose a new theory of derivatives of symbolic extended regular expressions (extended meaning that complement and intersection are incorporated), and show how to apply this theory to obtain more efficient decision procedures. Our implementation of these ideas, built on top of Z3, matches or outperforms state-of-the-art solvers on standard and handwritten benchmarks, showing particular benefits on examples with Boolean combinations. Caleb Stanford, Margus Veanes, Nikolaj S. Bjørner |
PLDI | 3 |
| 2021 | Cost-effective capacity provisioning in wide area networks with ShooflyabstractIn this work we propose Shoofly, a network design tool that minimizes hardware costs of provisioning long-haul capacity by optically bypassing network hops where conversion of signals from optical to electrical domain is unnecessary and uneconomical. Shoofly leverages optical signal quality and traffic demand telemetry from a large commercial cloud provider to identify optical bypasses in the cloud WAN that reduce the hardware cost of long-haul capacity by 40%. A key challenge is that optical bypasses cause signals to travel longer distances on fiber before re-generation, potentially reducing link capacities and resilience to optical link failures. Despite these challenges, Shoofly provisions bypass-enabled topologies that meet 8X the present-day demands using existing network hardware. Even under aggressive stochastic and deterministic link failure scenarios, these topologies save 32% of the cost of long-haul capacity. Rachee Singh, Nikolaj S. Bjørner, Sharon Shoham, Yawei Yin, John Arnold, Jamie Gaudette |
SIGCOMM | 2 |
| 2021 | Preface of the special issue on the conference on formal methods in computer aided design 2018
Nikolaj S. Bjørner, Arie Gurfinkel |
Formal Methods Syst. Des. | 1 |
| 2020 | Algebra-Based Loop Synthesis
Andreas Humenberger, Nikolaj S. Bjørner, Laura Kovács |
IFM | 2 |
| 2020 | Solving $\mathrm {LIA} ^\star $ Using Approximations
Maxwell Levatich, Nikolaj S. Bjørner, Ruzica Piskac, Sharon Shoham |
VMCAI | 2 |
| 2019 | Reversible Pebbling Game for Quantum Memory ManagementabstractQuantum memory management is becoming a pressing problem, especially given the recent research effort to develop new and more complex quantum algorithms. The only existing automatic method for quantum states clean-up relies on the availability of many extra resources. In this work, we propose an automatic tool for quantum memory management. We show how this problem exactly matches the reversible pebbling game. Based on that, we develop a SAT-based algorithm that returns a valid clean-up strategy, taking the limitations of the quantum hardware into account. The developed tool empowers the designer with the flexibility required to explore the trade-off between memory resources and number of operations. We present two show-cases to prove the validity of our approach. First, we apply the algorithm to straight-line programs, widely used in cryptographic applications. Second, we perform a comparison with the existing approach, showing an average improvement of 52.77%. Giulia Meuli, Mathias Soeken, Martin Rötteler, Nikolaj S. Bjørner, Giovanni De Micheli |
DATE | 4 |
| 2019 | Guiding High-Performance SAT Solvers with Unsat-Core Predictions
Daniel Selsam, Nikolaj S. Bjørner |
SAT | 2 |
| 2019 | TEAVAR: striking the right utilization-availability balance in WAN traffic engineeringabstractTo keep up with the continuous growth in demand, cloud providers spend millions of dollars augmenting the capacity of their wide-area backbones and devote significant effort to efficiently utilizing WAN capacity. A key challenge is striking a good balance between network utilization and availability, as these are inherently at odds; a highly utilized network might not be able to withstand unexpected traffic shifts resulting from link/node failures. We advocate a novel approach to this challenge that draws inspiration from financial risk theory: leverage empirical data to generate a probabilistic model of network failures and maximize bandwidth allocation to network users subject to an operator-specified availability target. Our approach enables network operators to strike the utilization-availability balance that best suits their goals and operational reality. We present TEAVAR (Traffic Engineering Applying Value at Risk), a system that realizes this risk management approach to traffic engineering (TE). We compare TEAVAR to state-of-the-art TE solutions through extensive simulations across many network topologies, failure scenarios, and traffic patterns, including benchmarks extrapolated from Microsoft's WAN. Our results show that with TEAVAR, operators can support up to twice as much throughput as state-of-the-art TE schemes, at the same level of availability. Jeremy Bogle, Nikhil Bhatia, Manya Ghobadi, Ishai Menache, Nikolaj S. Bjørner, Asaf Valadarsky, Michael Schapira |
SIGCOMM | 5 |
| 2019 | Validating datacenters at scaleabstractWe describe our experiences using formal methods and automated theorem proving for network operation at scale. The experiences are based on developing and applying the SecGuru and RCDC (Reality Checker for Data Centers) tools in Azure. SecGuru has been used since 2013 and thus, is arguably a pioneering industrial deployment of network verification. SecGuru is used for validating ACLs and more recently RCDC checks forwarding tables at Azure scale. A central technical angle is that we use local contracts and local checks, that can be performed at scale in parallel, and without maintaining global snapshots, to validate global properties of datacenter networks. Specifications leverage declarative encodings of configurations and automated theorem proving for validation. We describe how intent is automatically derived from network architectures and verification is incorporated as prechecks for making changes, live monitoring, and for evolving legacy policies. We document how network verification, grounded in architectural constraints, can be integral to operating a reliable cloud at scale. Karthick Jayaraman, Nikolaj S. Bjørner, Jitendra Padhye, Amar Agrawal, Ashish Bhargava, Paul-Andre C. Bissonnette, Shane Foster, Andrew Helwer, Mark Kasten, Anup Namdhari, Haseeb Niaz, Aniruddha Parkhi, Hanukumar Pinnamraju, Adrian Power, Neha Milind Raje, Parag Sharma |
SIGCOMM | 2 |
| 2018 | Z3 and SMT in Industrial R&D
Nikolaj S. Bjørner |
FM | 1 |
| 2018 | Core-Guided Minimal Correction Set and Core EnumerationabstractA set of constraints is unsatisfiable if there is no solution that satisfies these constraints. To analyse unsatisfiable problems, the user needs to understand where inconsistencies come from and how they can be repaired. Minimal unsatisfiable cores and correction sets are important subsets of constraints that enable such analysis. In this work, we propose a new algorithm for extracting minimal unsatisfiable cores and correction sets simultaneously. Building on top of the relaxation and strengthening framework, we introduce novel techniques for extracting these sets. Our new solver significantly outperforms several state of the art algorithms on common benchmarks when it comes to extracting correction sets and compares favorably on core extraction. Nina Narodytska, Nikolaj S. Bjørner, Maria-Cristina V. Marinescu, Shmuel Sagiv |
IJCAI | 2 |
| 2018 | Constrained Image Generation Using Binarized Neural Networks with Decision Procedures
Svyatoslav Korneev, Nina Narodytska, Luca Pulina, Armando Tacchella, Nikolaj S. Bjørner, Shmuel Sagiv |
SAT | 5 |
| 2018 | Preface for the special issue "FM15"
Frank S. de Boer, Nikolaj S. Bjørner |
Acta Informatica | 2 |
| 2018 | EditorialabstractNo abstract available. Nikolaj S. Bjørner, Frank S. de Boer, Andrew Butterfield |
Formal Aspects Comput. | 1 |
| 2017 | Optimizing test placement for module-level regression testingabstractModern build systems help increase developer productivity by performing incremental building and testing. These build systems view a software project as a group of interdependent modules and perform regression test selection at the module level. However, many large software projects have imprecise dependency graphs that lead to wasteful test executions. If a test belongs to a module that has more dependencies than the actual dependencies of the test, then it is executed unnecessarily whenever a code change impacts those additional dependencies. In this paper, we formulate the problem of wasteful test executions due to suboptimal placement of tests in modules. We propose a greedy algorithm to reduce the number of test executions by suggesting test movements while considering historical build information and actual dependencies of tests. We have implemented our technique, called TestOptimizer, on top of CloudBuild, the build system developed within Microsoft over the last few years. We have evaluated the technique on five large proprietary projects. Our results show that the suggested test movements can lead to a reduction of 21.66 million test executions (17.09%) across all our subject projects. We received encouraging feedback from the developers of these projects; they accepted and intend to implement ≈80% of our reported suggestions. August Shi, Suresh Thummalapenta, Shuvendu K. Lahiri, Nikolaj S. Bjørner, Jacek Czerwonka |
ICSE | 4 |
| 2017 | Correct by Construction Networks Using Stepwise Refinement
Leonid Ryzhyk, Nikolaj S. Bjørner, Marco Canini, Jean-Baptiste Jeannin, Cole Schlesinger, Douglas B. Terry, George Varghese |
NSDI | 2 |
| 2017 | Property-Directed Inference of Universal Invariants or Proving Their AbsenceabstractWe present Universal Property Directed Reachability (PDR ∀ ), a property-directed semi-algorithm for automatic inference of invariants in a universal fragment of first-order logic. PDR ∀ is an extension of Bradley’s PDR/IC3 algorithm for inference of propositional invariants. PDR ∀ terminates when it discovers a concrete counterexample, infers an inductive universal invariant strong enough to establish the desired safety property, or finds a proof that such an invariant does not exist . PDR ∀ is not guaranteed to terminate. However, we prove that under certain conditions, for example, when reasoning about programs manipulating singly linked lists, it does. We implemented an analyzer based on PDR ∀ and applied it to a collection of list-manipulating programs. Our analyzer was able to automatically infer universal invariants strong enough to establish memory safety and certain functional correctness properties, show the absence of such invariants for certain natural programs and specifications, and detect bugs. All this without the need for user-supplied abstraction predicates. Aleksandr Karbyshev, Nikolaj S. Bjørner, Shachar Itzhaky, Noam Rinetzky, Sharon Shoham |
J. ACM | 2 |
| 2017 | Monadic DecompositionabstractMonadic predicates play a prominent role in many decidable cases, including decision procedures for symbolic automata. We are here interested in discovering whether a formula can be rewritten into a Boolean combination of monadic predicates. Our setting is quantifier-free formulas whose satisfiability is decidable, such as linear arithmetic. Here we develop a semidecision procedure for extracting a monadic decomposition of a formula when it exists. Margus Veanes, Nikolaj S. Bjørner, Lev Nachmanson, Sergey Bereg |
J. ACM | 2 |
| 2016 | Cardinalities and universal quantifiers for verifying parameterized systemsabstractParallel and distributed systems rely on intricate protocols to manage shared resources and synchronize, i.e., to manage how many processes are in a particular state. Effective verification of such systems requires universally quantification to reason about parameterized state and cardinalities tracking sets of processes, messages, failures to adequately capture protocol logic. In this paper we present Tool, an automatic invariant synthesis method that integrates cardinality-based reasoning and universal quantification. The resulting increase of expressiveness allows Tool to verify, for the first time, a representative collection of intricate parameterized protocols. Klaus von Gleissenthall, Nikolaj S. Bjørner, Andrey Rybalchenko |
PLDI | 2 |
| 2016 | Scaling network verification using symmetry and surgeryabstractOn the surface, large data centers with about 100,000 stations and nearly a million routing rules are complex and hard to verify. However, these networks are highly regular by design; for example they employ fat tree topologies with backup routers interconnected by redundant patterns. To exploit these regularities, we introduce network transformations: given a reachability formula and a network, we transform the network into a simpler to verify network and a corresponding transformed formula, such that the original formula is valid in the network if and only if the transformed formula is valid in the transformed network. Our network transformations exploit network surgery (in which irrelevant or redundant sets of nodes, headers, ports, or rules are ``sliced'' away) and network symmetry (say between backup routers). The validity of these transformations is established using a formal theory of networks. In particular, using Van Benthem-Hennessy-Milner style bisimulation, we show that one can generally associate bisimulations to transformations connecting networks and formulas with their transforms. Our work is a development in an area of current wide interest: applying programming language techniques (in our case bisimulation and modal logic) to problems in switching networks. We provide experimental evidence that our network transformations can speed up by 65x the task of verifying the communication between all pairs of Virtual Machines in a large datacenter network with about 100,000 VMs. An all-pair reachability calculation, which formerly took 5.5 days, can be done in 2 hours, and can be easily parallelized to complete in Gordon D. Plotkin, Nikolaj S. Bjørner, Nuno P. Lopes, Andrey Rybalchenko, George Varghese |
POPL | 2 |
| 2015 | Property-Directed Inference of Universal Invariants or Proving Their Absence
Aleksandr Karbyshev, Nikolaj S. Bjørner, Shachar Itzhaky, Noam Rinetzky, Sharon Shoham |
CAV (1) | 2 |
| 2015 | Compositional Verification of Procedural Programs using Horn Clauses over Integers and ArraysabstractWe present a compositional SMT-based algorithm for safety of procedural C programs that takes the heap into consideration as well. Existing SMT-based approaches are either largely restricted to handling linear arithmetic operations and properties, or are non-compositional. We use Constrained Horn Clauses (CHCs) to represent the verification conditions where the memory operations are modeled using the extensional theory of arrays (ARR). First, we describe an exponential time quantifier elimination (QE) algorithm for ARR which can introduce new quantifiers of the index and value sorts. Second, we adapt the QE algorithm to efficiently obtain under-approximations using models, resulting in a polynomial time Model Based Projection (MBP) algorithm. Third, we integrate the MBP algorithm into the framework of compositional reasoning of procedural programs using may and must summaries recently proposed by us. Our solutions to the CHCs are currently restricted to quantifierfree formulas. Finally, we describe our practical experience over SV-COMP'15 benchmarks using an implementation in the tool SPACER. Anvesh Komuravelli, Nikolaj S. Bjørner, Arie Gurfinkel, Kenneth L. McMillan |
FMCAD | 2 |
| 2015 | Maximum Satisfiability Using Cores and Correction Sets
Nikolaj S. Bjørner, Nina Narodytska |
IJCAI | 1 |
| 2015 | Checking Beliefs in Dynamic Networks
Nuno P. Lopes, Nikolaj S. Bjørner, Patrice Godefroid, Karthick Jayaraman, George Varghese |
NSDI | 2 |
| 2015 | νZ - An Optimizing SMT Solver
Nikolaj S. Bjørner, Anh-Dung Phan, Lars Fleckenstein |
TACAS | 1 |
| 2015 | Property Directed Polyhedral Abstraction
Nikolaj S. Bjørner, Arie Gurfinkel |
VMCAI | 1 |
| 2015 | Symbolic tree automata
Margus Veanes, Nikolaj S. Bjørner |
Inf. Process. Lett. | 2 |
| 2014 | Property-Directed Shape Analysis
Shachar Itzhaky, Nikolaj S. Bjørner, Thomas W. Reps, Shmuel Sagiv, Aditya V. Thakur |
CAV | 2 |
| 2014 | Monadic Decomposition
Margus Veanes, Nikolaj S. Bjørner, Lev Nachmanson, Sergey Bereg |
CAV | 2 |
| 2014 | VeriCon: towards verifying controller programs in software-defined networksabstractSoftware-defined networking (SDN) is a new paradigm for operating and managing computer networks. SDN enables logically-centralized control over network devices through a "controller" software that operates independently from the network hardware, and can be viewed as the network operating system. Network operators can run both inhouse and third-party SDN programs (often called applications) on top of the controller, e.g., to specify routing and access control policies. SDN opens up the possibility of applying formal methods to prove the correctness of computer networks. Indeed, recently much effort has been invested in applying finite state model checking to check that SDN programs behave correctly. However, in general, scaling these methods to large networks is challenging and, moreover, they cannot guarantee the absence of errors. Thomas Ball 0001, Nikolaj S. Bjørner, Aaron Gember, Shachar Itzhaky, Aleksandr Karbyshev, Shmuel Sagiv, Michael Schapira, Asaf Valadarsky |
PLDI | 2 |
| 2013 | Resourceful Reachability as HORN-LA
Josh Berdine, Nikolaj S. Bjørner, Samin Ishtiaq, Jael E. Kriener, Christoph M. Wintersteiger |
LPAR | 2 |
| 2013 | On Solving Universally Quantified Horn Clauses
Nikolaj S. Bjørner, Kenneth L. McMillan, Andrey Rybalchenko |
SAS | 1 |
| 2013 | Preface: Special Issue of Selected Extended Papers of CADE-23
Nikolaj S. Bjørner, Viorica Sofronie-Stokkermans |
J. Autom. Reason. | 1 |
| 2012 | Latent fault detection in large scale servicesabstractUnexpected machine failures, with their resulting service outages and data loss, pose challenges to datacenter management. Existing failure detection techniques rely on domain knowledge, precious (often unavailable) training data, textual console logs, or intrusive service modifications. We hypothesize that many machine failures are not a result of abrupt changes but rather a result of a long period of degraded performance. This is confirmed in our experiments, in which over 20% of machine failures were preceded by such latent faults. We propose a proactive approach for failure prevention. We present a novel framework for statistical latent fault detection using only ordinary machine counters collected as standard practice. We demonstrate three detection methods within this framework. Derived tests are domain-independent and unsupervised, require neither background information nor tuning, and scale to very large services. We prove strong guarantees on the false positive rates of our tests. Moshe Gabel, Assaf Schuster, Ran Gilad-Bachrach, Nikolaj S. Bjørner |
DSN | 4 |
| 2012 | Detecting Specification Errors in Declarative Languages with Constraints
Ethan K. Jackson, Wolfram Schulte, Nikolaj S. Bjørner |
MoDELS | 3 |
| 2012 | Symbolic finite state transducers: algorithms and applicationsabstractFinite automata and finite transducers are used in a wide range of applications in software engineering, from regular expressions to specification languages. We extend these classic objects with symbolic alphabets represented as parametric theories. Admitting potentially infinite alphabets makes this representation strictly more general and succinct than classical finite transducers and automata over strings. Despite this, the main operations, including composition, checking that a transducer is single-valued, and equivalence checking for single-valued symbolic finite transducers are effective given a decision procedure for the background theory. We provide novel algorithms for these operations and extend composition to symbolic transducers augmented with registers. Our base algorithms are unusual in that they are nonconstructive, therefore, we also supply a separate model generation algorithm that can quickly find counterexamples in the case two symbolic finite transducers are not equivalent. The algorithms give rise to a complete decidable algebra of symbolic transducers. Unlike previous work, we do not need any syntactic restriction of the formulas on the transitions, only a decision procedure. In practice we leverage recent advances in satisfiability modulo theory (SMT) solvers. We demonstrate our techniques on four case studies, covering a wide range of applications. Our techniques can synthesize string pre-images in excess of 8,000 bytes in roughly a minute, and we find that our new encodings significantly outperform previous techniques in succinctness and speed of analysis. Margus Veanes, Pieter Hooimeijer, Benjamin Livshits, David Molnar, Nikolaj S. Bjørner |
POPL | 5 |
| 2012 | Generalized Property Directed Reachability
Krystof Hoder, Nikolaj S. Bjørner |
SAT | 2 |
| 2012 | Symbolic Automata: The Toolkit
Margus Veanes, Nikolaj S. Bjørner |
TACAS | 2 |
| 2012 | Foreword
Nikolaj S. Bjørner, Laura Kovács |
J. Symb. Comput. | 1 |
| 2012 | Alternating simulation and IOCO
Margus Veanes, Nikolaj S. Bjørner |
Int. J. Softw. Tools Technol. Transf. | 2 |
| 2011 | Engineering Theories with Z3
Nikolaj S. Bjørner |
APLAS | 1 |
| 2011 | μZ- An Efficient Engine for Fixed Points with Constraints
Krystof Hoder, Nikolaj S. Bjørner, Leonardo de Moura 0001 |
CAV | 2 |
| 2011 | Engineering Theories with Z3
Nikolaj S. Bjørner |
CPP | 1 |
| 2010 | Alternating Simulation and IOCO
Margus Veanes, Nikolaj S. Bjørner |
ICTSS | 2 |
| 2010 | Deciding Effectively Propositional Logic Using DPLL and Substitution Sets
Ruzica Piskac, Leonardo de Moura 0001, Nikolaj S. Bjørner |
J. Autom. Reason. | 3 |
| 2010 | Content-dependent chunking for differential compression, the local maximum approach
Nikolaj S. Bjørner, Andreas Blass, Yuri Gurevich |
J. Comput. Syst. Sci. | 1 |
| 2009 | Linear Functional Fixed-points
Nikolaj S. Bjørner, Joe Hendrix |
CAV | 1 |
| 2009 | Generalized, efficient array decision proceduresabstractThe theory of arrays is ubiquitous in the context of software and hardware verification and symbolic analysis. The basic array theory was introduced by McCarthy and allows to symbolically representing array updates. In this paper we present combinatory array logic, CAL, using a small, but powerful core of combinators, and reduce it to the theory of uninterpreted functions. CAL allows expressing properties that go well beyond the basic array theory. We provide a new efficient decision procedure for the base theory as well as CAL. The efficient procedure serves a critical role in the performance of the state-of-the-art SMT solver Z3 on array formulas from applications. Leonardo de Moura 0001, Nikolaj S. Bjørner |
FMCAD | 2 |
| 2009 | Input-Output Model Programs
Margus Veanes, Nikolaj S. Bjørner |
ICTAC | 2 |
| 2009 | Path Feasibility Analysis for String-Manipulating Programs
Nikolaj S. Bjørner, Nikolai Tillmann, Andrei Voronkov |
TACAS | 1 |
| 2008 | An SMT Approach to Bounded Reachability Analysis of Model Programs
Margus Veanes, Nikolaj S. Bjørner, Alexander Raschke |
FORTE | 2 |
| 2008 | Z3: An Efficient SMT Solver
Leonardo de Moura 0001, Nikolaj S. Bjørner |
TACAS | 2 |
| 2007 | Efficient E-Matching for SMT Solvers
Leonardo de Moura 0001, Nikolaj S. Bjørner |
CADE | 2 |
| 2001 | Deductive verification of real-time systems using STeP
Nikolaj S. Bjørner, Zohar Manna, Henny B. Sipma, Tomás E. Uribe |
Theor. Comput. Sci. | 1 |
| 2000 | Absolute Explicit Unification
Nikolaj S. Bjørner, César A. Muñoz |
RTA | 1 |
| 2000 | Verifying Temporal Properties of Reactive Systems: A STeP Tutorial
Nikolaj S. Bjørner, Anca Browne, Michael Colón, Bernd Finkbeiner, Zohar Manna, Henny B. Sipma, Tomás E. Uribe |
Formal Methods Syst. Des. | 1 |
| 1998 | Deciding Fixed and Non-fixed Size Bit-vectors
Nikolaj S. Bjørner, Mark C. Pichora |
TACAS | 1 |
| 1997 | A Practical Integration of First-Order Reasoning and Decision Procedures
Nikolaj S. Bjørner, Mark E. Stickel, Tomás E. Uribe |
CADE | 1 |
| 1997 | Automatic Generation of Invariants and Intermediate AssertionsabstractVerifying temporal specifications of reactive and concurrent systems commonly relies on generating auxiliary assertions and on strengthening given properties of the system. This can be achieved by two dual approaches: The bottom-up method performs an abstract forward propagation (computation) of the system, generating auxiliary assertions; the top-down method performs an abstract backward propagation to strengthen given properties. Exact application of these methods is complete but is usually infeasible for large-scale verification. Approximation techniques are often needed to complete the verification. We give an overview of known methods for generation of auxiliary invariants in the verification of invariance properties. We extend these methods, by formalizing and analyzing a general verification rule that uses assertion graphs to generate auxiliary assertions for the verification of general safety properties. Nikolaj S. Bjørner, Anca Browne, Zohar Manna |
Theor. Comput. Sci. | 1 |
| 1996 | STeP: Deductive-Algorithmic Verification of Reactive and Real-Time Systems
Nikolaj S. Bjørner, Anca Browne, Edward Y. Chang, Michael Colón, Arjun Kapur, Zohar Manna, Henny B. Sipma, Tomás E. Uribe |
CAV | 1 |
| 1995 | Automatic Generation of Invariants and Assertions
Nikolaj S. Bjørner, Anca Browne, Zohar Manna |
CP | 1 |