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

Adwait Godbole

dblp:260/7068 · also Adwait Amit Godbole · DBLP profile ↗
← Back
16ranked-venue papers
5as first author
14since 2021 · last 2025
0000-0001-7704-304XORCID · corroborated

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

Software engineering, systems software and programming languages · 11 · 4 first-author · 11 since 2021Theory of computation · 8 · 3 first-author · 6 since 2021Systems, architecture and hardware · 4 · 1 first-author · 4 since 2021Artificial intelligence and machine learning · 1Security and privacy · 1 · 1 first-author · 1 since 2021

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

Computer architecture, parallel and distributed computing, and storage systems
5 papers
Electronic design automation · 81% Memory systems · 8% Hardware accelerators and domain-specific architectures · 8%
Theoretical computer science
3 papers
Automated reasoning and model checking · 65% Computational complexity · 35%
Software engineering, system software, and programming languages
4 papers
Concurrent programming · 48% Program verification · 38% Program synthesis and code generation · 15%
Network and information security
3 papers
Hardware security and side channels · 88% Cryptographic primitives and cryptanalysis · 12%

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

TopicWeightPapersLastEvidence papers
Electronic design automation › hardware verification and test
hardware verification
2.232024
SemPat: From Hyperproperties to Attack Patterns for Scalable Analysis of Microarchitectural Security · CCS 2024
Lifting Micro-Update Models from RTL for Formal Security Analysis · ASPLOS (2) 2024
PipeSynth: Automated Synthesis of Microarchitectural Axioms for Memory Consistency · ASPLOS (3) 2023
Electronic design automation › formal methods
formal specification synthesis
1.522025
$\mathbf{{\textsc {PyCaliper}}}$: Python-Embedded Infrastructure for RTL Verification and Specification Synthesis · CAV (3) 2025
PipeSynth: Automated Synthesis of Microarchitectural Axioms for Memory Consistency · ASPLOS (3) 2023
Electronic design automation
hardware verification and test
1.522025
$\mathbf{{\textsc {PyCaliper}}}$: Python-Embedded Infrastructure for RTL Verification and Specification Synthesis · CAV (3) 2025
Towards A Formally Verified Fully Homomorphic Encryption Compute Engine · DAC 2023
Electronic design automation › hardware verification and test › functional verification
RTL verification
0.912025
$\mathbf{{\textsc {PyCaliper}}}$: Python-Embedded Infrastructure for RTL Verification and Specification Synthesis · CAV (3) 2025
Hardware security and side channels
formal verification of security properties
0.812024
Lifting Micro-Update Models from RTL for Formal Security Analysis · ASPLOS (2) 2024
Program verification › temporal logic verification
liveness verification
0.712023
Overcoming Memory Weakness with Unified Fairness - Systematic Verification of Liveness in Weak Memory Models · CAV (1) 2023
Concurrent programming › memory models
weak memory models
0.712023
Overcoming Memory Weakness with Unified Fairness - Systematic Verification of Liveness in Weak Memory Models · CAV (1) 2023
Electronic design automation › hardware verification and test
formal verification
0.712023
Towards A Formally Verified Fully Homomorphic Encryption Compute Engine · DAC 2023
Hardware accelerators and domain-specific architectures › cryptographic accelerator
fully homomorphic encryption accelerator
0.712023
Towards A Formally Verified Fully Homomorphic Encryption Compute Engine · DAC 2023
Memory systems › memory consistency
memory consistency model
0.712023
PipeSynth: Automated Synthesis of Microarchitectural Axioms for Memory Consistency · ASPLOS (3) 2023
Automated reasoning and model checking
parameterized verification
0.612022
Parameterized Verification under Release Acquire is PSPACE-complete · PODC 2022
Computational complexity › complexity classes › PSPACE
PSPACE-completeness
0.612022
Parameterized Verification under Release Acquire is PSPACE-complete · PODC 2022
Automated reasoning and model checking
satisfiability modulo theories
0.612022
UCLID5: Multi-modal Formal Modeling, Verification, and Synthesis · CAV (1) 2022
Graph data management › path query
regular path query
0.412020
Containment of Simple Conjunctive Regular Path Queries · KR 2020
Cryptographic primitives and cryptanalysis › homomorphic encryption
fully homomorphic encryption
0.212023
Towards A Formally Verified Fully Homomorphic Encryption Compute Engine · DAC 2023
Concurrent programming
memory models
0.212022
Parameterized Verification under Release Acquire is PSPACE-complete · PODC 2022
Automated reasoning and model checking › model checking
hyperproperty model checking
0.212022
UCLID5: Multi-modal Formal Modeling, Verification, and Synthesis · CAV (1) 2022

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

formal verification · 2.6python embedding · 1.7invariant synthesis · 1.7SMT-based verification · 1.7hyperproperty analysis · 1.5formal methods · 1.5abstraction · 1.5semantic-preserving program transformation · 1.3automated synthesis · 1.3horn clause solving · 1.1datalog encoding · 1.1reachability reduction · 0.7syntax-guided synthesis · 0.6satisfiability solving · 0.6inductive synthesis · 0.6
YearPublicationVenuePosition
2025 $\mathbf{{\textsc {PyCaliper}}}$: Python-Embedded Infrastructure for RTL Verification and Specification Synthesis
abstract
Abstract We present PyCaliper : a Python-embedded framework to formulate, verify, and auto-synthesize specifications for hardware designs at the register transfer level (RTL). By being Python-embedded, PyCaliper is easy to use and benefits from object-oriented principles and Python’s rich ecosystem. Further, PyCaliper is a common platform that integrates novel research techniques such as specification synthesis and mature, industry-scale tooling, thus allowing them to benefit from each other. We discuss the system and implementation of PyCaliper and demonstrate its use in two case studies: in the first we compare a custom verification backend with a commercial tool and gain insights about the former, and in the second we demonstrate invariant synthesis for an RTL design.
Adwait Godbole, Brian Huffman, Fangfei Liu, Carlos V. Rozas, Sanjit A. Seshia
CAV (3)1
2025 PolyVer: A Compositional Approach for Polyglot System Modeling and Verification
abstract
Many software systems are polyglot; that is, they comprise programs implemented in a combination of programming languages. Program verifiers, however, tend to be customized for individual languages. Verification by compiling to a common encoding requires supporting full language syntax and semantics which is prohibitive for modern languages. We present POLYVER, an alternative compositional approach to polyglot verification that bootstraps off-the-shelf language-specific verifiers with abstraction and synthesis. POLYVER uses contracts written in an intermediate language to abstract individual procedures in the system. Our verification approach uses language-specific verifiers (e.g., for C or Rust) to validate these contracts and the UCLID5 model checker for com- positionally verifying a temporal property on the overall system using the contracts. The intermediate language sidesteps the need for compiling implementation languages to a common encoding, a key obstacle with polyglot verification. Finally, POLYVER automates the generation of contracts using synthesis oracles such as large-language-models (LLMs). Overall POLYVER performs contract synthesis and verification in a counterexample-guided abstraction refinement and inductive synthesis (CEGIS-CEGAR) loop to verify the system-level property. We use POLYVER to verify programs in the Lingua Franca polyglot language. We are able to verify systems with C and Rust procedures, as well as C language fragments that were unsupported in previous work.
Pei-Wei Chen, Shaokai Lin, Adwait Godbole, Ramneet Singh, Elizabeth Polgreen, Edward A. Lee, Sanjit A. Seshia
FMCAD3
2024 Lifting Micro-Update Models from RTL for Formal Security Analysis
abstract
Hardware execution attacks exploit subtle microarchitectural interactions to leak secret data. While checking programs for the existence of such attacks is essential, verification of software against the full hardware implementation does not scale. Verification using abstract formal models of the hardware can help provide strong security guarantees while leveraging abstraction to achieve scalability. However, handwriting accurate abstract models is tedious and error-prone. Hence, we need techniques to generate models that enable sound yet scalable security analysis automatically.
Adwait Godbole, Kevin Cheang, Yatin A. Manerkar, Sanjit A. Seshia
ASPLOS (2)1
2024 SemPat: From Hyperproperties to Attack Patterns for Scalable Analysis of Microarchitectural Security
Adwait Godbole, Yatin A. Manerkar, Sanjit A. Seshia
CCS1
2023 PipeSynth: Automated Synthesis of Microarchitectural Axioms for Memory Consistency
abstract
Formal verification can help ensure the correctness of today’s processors. However, such formal verification requires formal specifications of the processors being verified. Today, these specifications are mostly written by hand, which is tedious and error-prone. Furthermore, architects and hardware engineers generally do not have formal methods experience, making it even harder for them to write formal specifications. Existing methods for the automated synthesis of formal microarchitectural specifications utilise RTL implementations of processors for their synthesis, preventing their usage until RTL implementation of the processor has completed. This hampers the effectiveness of formal verification for processors, as catching design bugs pre-RTL can reduce verification overhead and overall development time.
Chase Norman, Adwait Godbole, Yatin A. Manerkar
ASPLOS (3)2
2023 Overcoming Memory Weakness with Unified Fairness - Systematic Verification of Liveness in Weak Memory Models
abstract
Abstract We consider the verification of liveness properties for concurrent programs running on weak memory models. To that end, we identify notions of fairness that preclude demonic non-determinism, are motivated by practical observations, and are amenable to algorithmic techniques. We provide both logical and stochastic definitions of our fairness notions, and prove that they are equivalent in the context of liveness verification. In particular, we show that our fairness allows us to reduce the liveness problem (repeated control state reachability) to the problem of simple control state reachability. We show that this is a general phenomenon by developing a uniform framework which serves as the formal foundation of our fairness definition, and can be instantiated to a wide landscape of memory models. These models include SC, TSO, PSO, (Strong/Weak) Release-Acquire, Strong Coherence, FIFO-consistency, and RMO.
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Adwait Godbole, S. Krishna 0004, Mihir Vahanwala
CAV (1)3
2023 Towards A Formally Verified Fully Homomorphic Encryption Compute Engine
abstract
We present a scalable approach for formally verifying the correctness of the Compute Engine (CE) against its ISA (Instruction Set Architecture) specification in an FHE (Fully Homomorphic Encryption) accelerator, critical to many applications where safety and security of information is of vital importance. It combines algorithmic verification of the micro-architecture modules in the CE against their functional specifications and implementation verification of the CE hardware against its micro-architecture algorithmic specifications. The correctness of the CE is guaranteed by treating micro-architecture modules as semantic-preserving program transformations and leveraging the composability of the semantic-preserving properties well established in compiler design and verification.
Jeremy Casas, Jin Yang 0006, Adwait Godbole
DAC5
2023 Modelling and Verification of Security-Oriented Resource Partitioning Schemes
Adwait Godbole, Leiqi Ye, Yatin A. Manerkar, Sanjit A. Seshia
FMCAD1
2023 Parameterized Verification under TSO with Data Types
abstract
Abstract We consider parameterized verification of systems executing according to the total store ordering (TSO) semantics. The processes manipulate abstract data types over potentially infinite domains. We present a framework that translates the reachability problem for such systems to the reachability problem for register machines enriched with the given abstract data type.
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Florian Furbach, Adwait Godbole, Yacoub G. Hendi, S. Krishna 0004, Stephan Spengler
TACAS (1)4
2022 UCLID5: Multi-modal Formal Modeling, Verification, and Synthesis
abstract
Abstract UCLID5 is a tool for the multi-modal formal modeling, verification, and synthesis of systems. It enables one to tackle verification problems for heterogeneous systems such as combinations of hardware and software, or those that have multiple, varied specifications, or systems that require hybrid modes of modeling. A novel aspect of UCLID5 is an emphasis on the use of syntax-guided and inductive synthesis to automate steps in modeling and verification. This tool paper presents new developments in the UCLID5 tool including new language features, integration with new techniques for syntax-guided synthesis and satisfiability solving, support for hyperproperties and combinations of axiomatic and operational modeling, demonstrations on new problem classes, and a robust implementation.
Elizabeth Polgreen, Kevin Cheang, Pranav Gaddamadugu, Adwait Godbole, Kevin Laeufer, Shaokai Lin, Yatin A. Manerkar, Federico Mora 0002, Sanjit A. Seshia
CAV (1)4
2022 Probabilistic Total Store Ordering
abstract
Abstract We present Probabilistic Total Store Ordering (PTSO) – a probabilistic extension of the classical TSO semantics. For a given (finite-state) program, the operational semantics of PTSO induces an infinite-state Markov chain. We resolve the inherent non-determinism due to process schedulings and memory updates according to given probability distributions. We provide a comprehensive set of results showing the decidability of several properties for PTSO, namely (i) Almost-Sure (Repeated) Reachability: whether a run, starting from a given initial configuration, almost surely visits (resp. almost surely repeatedly visits) a given set of target configurations. (ii) Almost-Never (Repeated) Reachability: whether a run from the initial configuration, almost never visits (resp. almost never repeatedly visits) the target. (iii) Approximate Quantitative (Repeated) Reachability: to approximate, up to an arbitrary degree of precision, the measure of runs that start from the initial configuration and (repeatedly) visit the target. (iv) Expected Average Cost: to approximate, up to an arbitrary degree of precision, the expected average cost of a run from the initial configuration to the target. We derive our results through a nontrivial combination of results from the classical theory of (infinite-state) Markov chains, the theories of decisive and eager Markov chains, specific techniques from combinatorics, as well as, decidability and complexity results for the classical (non-probabilistic) TSO semantics. As far as we know, this is the first work that considers probabilistic verification of programs running on weak memory models.
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Raj Aryan Agarwal, Adwait Godbole, S. Krishna 0004
ESOP4
2022 Automated Conversion of Axiomatic to Operational Models: Theory and Practice
Adwait Godbole, Yatin A. Manerkar, Sanjit A. Seshia
FMCAD1
2022 Parameterized Verification under Release Acquire is PSPACE-complete
abstract
We study the safety verification problem for parameterized systems under the release-acquire (RA) semantics. In the non-parameterized setting, access to atomic compare-and-swap (CAS) instructions renders the safety verification problem undecidable. In the light of this result, we consider parameterized systems consisting of an unbounded number of environment threads executing identical but CAS-free programs combined with a fixed number of distinguished threads that are unrestricted. Our first contribution is an effective and simplified RA semantics for such systems. We leverage the simplified semantics to show that safety verification becomes PSPACE in the parameterized case, an optimistic result for algorithmic verification. Our proof uses an encoding to Datalog which, in addition to the complexity upper bound, suggests a verification algorithm based on Horn clause solvers. We also provide a matching lower bound showing that safety verification is PSPACE-hard.
S. Krishna 0004, Adwait Godbole, Roland Meyer 0001, Soham Chakraborty 0001
PODC2
2021 The Decidability of Verification under PS 2.0
abstract
Abstract We consider the reachability problem for finite-state multi-threaded programs under the promising semantics () of Lee et al., which captures most common program transformations. Since reachability is already known to be undecidable in the fragment of with only release-acquire accesses (-), we consider the fragment with only relaxed accesses and promises (). We show that reachability under is undecidable in general and that it becomes decidable, albeit non-primitive recursive, if we bound the number of promises. Given these results, we consider a bounded version of the reachability problem. To this end, we bound both the number of promises and of “view-switches”, i.e., the number of times the processes may switch their local views of the global memory. We provide a code-to-code translation from an input program under (with relaxed and release-acquire memory accesses along with promises) to a program under SC, thereby reducing the bounded reachability problem under to the bounded context-switching problem under SC. We have implemented a tool and tested it on a set of benchmarks, demonstrating that typical bugs in programs can be found with a small bound.
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Adwait Godbole, S. Krishna 0004, Viktor Vafeiadis
ESOP3
2020 Containment of Simple Conjunctive Regular Path Queries
abstract
Testing containment of queries is a fundamental reasoning task in knowledge representation. We study here the containment problem for Conjunctive Regular Path Queries (CRPQs), a navigational query language extensively used in ontology and graph database querying. While it is known that containment of CRPQs is EXPSPACE-complete in general, we focus here on severely restricted fragments, which are known to be highly relevant in practice according to several recent studies. We obtain a detailed overview of the complexity of the containment problem, depending on the features used in the regular expressions of the queries, with completeness results for NP, Pi2p, PSPACE or EXPSPACE.
Diego Figueira, Adwait Godbole, S. Krishna 0004, Wim Martens, Matthias Niewerth, Tina Popp
KR2
2019 Controlling a population
abstract
We introduce a new setting where a population of agents, each modelled by a finite-state system, are controlled uniformly: the controller applies the same action to every agent. The framework is largely inspired by the control of a biological system, namely a population of yeasts, where the controller may only change the environment common to all cells. We study a synchronisation problem for such populations: no matter how individual agents react to the actions of the controller, the controller aims at driving all agents synchronously to a target state. The agents are naturally represented by a non-deterministic finite state automaton (NFA), the same for every agent, and the whole system is encoded as a 2-player game. The first player (Controller) chooses actions, and the second player (Agents) resolves non-determinism for each agent. The game with m agents is called the m -population game. This gives rise to a parameterized control problem (where control refers to 2 player games), namely the population control problem: can Controller control the m-population game for all m in N whatever Agents does? Comment: This is a journal version of the extended abstract arXiv:1707.02058 which appeared in Concur 2017, together with proofs
Nathalie Bertrand 0001, Miheer Dewaskar, Blaise Genest, Hugo Gimbert, Adwait Godbole
Log. Methods Comput. Sci.5