Demo Data from SIGIR 2026 / reviewers in the wild / expert
Moslem Didehban
dblp:52/7950
· DBLP profile ↗
12ranked-venue papers
6as first author
3since 2021 · last 2024
0000-0002-9357-4702ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 8 · 3 first-author · 2 since 2021Security and privacy · 3 · 2 first-author · 1 since 2021Software engineering, systems software and programming languages · 3 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1 · 1 first-author
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 |
Hardware reliability and fault tolerance · 91% Distributed systems · 5% Processor architecture and microarchitecture · 4% | |
| Software engineering, system software, and programming languages
1 paper |
Compilers and program optimization · 100% |
Topics — the 12 heaviest of 12, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Hardware reliability and fault tolerance
soft errors |
1.3 | 3 | 2024 | Generic Soft Error Data and Control Flow Error Detection by Instruction Duplication · IEEE Trans. Dependable Secur. Comput. 2024 InCheck: An In-application Recovery Scheme for Soft Errors · DAC 2017 nZDC: a compiler technique for near zero silent data corruption · DAC 2016 |
Hardware reliability and fault tolerance › soft errors
instruction duplication |
1.0 | 2 | 2024 | Generic Soft Error Data and Control Flow Error Detection by Instruction Duplication · IEEE Trans. Dependable Secur. Comput. 2024 nZDC: a compiler technique for near zero silent data corruption · DAC 2016 |
Hardware reliability and fault tolerance › error detection
control-flow error detection |
0.8 | 1 | 2024 | Generic Soft Error Data and Control Flow Error Detection by Instruction Duplication · IEEE Trans. Dependable Secur. Comput. 2024 |
Hardware reliability and fault tolerance
fault injection |
0.6 | 1 | 2022 | EXPERTISE: An Effective Software-level Redundant Multithreading Scheme against Hardware Faults · ACM Trans. Archit. Code Optim. 2022 |
Hardware reliability and fault tolerance › redundancy
redundant multithreading |
0.6 | 1 | 2022 | EXPERTISE: An Effective Software-level Redundant Multithreading Scheme against Hardware Faults · ACM Trans. Archit. Code Optim. 2022 |
Hardware reliability and fault tolerance › soft errors
soft error resilience |
0.4 | 1 | 2019 | Software Approaches for In-time Resilience · DAC 2019 |
Distributed systems › fault tolerance
checkpointing |
0.3 | 1 | 2017 | InCheck: An In-application Recovery Scheme for Soft Errors · DAC 2017 |
Hardware reliability and fault tolerance
error recovery |
0.3 | 1 | 2017 | InCheck: An In-application Recovery Scheme for Soft Errors · DAC 2017 |
Hardware reliability and fault tolerance
software fault tolerance |
0.3 | 1 | 2017 | InCheck: An In-application Recovery Scheme for Soft Errors · DAC 2017 |
Hardware reliability and fault tolerance › soft errors
silent data corruption |
0.2 | 1 | 2016 | nZDC: a compiler technique for near zero silent data corruption · DAC 2016 |
Processor architecture and microarchitecture
instruction set architecture |
0.2 | 1 | 2024 | Generic Soft Error Data and Control Flow Error Detection by Instruction Duplication · IEEE Trans. Dependable Secur. Comput. 2024 |
Compilers and program optimization
compiler-based fault tolerance |
0.1 | 1 | 2016 | nZDC: a compiler technique for near zero silent data corruption · DAC 2016 |
Methods — techniques the papers use, named apart from their topics
fault injection · 1.5verilog-based fault simulation · 0.8statistical fault injection · 0.6compiler-level transformation · 0.6software resilience techniques · 0.4
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Generic Soft Error Data and Control Flow Error Detection by Instruction DuplicationabstractTransient faults or soft errors are considered one of the most daunting reliability challenges for microprocessors. Software solutions for soft error protection are attractive because they can provide flexible and effective error protection. For instance, nZDC (Didehban and Shrivastava 2016) state-of-the-art instruction duplication error protection scheme achieves a high degree of error detection by verifying the results of memory write operations and utilizes an effective control-flow checking mechanism. However, nZDC control-flow checking mechanism is architecture-dependent and suffers from some vulnerability holes. In this work, we address these issues by substituting nZDC control-flow checking mechanism with a general (ISA-independent) scheme and propose two transformations, coarse-grained scheduling, and asymmetric control-flow signatures, for hard-to-detect control flow errors. Fault injection experiments on different hardware components of synthesizable Verilog description of an OpenRISC-based microprocessor reveal that the proposed transformation shows 85% less silent data corruptions compared to nZDC. In addition, programs protected by the proposed scheme run on average around 37% faster than nZDC-protected programs. Moslem Didehban, Hwisoo So, Prudhvi Gali, Aviral Shrivastava, Kyoungwoo Lee |
IEEE Trans. Dependable Secur. Comput. | 1 |
| 2022 | EXPERTISE: An Effective Software-level Redundant Multithreading Scheme against Hardware FaultsabstractError resilience is the primary design concern for safety- and mission-critical applications. Redundant MultiThreading (RMT) is one of the most promising soft and hard error resilience strategies because it does not require additional hardware modification. While the state-of-the-art software RMT scheme can achieve a high degree of error protection, our detailed investigation revealed that it suffers from performance overhead and insufficient fault coverage. This paper proposes EXPERTISE, a compiler-level RMT scheme that can detect the manifestation of hardware faults in all processor components. EXPERTISE transformation generates a checker-thread for the main execution thread. These redundant threads are executed simultaneously on two physically different cores of a multicore processor and perform almost the same computations. After each memory write operation is committed by the main-thread, the checker-thread loads back the written data from the memory and checks it against its own locally computed values. If they match, the execution continues. Otherwise, the error flag is raised. In order to evaluate the effectiveness of the proposed solution, we performed soft and hard error injection experiments on all the different hardware components of an ARM Cortex53-like μ-architecturally simulated microprocessor. Based on statistical fault injection campaigns, we have found that EXPERTISE provides 188× better fault coverage with 27% faster performance as compared to the state-of-the-art scheme. Hwisoo So, Moslem Didehban, Yohan Ko, Aviral Shrivastava, Kyoungwoo Lee |
ACM Trans. Archit. Code Optim. | 2 |
| 2021 | CHITIN: A Comprehensive In-thread Instruction Replication Technique Against Transient FaultsabstractSoft errors have become one of the most important design concerns due to drastic technology scaling. Software-based error detection techniques are attractive, due to their flexibility and hardware independence. However, our in-depth analysis reveals that the state-of-the-art techniques in the area cannot provide comprehensive fault coverage: i) their control-flow protection schemes provide incomplete redundancy of original instructions, ii) they do not protect function calls and returns, and iii) their instruction scheduling leaves many vulnerabilities open. In this paper, we propose CHITIN - code transformations for soft error resilience that adopts the load-back checking scheme of nZDC, an improved version of SWIFT-like control-flow protection scheme, and a contiguous scheduling of the original and redundant instructions to dramatically improve the vulnerability from soft errors that disrupt the control-flow. Our fault injection experiments demonstrate that CHITIN can reduce more than 89% of the silent data corruptions in the state-of-the-art solutions. Hwisoo So, Moslem Didehban, Jinhyo Jung, Aviral Shrivastava, Kyoungwoo Lee |
DATE | 2 |
| 2019 | Software Approaches for In-time ResilienceabstractAdvances in semiconductor technology have enabled unprecedented growth in safety-critical applications. However, due to unabated scaling, the unreliability of the underlying hardware is only getting worse. For a lot of applications, just recovering from errors is not enough -- the latency between the occurrence of the fault to it's detection and recovery from the fault, i.e., in-time error resilience is of vital importance. This is especially true for real-time applications, where the timing of application events is a crucial part of the correctness of application. While software techniques for resilience are highly desirable since they can be flexibly applied, but achieving reliable, in-time software resilience is still an elusive goal. A new class of recent techniques have started to tackle this problem. This paper presents a succinct overview of existing software resilience techniques from the point-of-view of in-time resilience, and points out future challenges. Aviral Shrivastava, Moslem Didehban |
DAC | 2 |
| 2019 | A software-level Redundant MultiThreading for Soft/Hard Error Detection and RecoveryabstractIn this work, we investigate the potential of software-only RMT (Redundant MultiThreading) schemes for soft and hard error detection and recovery. We first implement and evaluate the error protection capability of basic software level triple redundant multithreading (STRMT) and analyze its vulnerability. Then we introduce FISHER (FlexIble Soft and Hard Error Resiliency) as a software RMT scheme which can achieve high degree of error resiliency and does not suffer from STRMT vulnerability holes. FISHER executes three threads and rather than having a centralized voting mechanism, it distributes and intertwines error detection and recovery operations between redundant threads. We performed 135,000 soft/hard error injection experiments on different hardware components of an ARM cortex53-like μ-architecturally simulated microprocessor. The results demonstrate that FISHER can reduce programs failure rate by around 42× and 26× compared to original and basic STRMT-protected versions of programs, respectively. Hwisoo So, Moslem Didehban, Aviral Shrivastava, Kyoungwoo Lee |
DATE | 2 |
| 2018 | EXPERT: Effective and flexible error protection by redundant multithreadingabstractResiliency is a first-order design concern in modern microprocessor design. Compiler-level Redundant MultiThreading (RMT) schemes are promising because of their capability to detect the manifestation of hardware transient and permanent faults. In this work, we propose EXPERT, a compiler-level RMT scheme which can detect the manifestation of hardware faults in all hardware components. EXPERT transformation generates a checker thread for program main execution thread. These redundant threads execute simultaneously on two physically different cores of a multi-core processor. They perform mostly same computations, however, after each memory write operation committed by the main thread, the checker thread loads back the written data from the memory and checks it against its own locally computed values. If they match, execution continues. Otherwise, the error flag will be raised. Our processor-wide statistical transient and permanent fault injection experiments show that EXPERT error coverage is ~65x better than the state-of-the-art scheme. Hwisoo So, Moslem Didehban, Yohan Ko, Aviral Shrivastava, Kyoungwoo Lee |
DATE | 2 |
| 2018 | A Compiler Technique for Processor-Wide Protection From Soft Errors in Multithreaded EnvironmentsabstractAggressive transistor scaling down and nearthreshold computing have rendered modern microprocessor susceptible to soft errors. Software approaches that protect computations against soft errors are desirable because they offer flexible protection and are suitable for mixed-critical systems. In particular, fine-grain instruction duplication based techniques are deemed to be most effective; however, many of the existing instruction duplication techniques either suffer from many vulnerable intervals or are not suitable for multithreaded environments. In this paper, we present multithreded near zero silent data corruption (MZDC), a software scheme which provides high-level processor-wide error coverage in multithreaded environments. MZDC duplicates all programs' instructions and uses diagnosis block after replicated memory operations to overcome the inconsistency issue in a multithread environment. Statistical fault injection experiments on a dual-core ARM cortex-A53 μ architecturally simulated microprocessor show that on average, MZDC can achieve more than 37× better fault coverage than the state-of-the-art. Moslem Didehban, Aviral Shrivastava |
IEEE Trans. Reliab. | 1 |
| 2017 | InCheck: An In-application Recovery Scheme for Soft ErrorsabstractAn ideal solution for soft error tolerance should hide the effect of soft errors from user and provide correct results at expected time. Software solutions are attractive because they can provide flexible reliability without imposing any hardware modifications. Our investigation of state-of-the-art error recovery techniques reveals that they suffer from poor coverage (ability to detect and correctly recover from soft errors). This paper presents InCheck (In-application Checkpointing and Recovery) as an effective, safe and timely software technique for complete error coverage. The key features of InCheck are: verified register preservation, single memory location checkpoints, and safe & timely recovery. To evaluate the effectiveness of InCheck, we performed more than 210,000 fault injection experiments on different hardware components of an ARM cortex53-like processor running MiBench applications. The original and SWIFTR (state-of-the-art) protected programs suffered from 8000 and 1800 instances of wrong outputs respectively, but when protected by InCheck, there was no failure. Moslem Didehban, Sai Ram Dheeraj Lokam, Aviral Shrivastava |
DAC | 1 |
| 2017 | NEMESIS: A software approach for computing in presence of soft errorsabstractSoft errors are considered as the main reliability challenge for sub-nanoscale microprocessors. Software-level soft error resilience schemes are desirable because they require no hardware modifications and their protection can be tuned based on the application requirements. However, existing software-level error tolerant schemes do not provide high-level of protection. In this work, we present NEMESIS - a compiler-level fine-grain soft error detection, diagnosis and recovery technique that can provide high degree of error-resiliency. NEMESIS runs three versions of computations and detects soft errors by checking the results of all memory write and branch operations. In the case of mismatch, NEMESIS recovery routine reverts the effect of error from the architectural state of the program and program resumes its normal execution. Our extensive μ-architectural-level fault injection experiments results show that NEMESIS transformation is able to detect all soft errors and recover from 97% of detected errors. Moslem Didehban, Aviral Shrivastava, Sai Ram Dheeraj Lokam |
ICCAD | 1 |
| 2016 | nZDC: a compiler technique for near zero silent data corruptionabstractExponentially growing rate of soft errors makes reliability a major concern in modern processor design. Since software-oriented approaches offer flexible protection even in off-the-shelf processes, they are attractive solutions in protecting against soft errors. Among such approaches, in-application instruction duplication based approaches have been widely used and are deemed to be the most effective. Such techniques duplicate the program assembly instructions and periodically check the results to identify possible errors. Even though early reports suggest that these achieve close to 100% protection from soft errors, we find several gaps in the protection. Existing techniques are unable to protect several important microarchitectural components, as well as a significant fraction of instructions, resulting in Silent Data Corruptions (SDCs). This paper presents nZDC or near Zero silent Data Corruption -- an effective instruction duplication based approach to protect programs from soft errors. Extensive fault injection experiments on almost all the unprotected microarchitectural components in simulated ARM Cortex A53, while executing benchmarks fromMiBench suite, demonstrate that nZDC is extremely effective, without incurring any more performance penalty than the state-of-the-art. Moslem Didehban, Aviral Shrivastava |
DAC | 1 |
| 2011 | A Gate Level Analysis of Transient Faults Effects on Dual-Core Chip-Multi ProcessorsabstractWith continuous scaling in CMOS technology the number of transistors grows more and more in a single chip and it makes modern processors prone to the risk of transient fault. In this work the effects of transient faults in MIPS-based Chip-Multi Processors (CMPs) are investigated in two phases. In the first phase a low level fault injection is performed and sensitive components is determined. In the next phase, in order to improve the reliability term in CMPs, two simple low overhead fault tolerant techniques are employed on the most vulnerable components in the MIPS-based dual-core processor. Hsiao code was used which is an optimal minimum odd-weight-column single error correction and double error detection SEC-DED code to protect MPI and program counters. TMR (Triple Modular Redundancy) technique is used to improve reliability of the Arbiter. Using fault injection improves 12.8% in error recovery and 16.6% reduction of failure rate with negligible performance overhead. Moslem Didehban, Ario Sadafi, Sajjad Salehi, Mohammad Bagher Chami |
ARES | 1 |
| 2010 | Analysis of Transient Faults on a MIPS-Based Dual-Core ProcessorabstractThis paper presents a simulation-based fault injection analysis of a MIPS-based dual-core processor. In order to fulfill the requirement of this analysis, 114 different fault targets are used in various points of main components which are described in VHDL language; each experiment was repeated 50 times, resulting in 5700 transient faults in this simulation model. The experimental results demonstrate that, depending on the fault injection targets and the benchmark characteristics, fault effects vary significantly. On average, up to 35.2% of injected faults are recovered in simulation time, while 52.6% of faults lead to system failure, and the remaining 12.2%, treat as latent errors. Different benchmarks show different vulnerability for various components; but on average, Arbiter and Message passing interface are the most vulnerable components outside the tiles, while PC and Bus Handler have highest failure rate among in-tile components. Fault injection on each region has noticeable impact on the result of the other core. In general, fault injection in Shared regions has highest contribution in system failure. Iman Faraji, Moslem Didehban, Hamid R. Zarandi |
ARES | 2 |