VLDB 2026 Research / reviewers in the wild / expert
Grigory Fedyukovich
dblp:43/8810
· DBLP profile ↗
64ranked-venue papers
17as first author
26since 2021 · last 2026
0000-0003-1727-4043ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 53 · 14 first-author · 24 since 2021Theory of computation · 27 · 8 first-author · 9 since 2021Artificial intelligence and machine learning · 8 · 2 first-author · 1 since 2021Systems, architecture and hardware · 2 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Formally Explaining Neural Network ClassificationabstractAbstract Neural networks (NNs) are the core of AI-based technologies. However, the degree of reliability in performing the task is an open problem. The explainability of a central task of NNs, classification, is of immense importance. While at the rise of AI-based reasoning, explainability of the NN classification has mostly been done using statistical methods, nowadays, a more reliable trend of formal logic-based methods is gaining popularity. The advantage of the formal approach is that it gives strict and provable guarantees of the classification. Formal methods is a mature field that has delivered a number of efficient computational solutions already applied in the analysis of software and hardware systems. Formal explainability methods naturally have the ability to reuse existing techniques and tools for a newly emerging field of formal explainability of NN classification. This paper surveys existing efforts to compute explanations of neural network classification based on logical abductive reasoning. The abduction approach is crucial for generalizing the results, capturing the underlying behavior of the classifier. We present the existing techniques as instances of a general formalization that allows contrasting them against each other. In addition, we discuss the issue of the quality of explanations, focusing on their key metrics and factors. As an illustrative example, the paper also presents a practical framework, SpEXplAIn , which automatically computes Space Explanations, the most general abduction-based explanations for classifying NNs with provable guarantees of the behavior of the network in continuous areas of the input feature space. The tool leverages an SMT solver compatible with a range of flexible Craig interpolation algorithms and unsatisfiable core generation, and is applicable to a wide range of applications. Tomás Kolárik, Grigory Fedyukovich, Faezeh Labbaf, Fabrizio Leopardi, Natasha Sharygina, Michael Wand 0002 |
FM (2) | 2 |
| 2026 | Syntactically Convex Model-Based Projection for Linear Real ArithmeticabstractQuantifier elimination (QE) is a key task in formal verification algorithms, and the ability to return partial results, such as under-approximations, is beneficial for many QE clients. In Linear Real Arithmetic (LRA), existing QE methods often fail to preserve syntactic convexity, that is, they return a disjunction even for a conjunctive input, or they return a large non-minimal representation. We define the novel concept of Bidirectional Model-Based Projection and a new QE algorithm for LRA (BMBP-QE) that (i) returns a conjunctive over-approximation and a disjunctive under-approximation when interrupted early, (ii) returns a minimal conjunction when the input is conjunctive, and (iii) applies to arbitrary LRA formulae. We show that BMBP-QE outperforms SMT-based QE algorithms, offering improvements in both runtime and result size. Anna Becchi, Grigory Fedyukovich, Arie Gurfinkel, Lev Nachmanson |
TACAS (1) | 2 |
| 2026 | Analyzing multiloop programs with Golem
Konstantin Britikov, Martin Blicha, Natasha Sharygina, Grigory Fedyukovich |
Sci. Comput. Program. | 4 |
| 2025 | Space Explanations of Neural Network ClassificationabstractAbstract We present a novel logic-based concept called Space Explanations for classifying neural networks that gives provable guarantees of the behavior of the network in continuous areas of the input feature space. To automatically generate space explanations, we leverage a range of flexible Craig interpolation algorithms and unsatisfiable core generation. Based on real-life case studies, ranging from small to medium to large size, we demonstrate that the generated explanations are more meaningful than those computed by state-of-the-art. Faezeh Labbaf, Tomás Kolárik, Martin Blicha, Grigory Fedyukovich, Michael Wand 0002, Natasha Sharygina |
CAV (3) | 4 |
| 2025 | CHC-Based Reachability Analysis via Cycle Summarization
Konstantin Britikov, Grigory Fedyukovich, Natasha Sharygina |
iFM | 2 |
| 2025 | Quick Theory Exploration for Algebraic Data Types via Program Transformations
Gidon Ernst, Grigory Fedyukovich |
iFM | 2 |
| 2025 | A Flow-Sensitive Refinement Type System for Verifying eBPF ProgramsabstractThe Extended Berkeley Packet Filter ( eBPF ) subsystem within an operating system’s kernel enables userspace programs to extend kernel functionality dynamically. Due to the security risks associated with runtime modification of the operating system, eBPF requires all programs to be verified before deploying them within the kernel. Existing approaches to eBPF verification are monolithic, requiring their entire analysis to be done in a secure environment, resulting in the need for extensive trusted codebases. We present a typebased verification approach that automatically infers proof certificates in userspace, thus reducing the size and complexity of the trusted codebase. At the same time, only the proof-checking component needs to be deployed in a secure environment. Moreover, compared to previous techniques, our type system enhances the debuggability of the programs for users through ergonomic type annotations when verification fails. We implemented our type inference algorithm in a tool called VeRefine and evaluated it against an existing eBPF verifier, Prevail . VeRefine outperformed Prevail on most of the industrial benchmarks. Lucas Zavalía, Arie Gurfinkel, Jorge A. Navas, Grigory Fedyukovich |
Proc. ACM Program. Lang. | 5 |
| 2025 | Exact Loop Bound AnalysisabstractThere are many state-of-the-art techniques for loop bound analysis. Most of them target an upper bound for a given program, and others find a lower bound. Exact bound analysis still remains largely unexplored, but it offers new applications. To compute an exact bound for a program it is necessary to reason about the possible values the program’s inputs can take and how they relate to each other. Since inputs can vary on any given execution of the program, it makes the problem of computing an exact bound challenging. In this work, we present a new approach to find an exact bound by way of precondition synthesis which iteratively considers under-approximations of a program under which the bound can be precomputed over initial values of program variables. For each precondition, our approach synthesizes a function over program variables such that when the function is applied to the initial values of the program variables, its output is an exact bound for the program. We reduce the precondition synthesis problem to that of safety verification which lends its correctness guarantees to the exact bounds we compute. Our technique has been implemented in a tool called ELBA, and we show that it is effective on a set of challenging single loop benchmarks under Linear Integer Arithmetic. Daniel Riley, Grigory Fedyukovich |
Proc. ACM Program. Lang. | 2 |
| 2024 | Leveraging Program Structure for Test Case Generation
Ilia Zlatkin, Grigory Fedyukovich |
ATVA (2) | 2 |
| 2024 | SolTG: A CHC-Based Solidity Test Case GeneratorabstractAbstract Achieving high test coverage is important when developing blockchain smart contracts, but it could be challenging without automated reasoning tools. In this paper, we present SolTG, an automated test case generator for Solidity based on constrained Horn clauses (CHC). SolTG exhaustively enumerates symbolic path constraints from the contract’s CHC representation and makes calls to the Satisfiability Modulo Theories (SMT) solver to find input values under which the contract exhibits the corresponding behavior. Test cases synthesized by SolTG have the form of a sequence of function calls over concrete values of input parameters which lead to a specific execution scenario. The tool supports multiple Solidity-specific features and is capable of exhibiting a high coverage for industrial-grade Solidity code. We present a detailed architecture of SolTG based on the existing translation of smart contracts into a CHC representation. We also present the experimental results for test generation on the regression and industrial benchmarks. Konstantin Britikov, Ilia Zlatkin, Grigory Fedyukovich, Leonardo Alt, Natasha Sharygina |
CAV (1) | 3 |
| 2024 | Maximal Quantified Precondition Synthesis for Linear Array LoopsabstractAbstract Precondition inference is an important problem with many applications in verification and testing. Finding preconditions can be tricky as programs often have loops and arrays, which necessitates finding quantified inductive invariants. However, existing techniques have limitations in finding such invariants, especially when preconditions are missing. Further, maximal (or weakest) preconditions are often required to maximize the usefulness of preconditions. So the inferred inductive invariants have to be adequately weak. To address these challenges, we present an approach for maximal quantified precondition inference using aninfer-check-weakenframework. Preconditions and inductive invariants are inferred by a novel technique calledrange abduction, and then checked for maximality and weakened if required. Range abduction attempts to propagate the given quantified postcondition backwards and then strengthen or weaken it as needed to establish inductiveness. Weakening is done in a syntax-guided fashion. Our evaluation performed on a set of public benchmarks demonstrates that the technique significantly outperforms existing techniques in finding maximal preconditions and inductive invariants. Sumanth Prabhu S, Grigory Fedyukovich, Deepak D'Souza |
ESOP (2) | 2 |
| 2024 | Reachability Analysis for Multiloop Programs Using Transition Power AbstractionabstractAbstract A wide variety of algorithms is employed for the reachability analysis of programs with loops but most of them are restricted to single loop programs. Recently a new technique called Transition Power Abstraction (TPA) showed promising results for safety checks of software. In contrast to many other techniques TPA efficiently handles loops with a large number of iterations. This paper introduces an algorithm that enables the effective use of TPA for analysis of multiloop programs. The TPA-enabled loop analysis reduces the dependency on the number of possible iterations. Our approach analyses loops in a modular manner and both computes and uses transition invariants incrementally, making program analysis efficient. The new algorithm is implemented in the Golem solver. Conducted experiments demonstrate that this approach outperforms the previous implementation of TPA and other competing tools on a wide range of multiloop benchmarks. Konstantin Britikov, Martin Blicha, Natasha Sharygina, Grigory Fedyukovich |
FM (1) | 4 |
| 2024 | Weakest Precondition Inference for Non-Deterministic Linear Array ProgramsabstractAbstract Precondition inferenceis an important problem with many applications. Existing precondition inference techniques for programs with arrays have limited ability to find and prove the weakest preconditions, especially when programs have non-determinism. In this paper, we propose an approach to overcome the limitation. As the problem is uncomputable in general, our approach targets a special class of programs called linear array programs that are commonly encountered in practical applications and have been studied before. We also focus on a class of quantified formulas for pre- and postconditions that suffice to specify program properties in many applications. Our approach uses two novel techniques calledStructural Array Abduction(SAA) andSpecialized Maximality Checking(SMC). SAA is an abduction-based technique used to infer quantified preconditions and necessary inductive invariants. SMC proves that an inferred precondition is the weakest by finding an under-approximated program and solving the complement verification problem on it using SAA. When inconclusive, it attempts to weaken the precondition. Our approach can infer (and also prove) the weakest preconditions for a range of benchmarks relatively quickly, and outperforms competing techniques. Sumanth Prabhu S, Deepak D'Souza, Supratik Chakraborty, R. Venkatesh 0001, Grigory Fedyukovich |
TACAS (2) | 5 |
| 2023 | Collaborative Inference of Combined InvariantsabstractInductive invariant inference is the fundamental problem in program verification, and specifically in verification of functional programs that use nonlinear recursion and algebraic data types (ADTs). For ADTs, it is challenging to come up with an abstract domain that is rich enough to represent program properties and a procedure for invariant inference which is effective for this domain. Although there are various techniques for different abstract domains for ADTs, they often diverge while analyzing real-life programs because of low expressivity of their abstract domains. Moreover, it is often unclear if they could comple- ment each other, other than by running in a portfolio. We present a lightweight approach to combining any existing techniques for different abstract domains collaboratively, thus targeting a more expressive domain. We instantiate the approach and obtain an effective inductive invariant inference algorithm in a rich combined domain of elementary and reg- ular ADT invariants essentially for free. Because of the richer domain, collaborations of verifiers are capable of solving problems that are beyond the capabilities of the collabora- tors running independently. Our implementation of the algorithm is a collaboration of two existing state-of-the-art inductive invariant inference engines having general-purpose first- order logic solvers as a backend. Finally, we show that our implementation is capable of solving a large amount of CHC-Comp 2022 problems obtained from Haskell verification problems, for which the existing tools diverge. Yurii Kostyukov, Dmitry Mordvinov, Grigory Fedyukovich |
LPAR | 3 |
| 2023 | Lockstep Composition for Unbalanced LoopsabstractAbstract Equivalence checking of two programs is often reduced to the safety verification of a so-called product program that aligns the programs in lockstep. However, this strategy is not applicable when programs have arbitrary loop structures, e.g., the numbers of loops vary. We introduce an automatic iterative abstraction-refinement-based technique for checking equivalence of a single-loop program and a program which has a series of consecutive loops. Our approach decomposes the single loop into a sequence of separate loops thus reducing the main problem to a series of equivalence-checking problems for pairs of loops. Since due to the decomposition, these problems become abstract, our approach iteratively refines the decomposed loops and lifts useful information across them. Our second contribution is a procedure for the alignment of loops with counters and explicit bounds that cannot be composed in lockstep. We have implemented the approach and successfully evaluated it on two suites, one with benchmarks containing different numbers of loops and the other containing benchmarks that need alignment. Grigory Fedyukovich |
TACAS (2) | 2 |
| 2023 | Solving Constrained Horn Clauses over Algebraic Data Types
Lucas Zavalía, Lidiia Chernigovskaia, Grigory Fedyukovich |
VMCAI | 3 |
| 2022 | Split Transition Power Abstraction for Unbounded Safety
Martin Blicha, Grigory Fedyukovich, Antti Eero Johannes Hyvärinen, Natasha Sharygina |
FMCAD | 2 |
| 2022 | Horntinuum: Autonomous Testing using Constrained Horn ClausesabstractNo abstract available. Ilia Zlatkin, Grigory Fedyukovich |
ASE | 2 |
| 2022 | Multi-phase invariant synthesisabstractLoops with multiple phases are challenging to verify because they require disjunctive invariants. Invariants could also have the form of implication between a precondition for the phase and a lemma that is valid throughout the phase. Such invariant structure is however not widely supported in state-of-the-art verification. We present a novel SMT-based approach to synthesize implication invariants for multi-phase loops. Our technique computes Model Based Projections to discover the program's phases and leverages data learning to get relationships among loop variables at an arbitrary place in the loop. It is effective in the challenging cases of mutually-dependent periodic phases, where many implication invariants need to be discovered simultaneously. Our approach has shown promising results in its ability to verify programs with complex phase structures. We have implemented and evaluated our algorithm against several state-of-the-art solvers. Daniel Riley, Grigory Fedyukovich |
ESEC/SIGSOFT FSE | 2 |
| 2022 | Transition Power Abstractions for Deep Counterexample DetectionabstractAbstract While model checking safety of infinite-state systems by inferring state invariants has steadily improved recently, most verification tools still rely on a technique based on bounded model checking to detect safety violations. In particular, the current techniques typically analyze executions by unfolding transitions one step at a time, and the slow growth of execution length prevents detection of deep counterexamples before the tool reaches its limits on computations. We propose a novel model-checking algorithm that is capable of both proving unbounded safety and finding long counterexamples. The idea is to use Craig interpolation to guide the creation of symbolic abstractions ofexponentially longer sequences of transitions. Our experimental analysis shows that on unsafe benchmarks with deep counterexamples our implementation can detect faulty executions that are at least an order of magnitude longer than those detectable by the state-of-the-art tools. Martin Blicha, Grigory Fedyukovich, Antti Eero Johannes Hyvärinen, Natasha Sharygina |
TACAS (1) | 2 |
| 2022 | Maximizing Branch Coverage with Constrained Horn ClausesabstractAbstract State-of-the-art solvers for constrained Horn clauses (CHC) are successfully used to generate reachability facts from symbolic encodings of programs. In this paper, we present a new application to test-case generation: if a block of code is provably unreachable, no test case can be generated allowing to explore other blocks of code. Our new approach uses CHC to incrementally construct different program unrollings and extract test cases from models of satisfiable formulas. At the same time, a CHC solver keeps track of CHCs that represent unreachable blocks of code which makes the unrolling process more efficient. In practice, this lets our approach to terminate early while guaranteeing maximal coverage. Our implementation called Horntinuum exhibits promising performance: it generates high coverage in the majority of cases and spends less time on average than state-of-the-art. Ilia Zlatkin, Grigory Fedyukovich |
TACAS (2) | 2 |
| 2022 | SMT-based verification of program changes through summary repairabstractThis article provides an innovative approach for verification by model checking of programs that undergo continuous changes. To tackle the problem of repeating the entire model checking for each new version of the program, our approach verifies programs incrementally. It reuses computational history of the previous program version, namely function summaries. In particular, the summaries are over-approximations of the bounded program behaviors. Whenever reusing of summaries is not possible straight away, our algorithm repairs the summaries to maximize the chance of reusability of them for subsequent runs. We base our approach on satisfiability modulo theories (SMT) to take full advantage of lightweight modeling approach and at the same time the ability to provide concise function summarization. Our approach leverages pre-computed function summaries in SMT to localize the checks of changed functions. Furthermore, to exploit the trade-off between precision and performance, our approach relies on the use of an SMT solver, not only for underlying reasoning, but also for program modeling and the adjustment of its precision. On the benchmark suite of primarily Linux device drivers versions, we demonstrate that our algorithm achieves an order of magnitude speedup compared to prior approaches. Sepideh Asadi, Martin Blicha, Antti Eero Johannes Hyvärinen, Grigory Fedyukovich, Natasha Sharygina |
Formal Methods Syst. Des. | 4 |
| 2021 | Beyond the elementary representations of program invariants over algebraic data typesabstractFirst-order logic is a natural way of expressing properties of computation. It is traditionally used in various program logics for expressing the correctness properties and certificates. Although such representations are expressive for some theories, they fail to express many interesting properties of algebraic data types (ADTs). In this paper, we explore three different approaches to represent program invariants of ADT-manipulating programs: tree automata, and first-order formulas with or without size constraints. We compare the expressive power of these representations and prove the negative definability of both first-order representations using the pumping lemmas. We present an approach to automatically infer program invariants of ADT-manipulating programs by a reduction to a finite model finder. The implementation called RInGen has been evaluated against state-of-the-art invariant synthesizers and has been experimentally shown to be competitive. In particular, program invariants represented by automata are capable of expressing more complex properties of computation and their automatic construction is often less expensive. Yurii Kostyukov, Dmitry Mordvinov, Grigory Fedyukovich |
PLDI | 3 |
| 2021 | Specification synthesis with constrained Horn clausesabstractThe problem of synthesizing specifications of undefined procedures has a broad range of applications, but the usefulness of the generated specifications depends on their quality. In this paper, we propose a technique for finding maximal and non-vacuous specifications. Maximality allows for more choices for implementations of undefined procedures, and non-vacuity ensures that safety assertions are reachable. To handle programs with complex control flow, our technique discovers not only specifications but also inductive invariants. Our iterative algorithm lazily generalizes non-vacuous specifications in a counterexample-guided loop. The key component of our technique is an effective non-vacuous specification synthesis algorithm. We have implemented the approach in a tool called HornSpec, taking as input systems of constrained Horn clauses. We have experimentally demonstrated the tool's effectiveness, efficiency, and the quality of generated specifications on a range of benchmarks. Sumanth Prabhu S, Grigory Fedyukovich, Kumar Madhukar, Deepak D'Souza |
PLDI | 2 |
| 2021 | Bridging Arrays and ADTs in Recursive ProofsabstractAbstract We present an approach to synthesize relational invariants to prove equivalences between object-oriented programs. The approach bridges the gap between recursive data types and arrays that serve to represent internal states. Our relational invariants are recursively-defined, and thus are valid for data structures of unbounded size. Based on introducing recursion into the proofs by observing and lifting the constraints from joint methods of the two objects, our approach is fully automatic and can be seen as an algorithm for solving Constrained Horn Clauses (CHC) of a specific sort. It has been implemented on top of the SMT-based CHC solver AdtChc and evaluated on a range of benchmarks. Grigory Fedyukovich, Gidon Ernst |
TACAS (2) | 1 |
| 2021 | Unbounded Procedure Summaries from Bounded Environments
Lauren Pick, Grigory Fedyukovich, Aarti Gupta |
VMCAI | 2 |
| 2020 | Incremental Verification by SMT-based Summary RepairabstractWe present UPPROVER, a bounded model checker designed to incrementally verify software while it is being gradually developed, refactored, or optimized.In contrast to its predecessor, a SAT-based tool EVOLCHECK, our tool exploits first-order theories available in SMT solvers, offering two more levels of encoding precision: linear arithmetic and uninterpreted functions, thus allowing a trade-off between precision and performance.Algorithmically UPPROVER is based on the reuse and repair of interpolation-based function summaries from one software version to another.UPPROVER leverages treeinterpolation systems in SMT to localize and speed up the checks of new versions.UPPROVER demonstrates an order of magnitude speedup on large-scale programs in comparison to EVOLCHECK and HIFROG, a non-incremental bounded model checker. Sepideh Asadi, Martin Blicha, Antti Eero Johannes Hyvärinen, Grigory Fedyukovich, Natasha Sharygina |
FMCAD | 4 |
| 2020 | Automating Modular Verification of Secure Information FlowabstractVerifying secure information flow by reducing it to safety verification is a popular approach, based on constructing product programs or self-compositions of given programs.However, most such existing efforts are non-modular, i.e., they do not infer relational specifications for procedures in interprocedural programs.Such relational specifications can help to verify security properties in a modular fashion, e.g., for verifying clients of library APIs.They also provide security contracts at procedure boundaries to aid code understanding and maintenance.There has been recent interest in constructing modular product programs, but where users are required to provide procedure summaries and related annotations.In this work, we propose to automatically infer relational specifications for procedures in modular product programs.Our approach uses syntax-guided synthesis techniques and grammar templates that target verification of secure information flow properties.This enables automation of modular verification for such properties, thereby reducing the annotation burden.We have implemented our techniques on top of a solver for constrained Horn clauses (CHC).Our evaluation demonstrates that our tool is capable of inferring adequate relational specifications for procedures without requiring annotations.Furthermore, it outperforms an existing state-of-the-art hyperproperty verifier and a modular CHC-based verifier on benchmarks with loops or recursion. Lauren Pick, Grigory Fedyukovich, Aarti Gupta |
FMCAD | 2 |
| 2020 | Word Level Property Directed ReachabilityabstractVerification approaches based on constraint solvers are successfully applied in firmware and other low-level code that interfaces with hardware. While for proving safety of gate-level sequential circuits, it often suffices to bit-blast and reduce to SAT-based IC3 or Property Directed Reachability (IC3/PDR), for handling machine-level instructions that perform arithmetic and data manipulation operations, word-level reasoning should be conducted. However, because of poor support for interpolation and quantifier elimination in the theory of bit-vectors (BV), previous attempts to lift IC3/PDR to word level required integrating it into an external abstraction-refinement loop. Aiming to reach more scalable bit-precise verification, we propose to bring useful insights from PDR-based verification algorithms used in software. In particular, instead of using bit-blasting to eliminate quantifiers from BV-formulas, we present a less expensive method for iterative approximate quantifier elimination in BV. It naturally supports all bit-operators and can be optimized further by applying rules inspired by modular linear arithmetic. Finally, we leverage recent techniques on learning inductive invariants based on explicit global guidance, thus allowing the approach to bypass interpolation. Our implementation on top of Spacer, a PDR-based verifier shows that such a word-level PDR is promising and can be more effective than state-of-the-art. Hari Govind V. K., Grigory Fedyukovich, Arie Gurfinkel |
ICCAD | 2 |
| 2020 | Synthesis of Infinite-State Systems with Random BehaviorabstractDiversity in the exhibited behavior of a given system is a desirable characteristic in a variety of application contexts. Synthesis of conformant implementations often proceeds by discovering witnessing Skolem functions, which are traditionally deterministic. In this paper, we present a novel Skolem extraction algorithm to enable synthesis of witnesses with random behavior and demonstrate its applicability in the context of reactive systems. The synthesized solutions are guaranteed by design to meet the given specification, while exhibiting a high degree of diversity in their responses to external stimuli. Case studies demonstrate how our proposed framework unveils a novel application of synthesis in model-based fuzz testing to generate fuzzers of competitive performance to general-purpose alternatives, as well as the practical utility of synthesized controllers in robot motion planning problems. Andreas Katis, Grigory Fedyukovich, Jeffrey Chen, David A. Greve, Sanjai Rayadurgam, Michael W. Whalen |
ASE | 2 |
| 2020 | Farkas-Based Tree Interpolation
Sepideh Asadi, Martin Blicha, Antti Eero Johannes Hyvärinen, Grigory Fedyukovich, Natasha Sharygina |
SAS | 4 |
| 2020 | Fold/Unfold Transformations for Fixpoint LogicabstractAbstract Fixpoint logics have recently been drawing attention as common foundations for automated program verification. We formalize fold/unfold transformations for fixpoint logic formulas and show how they can be used to enhance a recent fixpoint-logic approach to automated program verification, including automated verification of relational and temporal properties. We have implemented the transformations in a tool and confirmed its effectiveness through experiments. Naoki Kobayashi 0001, Grigory Fedyukovich, Aarti Gupta |
TACAS (2) | 2 |
| 2020 | Synthesizing Environment Invariants for Modular Hardware Verification
Hongce Zhang, Weikun Yang, Grigory Fedyukovich, Aarti Gupta, Sharad Malik |
VMCAI | 3 |
| 2020 | Learning inductive invariants by sampling from frequency distributions
Grigory Fedyukovich, Samuel J. Kaufman, Rastislav Bodík |
Formal Methods Syst. Des. | 1 |
| 2019 | Quantified Invariants via Syntax-Guided SynthesisabstractPrograms with arrays are ubiquitous. Automated reasoning about arrays necessitates discovering properties about ranges of elements at certain program points. Such properties are formally specified by universally quantified formulas, which are difficult to find, and difficult to prove inductive. In this paper, we propose an algorithm based on an enumerative search that discovers quantified invariants in stages. First, by exploiting the program syntax, it identifies ranges of elements accessed in each loop. Second, it identifies potentially useful facts about individual elements and generalizes them to hypotheses about entire ranges. Finally, by applying recent advances of SMT solving, the algorithm filters out wrong hypotheses. The combination of properties is often enough to prove that the program meets a safety specification. The algorithm has been implemented in a solver for Constrained Horn Clauses, Freq-Horn, and extended to deal with multiple (possibly nested) loops. We show that FreqHorn advances state-of-the-art on a wide range of public array-handling programs. Grigory Fedyukovich, Sumanth Prabhu S, Kumar Madhukar, Aarti Gupta |
CAV (1) | 1 |
| 2019 | Functional Synthesis with Examples
Grigory Fedyukovich, Aarti Gupta |
CP | 1 |
| 2019 | Lemma Synthesis for Automating Induction over Algebraic Data Types
Weikun Yang, Grigory Fedyukovich, Aarti Gupta |
CP | 2 |
| 2019 | The FMCAD 2019 Student ForumabstractThe Student Forum at the International Conference on Formal Methods in Computer-Aided Design (FMCAD) provides a platform for (under-)graduate students to introduce their research to the Formal Methods community and solicit feedback. In 2019, the event took place in San Jose, California. Twenty three students were invited to give a short talk and present a poster illustrating their work. The presentations covered a broad range of topics in the fields of verification and synthesis. Grigory Fedyukovich |
FMCAD | 1 |
| 2019 | Property Directed Inference of Relational InvariantsabstractProperty Directed Reachability (PDR) is an efficient and scalable approach for solving systems of symbolic constraints, also known as Constrained Horn Clauses (CHC). In the case of non-linear CHCs, which may arise, e.g., from relational verification tasks, PDR aims to infer an inductive invariant for each uninterpreted predicate. However, in many practical cases, this reasoning is not successful, as invariants need to be discovered for groups of predicates, as opposed to individual predicates. We contribute a novel algorithm that identifies such groups automatically and complements the existing PDR technique. The key feature of the algorithm is that it does not require a possibly expensive synchronization transformation over the system of CHCs. We have implemented the algorithm on top of a state-of the-art CHC solver SPACER. Our experimental evaluation shows that for some CHC systems, on which existing solvers diverge, our tool is able to discover relational invariants. Dmitry Mordvinov, Grigory Fedyukovich |
FMCAD | 2 |
| 2019 | TOOLympics 2019: An Overview of Competitions in Formal MethodsabstractEvaluation of scientific contributions can be done in many different ways. For the various research communities working on the verification of systems (software, hardware, or the underlying involved mechanisms), it is important to bring together the community and to compare the state of the art, in order to identify progress of and new challenges in the research area. Competitions are a suitable way to do that. The first verification competition was created in 1992 (SAT competition), shortly followed by the CASC competition in 1996. Since the year 2000, the number of dedicated verification competitions is steadily increasing. Many of these events now happen regularly, gathering researchers that would like to understand how well their research prototypes work in practice. Scientific results have to be reproducible, and powerful computers are becoming cheaper and cheaper, thus, these competitions are becoming an important means for advancing research in verification technology. TOOLympics 2019 is an event to celebrate the achievements of the various competitions, and to understand their commonalities and differences. This volume is dedicated to the presentation of the 16 competitions that joined TOOLympics as part of the celebration of the $$25^{ th }$$ anniversary of the TACAS conference. Ezio Bartocci, Dirk Beyer 0001, Paul E. Black, Grigory Fedyukovich, Hubert Garavel, Arnd Hartmanns, Marieke Huisman, Fabrice Kordon, Julian Nagele, Mihaela Sighireanu, Bernhard Steffen, Martin Suda 0001, Geoff Sutcliffe, Tjark Weber, Akihisa Yamada 0002 |
TACAS (3) | 4 |
| 2019 | Lazy but Effective Functional Synthesis
Grigory Fedyukovich, Arie Gurfinkel, Aarti Gupta |
VMCAI | 1 |
| 2019 | Exploiting partial variable assignment in interpolation-based model checking
Pavel Jancík, Jan Kofron, Leonardo Alt, Grigory Fedyukovich, Antti Eero Johannes Hyvärinen, Natasha Sharygina |
Formal Methods Syst. Des. | 4 |
| 2018 | Syntax-Guided Termination AnalysisabstractWe present new algorithms for proving program termination and non-termination using syntax-guided synthesis. They exploit the symbolic encoding of programs and automatically construct a formal grammar for symbolic constraints that are used to synthesize either a termination argument or a non-terminating program refinement. The constraints are then added back to the program encoding, and an off-the-shelf constraint solver decides on their fitness and on the progress of the algorithms. The evaluation of our implementation, called Freq-Term , shows that although the formal grammar is limited to the syntax of the program, in the majority of cases our algorithms are effective and fast. Importantly, FreqTerm is competitive with state-of-the-art on a wide range of terminating and non-terminating benchmarks, and it significantly outperforms state-of-the-art on proving non-termination of a class of programs arising from large-scale Event-Condition-Action systems. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves. Grigory Fedyukovich, Yueling Zhang, Aarti Gupta |
CAV (1) | 1 |
| 2018 | Exploiting Synchrony and Symmetry in Relational VerificationabstractRelational safety specifications describe multiple runs of the same program or relate the behaviors of multiple programs. Approaches to automatic relational verification often compose the programs and analyze the result for safety, but a naively composed program can lead to difficult verification problems. We propose to exploit relational specifications for simplifying the generated verification subtasks. First, we maximize opportunities for synchronizing code fragments. Second, we compute symmetries in the specifications to reveal and avoid redundant subtasks. We have implemented these enhancements in a prototype for verifying k -safety properties on Java programs. Our evaluation confirms that our approach leads to a consistent performance speedup on a range of benchmarks. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves. Lauren Pick, Grigory Fedyukovich, Aarti Gupta |
CAV (1) | 2 |
| 2018 | Solving Constrained Horn Clauses Using Syntax and DataabstractA Constrained Horn Clause (CHC) is a logical implication involving unknown predicates. Systems of CHCs are widely used to verify programs with arbitrary loop structures: interpretations of unknown predicates, which make every CHC in the system true, represent the program's inductive invariants. In order to find such solutions, we propose an algorithm based on Syntax-Guided Synthesis. For each unknown predicate, it generates a formal grammar from all relevant parts of the CHC system (i.e., using syntax). Grammars are further enriched by predicates and constants guessed from models of various unrollings of the CHC system (i.e., using data). We propose an iterative approach to guess and check candidates for multiple unknown predicates. At each iteration, only a candidate for one unknown predicate is sampled from its grammar, but then it gets propagated to candidates of the remaining unknowns through implications in the CHC system. Finally, an SMT solver is used to decide if the system of candidates contributes towards a solution or not. We present an evaluation of the algorithm on a range of benchmarks originating from program verification tasks and show that it is competitive with state-of-the-art in CHC solving. Grigory Fedyukovich, Sumanth Prabhu S, Kumar Madhukar, Aarti Gupta |
FMCAD | 1 |
| 2018 | Function Summarization Modulo TheoriesabstractSMT-based program verification can achieve high precision using bit-precise models or combinations of different theories. Often such approaches suffer from problems related to scalability due to the complexity of the underlying decision procedures. Precision is traded for performance by increasing the abstraction level of the model. As the level of abstraction increases, missing important details of the program model becomes problematic. In this paper we address this problem with an incremental verification approach that alternates precision of the program modules on demand. The idea is to model a program using the lightest possible (i.e., less expensive) theories that suffice to verify the desired property. To this end, we employ safe over-approximations for the program based on both function summaries and light-weight SMT theories. If during verification it turns out that the precision is too low, our approach lazily strengthens all affected summaries or the theory through an iterative refinement procedure. The resulting summarization framework provides a natural and light-weight approach for carrying information between different theories. An experimental evaluation with a bounded model checker for C on a wide range of benchmarks demonstrates that our approach scales well, often effortlessly solving instances where the state-of-the-art model checker CBMC runs out of time or memory. Sepideh Asadi, Martin Blicha, Grigory Fedyukovich, Antti Eero Johannes Hyvärinen, Karine Even-Mendoza, Natasha Sharygina, Hana Chockler |
LPAR | 3 |
| 2018 | Accelerating Syntax-Guided Invariant Synthesis
Grigory Fedyukovich, Rastislav Bodík |
TACAS (1) | 1 |
| 2018 | Validity-Guided Synthesis of Reactive Systems from Assume-Guarantee Contracts
Andreas Katis, Grigory Fedyukovich, Huajun Guo, Andrew Gacek, John D. Backes, Arie Gurfinkel, Michael W. Whalen |
TACAS (2) | 2 |
| 2017 | Sampling invariants from frequency distributionsabstractWe present a new SMT-based, probabilistic, syntax-guided method to discover numerical inductive invariants. The core idea is to initialize frequency distributions from the program's source code, then repeatedly sample lemmas from those distributions, and terminate when the conjunction of learned lemmas becomes a safe invariant. The sampling process gets further optimized by priority distributions fine-tuned after each positive and negative sample. The stochastic nature of this approach admits simple, asynchronous parallelization. We implemented and evaluated this approach in a tool called FreqHorn which shows competitive performance on well-known linear and some non-linear programs. Grigory Fedyukovich, Samuel J. Kaufman, Rastislav Bodík |
FMCAD | 1 |
| 2017 | Synchronizing Constrained Horn ClausesabstractSimultaneous occurrences of multiple recurrence relations in a system of non-linear constrained Horn clauses are crucial for proving its satis ability. A solution of such system is often inexpressible in the constraint language. We propose to synchronize recurrent computations, thus increasing the chances for a solution to be found. We introduce a notion of CHC product allowing to formulate a lightweight iterative algorithm of merging recurrent computations into groups and prove its soundness. The evaluation over a set of systems handling lists and linear integer arithmetic confirms that the transformed systems are drastically more simple to solve than the original ones. Dmitry Mordvinov, Grigory Fedyukovich |
LPAR | 2 |
| 2017 | Gradual synthesis for static parallelization of single-pass array-processing programsabstractParallelizing of software improves its effectiveness and productivity. To guarantee correctness, the parallel and serial versions of the same code must be formally verified to be equivalent. We present a novel approach, called GRASSP, that automatically synthesizes parallel single-pass array-processing programs by treating the given serial versions as specifications. Given arbitrary segmentation of the input array, GRASSP synthesizes a code to determine a new segmentation of the array that allows computing partial results for each segment and merging them. In contrast to other parallelizers, GRASSP gradually considers several parallelization scenarios and certifies the results using constrained Horn solving. For several classes of programs, we show that such parallelization can be performed efficiently. The C++ translations of the GRASSP solutions sped performance by up to 5X relative to serial code on an 8-thread machine and Hadoop translations by up to 10X on a 10-node Amazon EMR cluster. Grigory Fedyukovich, Maaz Bin Safeer Ahmad, Rastislav Bodík |
PLDI | 1 |
| 2017 | Theory Refinement for Program Verification
Antti Eero Johannes Hyvärinen, Sepideh Asadi, Karine Even-Mendoza, Grigory Fedyukovich, Hana Chockler, Natasha Sharygina |
SAT | 4 |
| 2017 | HiFrog: SMT-based Function Summarization for Software Verification
Leonardo Alt, Sepideh Asadi, Hana Chockler, Karine Even-Mendoza, Grigory Fedyukovich, Antti Eero Johannes Hyvärinen, Natasha Sharygina |
TACAS (2) | 5 |
| 2017 | Flexible SAT-based framework for incremental bounded upgrade checking
Grigory Fedyukovich, Ondrej Sery, Natasha Sharygina |
Int. J. Softw. Tools Technol. Transf. | 1 |
| 2016 | Property Directed Equivalence via Abstract Simulation
Grigory Fedyukovich, Arie Gurfinkel, Natasha Sharygina |
CAV (2) | 1 |
| 2016 | PVAIR: Partial Variable Assignment InterpolatoR
Pavel Jancík, Leonardo Alt, Grigory Fedyukovich, Antti Eero Johannes Hyvärinen, Jan Kofron, Natasha Sharygina |
FASE | 3 |
| 2015 | Symbolic Detection of Assertion Dependencies for Bounded Model Checking
Grigory Fedyukovich, Andrea Callia D'Iddio, Antti Eero Johannes Hyvärinen, Natasha Sharygina |
FASE | 1 |
| 2015 | Automated Discovery of Simulation Between Programs
Grigory Fedyukovich, Arie Gurfinkel, Natasha Sharygina |
LPAR | 1 |
| 2014 | Verification-aided regression testingabstractIn this paper we present Verification-Aided Regression Testing (VART), a novel extension of regression testing that uses model checking to increase the fault revealing capability of existing test suites. The key idea in VART is to extend the use of test case executions from the conventional direct fault discovery to the generation of behavioral properties specific to the upgrade, by (i) automatically producing properties that are proved to hold for the base version of a program, (ii) automatically identifying and checking on the upgraded program only the properties that, according to the developers’ intention, must be preserved by the upgrade, and (iii) reporting the faults and the corresponding counter-examples that are not revealed by the regression tests. Our empirical study on both open source and industrial software systems shows that VART automatically produces properties that increase the effectiveness of testing by automatically detecting faults unnoticed by the existing regression test suites. Fabrizio Pastore, Leonardo Mariani, Antti Eero Johannes Hyvärinen, Grigory Fedyukovich, Natasha Sharygina, Stephan Sehestedt |
ISSTA | 4 |
| 2013 | Interpolation-based model checking for efficient incremental analysis of softwareabstractVerification based on model checking has recently obtained an important role in certain software engineering tasks, such as developing operating system device drivers. This extended abstract discusses how model checking can be made more efficient by using the structure from program function calls. We use this idea in two orthogonal ways, both of which fundamentally depend on automatically summarizing the relevant behavior of the function calls based on an earlier verification. The first approach assumes a piece of software needs to be verified with respect to a set of properties, whereas the second approach considers a case where an early version of a software has been verified but needs to be re-verified after an upgrade. These techniques have been implemented in tools FunFrog and eVolCheck for verifying C programs. Both of them have been tested on a range of academic and industrial benchmarks, and provide in many cases an order of magnitude speed-up with respect to the baseline. They seem to scale to programs with thousands of lines of code. Grigory Fedyukovich, Antti Eero Johannes Hyvärinen, Natasha Sharygina |
DDECS | 1 |
| 2013 | PeRIPLO: A Framework for Producing Effective Interpolants in SAT-Based Software Verification
Simone Rollini, Leonardo Alt, Grigory Fedyukovich, Antti Eero Johannes Hyvärinen, Natasha Sharygina |
LPAR | 3 |
| 2013 | eVolCheck: Incremental Upgrade Checker for C
Grigory Fedyukovich, Ondrej Sery, Natasha Sharygina |
TACAS | 1 |
| 2012 | FunFrog: Bounded Model Checking with Interpolation-Based Function Summarization
Ondrej Sery, Grigory Fedyukovich, Natasha Sharygina |
ATVA | 2 |
| 2012 | Incremental upgrade checking by means of interpolation-based function summaries
Ondrej Sery, Grigory Fedyukovich, Natasha Sharygina |
FMCAD | 2 |