VLDB 2026 Research / reviewers in the wild / expert
Pramod Subramanyan
dblp:27/8110
· DBLP profile ↗
26ranked-venue papers
10as first author
1since 2021 · last 2021
0000-0003-2288-3396ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 16 · 8 first-authorSoftware engineering, systems software and programming languages · 12 · 5 first-authorTheory of computation · 6 · 1 first-authorSecurity and privacy · 5 · 2 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.
| Network and information security
5 papers |
Hardware security and side channels · 53% Cryptographic protocols and secure computation · 28% Systems and software security · 20% | |
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Electronic design automation · 100% | |
| Software engineering, system software, and programming languages
2 papers |
Program verification · 100% | |
| Theoretical computer science
1 paper |
Automated reasoning and model checking · 100% |
Topics — the 15 heaviest of 17, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Hardware security and side channels
integrated circuit security |
0.4 | 1 | 2020 | Functional Analysis Attacks on Logic Locking · IEEE Trans. Inf. Forensics Secur. 2020 |
Cryptographic protocols and secure computation › key exchange
key confirmation |
0.4 | 1 | 2020 | Functional Analysis Attacks on Logic Locking · IEEE Trans. Inf. Forensics Secur. 2020 |
Hardware security and side channels › hardware obfuscation › logic obfuscation
logic locking |
0.4 | 1 | 2020 | Functional Analysis Attacks on Logic Locking · IEEE Trans. Inf. Forensics Secur. 2020 |
Hardware security and side channels › hardware obfuscation › logic obfuscation › logic locking
SAT-based attack |
0.4 | 1 | 2020 | Functional Analysis Attacks on Logic Locking · IEEE Trans. Inf. Forensics Secur. 2020 |
Systems and software security
information flow control |
0.3 | 1 | 2018 | Lazy Self-composition for Security Verification · CAV (2) 2018 |
Program verification
self-composition |
0.3 | 1 | 2018 | Lazy Self-composition for Security Verification · CAV (2) 2018 |
Electronic design automation › hardware verification and test
hardware verification |
0.3 | 1 | 2018 | Template-Based Parameterized Synthesis of Uniform Instruction-Level Abstractions for SoC Verification · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2018 |
Electronic design automation › hardware verification and test › hardware verification
system-on-chip verification |
0.3 | 1 | 2018 | Template-Based Parameterized Synthesis of Uniform Instruction-Level Abstractions for SoC Verification · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2018 |
Systems and software security › trusted computing
enclave security |
0.3 | 1 | 2017 | A Formal Foundation for Secure Remote Execution of Enclaves · CCS 2017 |
Hardware security and side channels
trusted execution environments |
0.3 | 1 | 2017 | A Formal Foundation for Secure Remote Execution of Enclaves · CCS 2017 |
Program verification
security property verification |
0.3 | 1 | 2017 | A Formal Foundation for Secure Remote Execution of Enclaves · CCS 2017 |
Electronic design automation
hardware verification and test |
0.2 | 1 | 2016 | Invited - Specification and modeling for systems-on-chip security verification · DAC 2016 |
Electronic design automation › hardware verification and test › hardware verification
security verification |
0.2 | 1 | 2016 | Invited - Specification and modeling for systems-on-chip security verification · DAC 2016 |
Electronic design automation
intellectual property protection |
0.1 | 1 | 2020 | Functional Analysis Attacks on Logic Locking · IEEE Trans. Inf. Forensics Secur. 2020 |
Hardware security and side channels › integrated circuit security
system-on-chip security |
0.1 | 1 | 2016 | Invited - Specification and modeling for systems-on-chip security verification · DAC 2016 |
Methods — techniques the papers use, named apart from their topics
structural analysis · 0.9model counting · 0.9inference rules · 0.9functional analysis · 0.9first-order logic · 0.9SAT solving · 0.9symbolic taint analysis · 0.7bounded model checking · 0.7CEGAR · 0.7machine-checked proof · 0.6template-based synthesis · 0.3formal verification · 0.3refinement · 0.3instruction-level abstraction · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | PSec: Programming Secure Distributed Systems using EnclavesabstractWe introduce PSec, a domain-specific language for programming secure distributed systems. PSec is a state-machine based programming language with information flow control capabilities that leverages Intel SGX enclaves to provide security guarantees at runtime. Combining state machines and information flow control with hardware enclaves enables programmers to build complex distributed systems without inadvertently leaking sensitive information to adversaries. We formally prove the security properties of PSec and evaluate our work by programming several real-world examples, including One Time Passcode and Secure Electronic Voting systems. We present performance results of PSec systems and show that there is an acceptable performance overhead of approximately 3x for long running systems with a possible minimum of approximately 1.2x, as compared to baseline systems that do not provide any security guarantees. Shivendra Kushwah, Ankush Desai, Pramod Subramanyan, Sanjit A. Seshia |
AsiaCCS | 3 |
| 2020 | Verification of Quantitative Hyperproperties Using Trace Enumeration RelationsabstractMany important cryptographic primitives offer probabilistic guarantees of security that can be specified as quantitative hyperproperties; these are specifications that stipulate the existence of a certain number of traces in the system satisfying certain constraints. Verification of such hyperproperties is extremely challenging because they involve simultaneous reasoning about an unbounded number of different traces. In this paper, we introduce a technique for verifying quantitative hyperproperties based on the notion of trace enumeration relations. These relations allow us to reduce the problem of trace-counting into one of model-counting of formulas in first-order logic. We also introduce a set of inference rules for machine-checked reasoning about the number of satisfying solutions to first-order formulas (aka model counting). Putting these two components together enables semi-automated verification of quantitative hyperproperties on infinite-state systems. We use our methodology to prove confidentiality of access patterns in Path ORAMs of unbounded size, soundness of a simple interactive zero-knowledge proof protocol as well as other applications of quantitative hyperproperties studied in past work. Shubham Sahai, Pramod Subramanyan, Rohit Sinha 0001 |
CAV (1) | 2 |
| 2020 | HyperFuzzing for SoC Security ValidationabstractAutomated validation of security properties in modern systems-on-chip (SoC) designs is challenging due to three reasons: (i) specification of security in the presence of adversarial behavior, (ii) co-validation of hardware (HW) and firmware (FW) as security bugs may span the HW/FW interface, and (iii) scaling verification to the analysis of large systems-on-chip designs. Sujit Kumar Muduli, Gourav Takhar, Pramod Subramanyan |
ICCAD | 3 |
| 2020 | Mining Hyperproperties from Behavioral TracesabstractMany important specifications of hardware and software systems, such as secure information flow and determinism are expressible only as hyperproperties. In contrast to the well-studied class of trace properties, which specify sets of valid runs (aka traces) of a system, hyperproperties can specify relations that must hold between the traces of a system. While hyperproperties have many applications, primarily in security verification, coming up with hyperproperties for SoC validation is challenging. In this paper, we work toward addressing this challenge by introducing a framework for mining hyperproper-ties from execution traces of SoC designs. We introduce novel algorithms based on coverage-guided fuzzing that enable the generation of good input traces for the hyperproperty miner. We also present novel optimistic and pessimistic semantics for Hyper Linear Temporal Logic (HyperLTL) that enable principled evaluation of HyperLTL formulas over finite traces. Finally, we propose algorithms for scalably evaluating non-trivial satisfaction of candidate hyperproperties on sets of traces. Experiments on a small but realistic SoC design show the framework is effective in identifying useful hyperproperties. Mayank Rawat, Sujit Kumar Muduli, Pramod Subramanyan |
VLSI-SOC | 3 |
| 2020 | Functional Analysis Attacks on Logic LockingabstractLogic locking refers to a set of techniques that can protect integrated circuits (ICs) from counterfeiting, piracy and malicious functionality changes by an untrusted foundry. It achieves these goals by introducing new inputs, called key inputs, and additional logic to an IC such that the circuit produces the correct output only when the key inputs are set to specific values. The correct values of the key inputs are kept secret from the untrusted foundry and programmed after manufacturing and before distribution, thus rendering piracy, counterfeiting and malicious design changes infeasible. The security of logic locking relies on the assumption that the untrusted foundry cannot infer the correct values of the key inputs by analysis of the circuit. In this paper, we introduce a new attack on state-of-the-art logic locking schemes which invalidates the above assumption. We propose Functional Analysis attacks on Logic Locking algorithms (abbreviated as FALL attacks). FALL attacks have two stages. Their first stage is dependent on the locking algorithm and involves analyzing structural and functional properties of locked circuits to identify a list of potential locking keys. The second stage is algorithm agnostic and introduces a powerful addition to SAT-based attacks called key confirmation. Key confirmation can identify the correct key from a list of alternatives and works even on circuits that are resilient to the SAT attack. In comparison to past work, the FALL attack is more practical as it can often succeed (90% of successful attempts in our experiments) by only analyzing the locked netlist, without requiring oracle access to an unlocked circuit. Our experimental evaluation shows that FALL attacks are able to defeat 65 out of 80 (81%) circuits locked using Stripped-Functionality Logic Locking (SFLL-HD). Deepak Sirone, Pramod Subramanyan |
IEEE Trans. Inf. Forensics Secur. | 2 |
| 2020 | Strong Logic Obfuscation with Low Overhead against IC Reverse Engineering AttacksabstractUntrusted foundries pose threats of integrated circuit (IC) piracy and counterfeiting, and this has motivated research into logic locking. Strong logic locking approaches potentially prevent piracy and counterfeiting by preventing unauthorized replication and use of ICs. Unfortunately, recent work has shown that most state-of-the-art logic locking techniques are vulnerable to attacks that utilize Boolean Satisfiability (SAT) solvers. In this article, we extend our prior work on using silicon nanowire (SiNW) field-effect transistors (FETs) to produce obfuscated ICs that are resistant to reverse engineering attacks, such as the sensitization attack, SAT and approximate SAT attacks, as well as tracked signal attacks. Our method is based on exchanging some logic gates in the original design with a set of polymorphic gates (PLGs), designed using SiNW FETs, and augmenting the circuit with a small block, whose output is untraceable, namely, URSAT. The URSAT may not offer very strong resilience against the combined AppSAT-removal attack. Strong URSAT is achieved using only CMOS-logic gates, namely, S-URSAT. The proposed technique, S-URSAT + PLG-based traditional encryption, designed using SiNW FETs, increases the security level of the design to robustly thwart all existing attacks, including combined AppSAT-removal attack, with small penalties. Then, we evaluate the effectiveness of our proposed methods and subject it to a thorough security analysis. We also evaluate the performance penalty of the technique and find that it results in very small overheads in comparison to other works. The average area, power, and delay overheads of implementing 64 baseline key-bits of S-URSAT for small benchmarks are 5.03%, 2.60%, and −2.26%, respectively, while for large benchmarks they are 2.37%, 1.18%, and −1.93%. Qutaiba Alasad, Jiann-Shiun Yuan, Pramod Subramanyan |
ACM Trans. Design Autom. Electr. Syst. | 3 |
| 2019 | Towards Verifiably Secure Systems-on-Chip PlatformsabstractVerification and validation of system-level security primitives is a pressing challenge in systems-on-chip (SoC) design and verification. This is a difficult problem to tackle for three reasons. First, no general frameworks exist that can enable adversary modeling for SoC platforms. Second, succinct specification of the desired security properties is not possible with current property specification languages. Finally, verification of a security specification is more challenging than functional verification. In this paper, we introduce a formal framework that enables general adversary modeling for SoC platforms and a security property specification language for this framework. We present formal semantics for the framework and illustrate its utility through a case study of an authenticated firmware load protocol. Sujit Kumar Muduli, Pramod Subramanyan |
ATS | 2 |
| 2019 | A Formal Approach to Secure SpeculationabstractTransient execution attacks like Spectre, Meltdown and Foreshadow have shown that combinations of microarchitectural side-channels can be synergistically exploited to create side-channel leaks that are greater than the sum of their parts. While both hardware and software mitigations have been proposed against these attacks, provable security has remained elusive. This paper introduces a formal methodology for enabling secure speculative execution on modern processors. We propose a new class of information flow security properties called trace property-dependent observational determinism (TPOD). We use this class to formulate a secure speculation property. Our formulation precisely characterises all transient execution vulnerabilities. We demonstrate its applicability by verifying secure speculation for several illustrative programs. Kevin Cheang, Cameron Rasmussen, Sanjit A. Seshia, Pramod Subramanyan |
CSF | 4 |
| 2019 | Functional Analysis Attacks on Logic LockingabstractThis paper proposes Functional Analysis attacks on state of the art Logic Locking algorithms (Fall attacks). Fall attacks use structural and functional analyses of locked circuits to identify the locking key. In contrast to past work, Fall attacks can often (90% of successful attempts in our experiments) fully defeat locking by only analyzing the locked netlist, without oracle access to an activated circuit. Experiments show that Fall attacks succeed against 65 out of 80 (81%) of circuits locked using Secure Function Logic Locking (SFLL), the only combinational logic locking algorithm resilient to all known attacks. Deepak Sirone, Pramod Subramanyan |
DATE | 2 |
| 2019 | Verification of Authenticated Firmware LoadersabstractAn important primitive in ensuring security of modern systems-on-chip designs are protocols for authenticated firmware load. These loaders read a firmware binary image from an untrusted input device, authenticate the image using cryptography and load the image into memory for execution if authentication succeeds. While these protocols are an essential part of the hardware root of trust in almost all modern computing devices, verification techniques for reasoning about end-to-end security of these protocols do not exist.This paper takes a step toward addressing this gap by introducing a system model, adversary model and end-to-end security property that enable reasoning about the security of authenticated load protocols. We then present a decomposition of the security hyperproperty into two simpler 2-safety properties that enables more scalable verification. Experiments on a protocol model demonstrate viability of the methodology. Sujit Kumar Muduli, Pramod Subramanyan, Sayak Ray |
FMCAD | 2 |
| 2019 | Instruction-Level Abstraction (ILA): A Uniform Specification for System-on-Chip (SoC) VerificationabstractModern Systems-on-Chip (SoC) designs are increasingly heterogeneous and contain specialized semi-programmable accelerators in addition to programmable processors. In contrast to the pre-accelerator era, when the ISA played an important role in verification by enabling a clean separation of concerns between software and hardware, verification of these “accelerator-rich” SoCs presents new challenges. From the perspective of hardware designers, there is a lack of a common framework for formal functional specification of accelerator behavior. From the perspective of software developers, there exists no unified framework for reasoning about software/hardware interactions of programs that interact with accelerators. This article addresses these challenges by providing a formal specification and high-level abstraction for accelerator functional behavior. It formalizes the concept of an Instruction Level Abstraction (ILA), developed informally in our previous work, and shows its application in modeling and verification of accelerators. This formal ILA extends the familiar notion of instructions to accelerators and provides a uniform, modular, and hierarchical abstraction for modeling software-visible behavior of both accelerators and programmable processors. We demonstrate the applicability of the ILA through several case studies of accelerators (for image processing, machine learning, and cryptography), and a general-purpose processor (RISC-V). We show how the ILA model facilitates equivalence checking between two ILAs, and between an ILA and its hardware finite-state machine (FSM) implementation. Further, this equivalence checking supports accelerator upgrades using the notion of ILA compatibility, similar to processor upgrades using ISA compatibility. Bo-Yuan Huang 0001, Hongce Zhang, Pramod Subramanyan, Yakir Vizel, Aarti Gupta, Sharad Malik |
ACM Trans. Design Autom. Electr. Syst. | 3 |
| 2018 | Lazy Self-composition for Security VerificationabstractThe secure information flow problem, which checks whether low-security outputs of a program are influenced by high-security inputs, has many applications in verifying security properties in programs. In this paper we present lazy self-composition, an approach for verifying secure information flow. It is based on self-composition, where two copies of a program are created on which a safety property is checked. However, rather than an eager duplication of the given program, it uses duplication lazily to reduce the cost of verification. This lazy self-composition is guided by an interplay between symbolic taint analysis on an abstract (single copy) model and safety verification on a refined (two copy) model. We propose two verification methods based on lazy self-composition. The first is a CEGAR-style procedure, where the abstract model associated with taint analysis is refined, on demand, by using a model generated by lazy self-composition. The second is a method based on bounded model checking, where taint queries are generated dynamically during program unrolling to guide lazy self-composition and to conclude an adequate bound for correctness. We have implemented these methods on top of the SeaHorn verification platform and our evaluations show the effectiveness of lazy self-composition. Weikun Yang, Yakir Vizel, Pramod Subramanyan, Aarti Gupta, Sharad Malik |
CAV (2) | 3 |
| 2018 | UCLID5: Integrating Modeling, Verification, Synthesis and LearningabstractFormal methods for system design are facing a confluence of transformative trends. First, systems are increasingly heterogeneous, comprising some combination of hardware, software, networking, and physical processes. Second, these systems are increasingly being designed with data-driven methods, in addition to traditional model-based design techniques. Third, traditional automated reasoning techniques based on deduction are being combined with new techniques for inductive inference and machine learning. In this paper, we present UCLID5, a new system for formal modeling, verification, and synthesis that addresses the challenges and opportunities arising from this confluence. UCLID5 can model heterogeneous computational systems, provides term-level abstraction supported by satisfiability modulo theories (SMT) solvers, enables compositional reasoning, and implements the paradigm of verification by reduction to synthesis, leveraging the advances in algorithmic synthesis and machine learning. We describe the key features of UCLID5 using illustrative examples. Sanjit A. Seshia, Pramod Subramanyan |
MEMOCODE | 2 |
| 2018 | Template-Based Parameterized Synthesis of Uniform Instruction-Level Abstractions for SoC VerificationabstractModern system-on-chip (SoC) designs comprise programmable cores, application-specific accelerators, and I/O devices. Accelerators are controlled by software/firmware and functionality is implemented by this combination of programmable cores, firmware, and accelerators. Verification of such SoCs is challenging, especially for system-level properties maintained by a combination of firmware and hardware. Attempting to formally verify the full SoC design with both firmware and hardware is not scalable, while separate verification can miss bugs. A general technique for scalable system-level verification is to construct an abstraction of SoC hardware and verify firmware/software using it. There are two challenges in applying this technique in practice. Constructing the abstraction to capture required details and interactions is error-prone and time-consuming. The second is ensuring abstraction correctness so that properties proven with it are valid. This paper introduces a methodology for SoC design and verification based on the synthesis of instruction-level abstractions (ILAs). The ILA is an abstraction of SoC hardware which models updates to firmware-visible state at the granularity of instructions. For hardware accelerators, the ILA is analogous to the instruction-set architecture definition for programmable processors and enables scalable verification of firmware interacting with hardware accelerators. To alleviate the disadvantages of manual construction of abstractions, we introduce two algorithms for synthesis of ILAs from partial description called templates. We then show how the ILA can be verified to be correct. We evaluate the methodology using a small SoC design consisting of the 8051 microcontroller and two cryptographic accelerators. The methodology uncovered 15 bugs. Pramod Subramanyan, Bo-Yuan Huang 0001, Yakir Vizel, Aarti Gupta, Sharad Malik |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 1 |
| 2017 | A Formal Foundation for Secure Remote Execution of EnclavesabstractRecent proposals for trusted hardware platforms, such as Intel SGX and the MIT Sanctum processor, offer compelling security features but lack formal guarantees. We introduce a verification methodology based on a trusted abstract platform (TAP), a formalization of idealized enclave platforms along with a parameterized adversary. We also formalize the notion of secure remote execution and present machine-checked proofs showing that the TAP satisfies the three key security properties that entail secure remote execution: integrity, confidentiality and secure measurement. We then present machine-checked proofs showing that SGX and Sanctum are refinements of the TAP under certain parameterizations of the adversary, demonstrating that these systems implement secure enclaves for the stated adversary models. Pramod Subramanyan, Rohit Sinha 0001, Ilia A. Lebedev, Srini Devadas, Sanjit A. Seshia |
CCS | 1 |
| 2017 | Malware detection using machine learning based analysis of virtual memory access patternsabstractMalicious software, referred to as malware, continues to grow in sophistication. Past proposals for malware detection have primarily focused on software-based detectors which are vulnerable to being compromised. Thus, recent work has proposed hardware-assisted malware detection. In this paper, we introduce a new framework for hardware-assisted malware detection based on monitoring and classifying memory access patterns using machine learning. This provides for increased automation and coverage through reducing user input on specific malware signatures. The key insight underlying our work is that malware must change control flow and/or data structures, which leaves fingerprints on program memory accesses. Building on this, we propose an online framework for detecting malware that uses machine learning to classify malicious behavior based on virtual memory access patterns. Novel aspects of the framework include techniques for collecting and summarizing per-function/system-call memory access patterns, and a two-level classification architecture. Our experimental evaluation focuses on two important classes of malware (i) kernel rootkits and (ii) memory corruption attacks on user programs. The framework has a detection rate of 99.0% with less than 5% false positives and outperforms previous proposals for hardware-assisted malware detection. Zhixing Xu, Sayak Ray, Pramod Subramanyan, Sharad Malik |
DATE | 3 |
| 2016 | Invited - Specification and modeling for systems-on-chip security verificationabstractThis paper describes a methodology for system-level security verification of modern Systems-on-Chip (SoC) designs. These designs comprise interacting firmware and hardware modules which makes verification particularly challenging. These challenges relate to (i) specifying security verification properties, and (ii) verifying these properties across firmware and hardware. We address the latter through raising the level of abstraction of the hardware modules to be similar to that of instructions in software/firmware. This abstraction, referred to as an instruction-level abstraction (ILA), plays a similar role to the instruction set architecture (ISA) definition for general purpose processors and enables high-level analysis of SoC firmware. In particular, the ILA can be used instead of the cycle-accurate bit-precise hardware implementation for scalable verification of system-level security properties in SoCs. Sharad Malik, Pramod Subramanyan |
DAC | 2 |
| 2016 | Verifying information flow properties of firmware using symbolic execution
Pramod Subramanyan, Sharad Malik, Hareesh Khattri, Abhranil Maiti, Jason M. Fung |
DATE | 1 |
| 2015 | Template-based Synthesis of Instruction-Level Abstractions for SoC VerificationabstractContemporary integrated circuits are complex system-on-chip (SoC) designs consisting of programmable cores along with accelerators and peripherals controlled by firmware running on the cores. The functionality of the SoC is implemented by a combination of firmware and hardware components. As a result, verifying these two components separately can miss bugs while attempting to formally verify the full SoC design considering both firmware and hardware is not scalable. An abstraction that can be used instead of the cycle-accurate and bit-precise hardware implementation can be helpful in scalably verifying system-level properties of SoCs. However, constructing such an abstraction to capture all the required details and interactions is error-prone, tedious and time-consuming. Another challenge is ensuring correctness of the abstraction so that properties proven using it are valid. In this paper, we introduce a methodology for SoC verification. We synthesize an instruction-level abstraction (ILA) that precisely captures updates to all firmware-accessible states spanning the cores, accelerators and peripherals. The synthesis algorithm uses a blackbox simulator to synthesize the ILA from a template specification. A "golden-model" generated from the ILA is used to verify whether the hardware implementation matches the ILA. We demonstrate the methodology using a small SoC design consisting of the 8051 microcontroller and two cryptographic accelerators. The methodology uncovered 14 bugs. Pramod Subramanyan, Yakir Vizel, Sayak Ray, Sharad Malik |
FMCAD | 1 |
| 2014 | Formal verification of taint-propagation security properties in a commercial SoC designabstractSoCs embedded in mobile phones, tablets and other smart devices come equipped with numerous features that impose specific security requirements on their hardware and firmware. Many security requirements can be formulated as taint-propagation properties that verify information flow between a set of signals in the design. In this work, we take a tablet SoC design, formulate its critical security requirements as taint-propagation properties, and prove them using a formal verification flow. We describe the properties targeted, techniques to help the verifier scale, and security bugs uncovered in the process. Pramod Subramanyan, Divya Arora 0001 |
DATE | 1 |
| 2014 | Template-based circuit understandingabstractWhen verifying or reverse-engineering digital circuits, one often wants to identify and understand small components in a larger system. A possible approach is to show that the sub-circuit under investigation is functionally equivalent to a reference implementation. In many cases, this task is difficult as one may not have full information about the mapping between input and output of the two circuits, or because the equivalence depends on settings of control inputs. We propose a template-based approach that automates this process. It extracts a functional description for a low-level combinational circuit by showing it to be equivalent to a reference implementation, while synthesizing an appropriate mapping of input and output signals and setting of control signals. The method relies on solving an exists/forall problem using an SMT solver, and on a pruning technique based on signature computation. Adrià Gascón, Pramod Subramanyan, Bruno Dutertre, Ashish Tiwari 0001, Dejan Jovanovic, Sharad Malik |
FMCAD | 2 |
| 2013 | Reverse engineering digital circuits using functional analysisabstractIntegrated circuits (ICs) are now designed and fabricated in a globalized multi-vendor environment making them vulnerable to malicious design changes, the insertion of hardware trojans/malware and intellectual property (IP) theft. Algorithmic reverse engineering of digital circuits can mitigate these concerns by enabling analysts to detect malicious hardware, verify the integrity of ICs and detect IP violations. In this paper, we present a set of algorithms for the reverse engineering of digital circuits starting from an unstructured netlist and resulting in a high-level netlist with components such as register files, counters, adders and subtracters. Our techniques require no manual intervention and experiments show that they determine the functionality of more than 51% and up to 93% of the gates in each of the practical test circuits that we examine. Pramod Subramanyan, Nestan Tsiskaridze, Kanika Pasricha, Dillon Reisman, Adriana Susnea, Sharad Malik |
DATE | 1 |
| 2011 | Adaptive execution assistance for multiplexed fault-tolerant chip multiprocessorsabstractRelentless scaling of CMOS fabrication technology has made contemporary integrated circuits increasingly susceptible to transient faults, wearout-related permanent faults, intermittent faults and process variations. Therefore, mechanisms to mitigate the effects of decreased reliability are expected to become essential components of future general-purpose microprocessors. In this paper, we introduce a new throughput-efficient architecture for multiplexed fault-tolerant chip multiprocessors (CMPs). Our proposal relies on the new technique of adaptive execution assistance, which dynamically varies instruction outcomes forwarded from the leading core to the trailing core based on measures of trailing core performance. We identify policies and design low overhead hardware mechanisms to achieve this. Our work also introduces a new priority-based thread-scheduling algorithm for multiplexed architectures that improves multiplexed fault tolerant CMP throughput by prioritizing stalled threads. Through simulation-based evaluation, we And that our proposal delivers 17.2% higher throughput than perfect dual modular redundant (DMR) execution and outperforms previous proposals for throughput-efficient CMP architectures. Pramod Subramanyan, Virendra Singh, Kewal K. Saluja, Erik Larsson |
ICCD | 1 |
| 2010 | Multiplexed redundant execution: A technique for efficient fault tolerance in chip multiprocessorsabstractContinued CMOS scaling is expected to make future microprocessors susceptible to transient faults, hard faults, manufacturing defects and process variations causing fault tolerance to become important even for general purpose processors targeted at the commodity market. To mitigate the effect of decreased reliability, a number of fault-tolerant architectures have been proposed that exploit the natural coarse-grained redundancy available in chip multiprocessors (CMPs). These architectures execute a single application using two threads, typically as one leading thread and one trailing thread. Errors are detected by comparing the outputs produced by these two threads. These architectures schedule a single application on two cores or two thread contexts of a CMP. As a result, besides the additional energy consumption and performance overhead that is required to provide fault tolerance, such schemes also impose a throughput loss. Consequently a CMP which is capable of executing 2n threads in non-redundant mode can only execute half as many (n) threads in fault-tolerant mode. In this paper we propose multiplexed redundant execution (MRE), a low-overhead architectural technique that executes multiple trailing threads on a single processor core. MRE exploits the observation that it is possible to accelerate the execution of the trailing thread by providing execution assistance from the leading thread. Execution assistance combined with coarse-grained multithreading allows MRE to schedule multiple trailing threads concurrently on a single core with only a small performance penalty. Our results show that MRE increases the throughput of fault-tolerant CMP by 16% over an ideal dual modular redundant (DMR) architecture. Pramod Subramanyan, Virendra Singh, Kewal K. Saluja, Erik Larsson |
DATE | 1 |
| 2010 | Energy-efficient fault tolerance in chip multiprocessors using Critical Value ForwardingabstractRelentless CMOS scaling coupled with lower design tolerances is making ICs increasingly susceptible to wear-out related permanent faults and transient faults, necessitating on-chip fault tolerance in future chip microprocessors (CMPs). In this paper we introduce a new energy-efficient fault-tolerant CMP architecture known as Redundant Execution using Critical Value Forwarding (RECVF). RECVF is based on two observations: (i) forwarding critical instruction results from the leading to the trailing core enables the latter to execute faster, and (ii) this speedup can be exploited to reduce energy consumption by operating the trailing core at a lower voltage-frequency level. Our evaluation shows that RECVF consumes 37% less energy than conventional dual modular redundant (DMR) execution of a program. It consumes only 1.26 times the energy of a non-fault-tolerant baseline and has a performance overhead of just 1.2%. Pramod Subramanyan, Virendra Singh, Kewal K. Saluja, Erik Larsson |
DSN | 1 |
| 2010 | Energy-efficient redundant execution for chip multiprocessorsabstractRelentless CMOS scaling coupled with lower design tolerances is making ICs increasingly susceptible to wear-out related permanent faults and transient faults, necessitating on-chip fault tolerance in future chip microprocessors (CMPs). In this paper, we describe a power-efficient architecture for redundant execution on chip multiprocessors (CMPs) which when coupled with our per-core dynamic voltage and frequency scaling (DVFS) algorithm significantly reduces the energy overhead of redundant execution without sacrificing performance. Our evaluation shows that this architecture has a performance overhead of only 0.3% and consumes only 1.48 times the energy of a non-fault-tolerant baseline. Pramod Subramanyan, Virendra Singh, Kewal K. Saluja, Erik Larsson |
ACM Great Lakes Symposium on VLSI | 1 |