Post-Silicon and Runtime Verification for Modern Processors


Book Description

The purpose of this book is to survey the state of the art and evolving directions in post-silicon and runtime verification. The authors start by giving an overview of the state of the art in verification, particularly current post-silicon methodologies in use in the industry, both for the domain of processor pipeline design and for memory subsystems. They then dive into the presentation of several new post-silicon verification solutions aimed at boosting the verification coverage of modern processors, dedicating several chapters to this topic. The presentation of runtime verification solutions follows a similar approach. This is an area of processor design that is still in its early stages of exploration and that holds the promise of accomplishing the ultimate goal of achieving complete correctness guarantees for microprocessor-based computation. The authors conclude the book with a look towards the future of late-stage verification and its growing role in the processor life-cycle.




Post-Silicon Validation and Debug


Book Description

This book provides a comprehensive coverage of System-on-Chip (SoC) post-silicon validation and debug challenges and state-of-the-art solutions with contributions from SoC designers, academic researchers as well as SoC verification experts. The readers will get a clear understanding of the existing debug infrastructure and how they can be effectively utilized to verify and debug SoCs.




Post-Silicon and Runtime Verification for Modern Processors


Book Description

The purpose of this book is to survey the state of the art and evolving directions in post-silicon and runtime verification. The authors start by giving an overview of the state of the art in verification, particularly current post-silicon methodologies in use in the industry, both for the domain of processor pipeline design and for memory subsystems. They then dive into the presentation of several new post-silicon verification solutions aimed at boosting the verification coverage of modern processors, dedicating several chapters to this topic. The presentation of runtime verification solutions follows a similar approach. This is an area of processor design that is still in its early stages of exploration and that holds the promise of accomplishing the ultimate goal of achieving complete correctness guarantees for microprocessor-based computation. The authors conclude the book with a look towards the future of late-stage verification and its growing role in the processor life-cycle.




Runtime Verification


Book Description

This book constitutes the refereed proceedings of the 17th International Conference on Runtime Verification, RV 2017, held in Seattle, WA, USA, in September 2017. The 18 revised full papers presented together with 3 invited presentations, 4 short papers, 5 tool papers, and 3 tutorials, were carefully reviewed and selected from 58 submissions. The RV conference is concerned with all aspects of monitoring and analysis of hardware, software and more general system executions. Runtime verification techniques are lightweight techniques to assess correctness, reliability, and robustness; these techniques are significantly more powerful and versatile than conventional testing, and more practical than exhaustive formal verification.




Low-cost and Efficient Fault Detection and Diagnosis Schemes for Modern Cores


Book Description

Continuous improvements in transistor scaling together with microarchitectural advances have made possible the widespread adoption of high-performance processors across all market segments. However, the growing reliability threats induced by technology scaling and by the complexity of designs are challenging the production of cheap yet robust systems. Soft error trends are haunting, especially for combinational logic, and parity and ECC codes are therefore becoming insufficient as combinational logic turns into the dominant source of soft errors. Furthermore, experts are warning about the need to also address intermittent and permanent faults during processor runtime, as increasing temperatures and device variations will accelerate inherent aging phenomena. These challenges specially threaten the commodity segments, which impose requirements that existing fault tolerance mechanisms cannot offer. Current techniques based on redundant execution were devised in a time when high penalties were assumed for the sake of high reliability levels. Novel light-weight techniques are therefore needed to enable fault protection in the mass market segments. The complexity of designs is making post-silicon validation extremely expensive. Validation costs exceed design costs, and the number of discovered bugs is growing, both during validation and once products hit the market. Fault localization and diagnosis are the biggest bottlenecks, magnified by huge detection latencies, limited internal observability, and costly server farms to generate test outputs. This thesis explores two directions to address some of the critical challenges introduced by unreliable technologies and by the limitations of current validation approaches. We first explore mechanisms for comprehensively detecting multiple sources of failures in modern processors during their lifetime (including transient, intermittent, permanent and also design bugs). Our solutions embrace a paradigm where fault tolerance is built based on exploiting high-level microarchitectural invariants that are reusable across designs, rather than relying on re-execution or ad-hoc block-level protection. To do so, we decompose the basic functionalities of processors into high-level tasks and propose three novel runtime verification solutions that combined enable global error detection: a computation/register dataflow checker, a memory dataflow checker, and a control flow checker. The techniques use the concept of end-to-end signatures and allow designers to adjust the fault coverage to their needs, by trading-off area, power and performance. Our fault injection studies reveal that our methods provide high coverage levels while causing significantly lower performance, power and area costs than existing techniques. Then, this thesis extends the applicability of the proposed error detection schemes to the validation phases. We present a fault localization and diagnosis solution for the memory dataflow by combining our error detection mechanism, a new low-cost logging mechanism and a diagnosis program. Selected internal activity is continuously traced and kept in a memory-resident log whose capacity can be expanded to suite validation needs. The solution can catch undiscovered bugs, reducing the dependence on simulation farms that compute golden outputs. Upon error detection, the diagnosis algorithm analyzes the log to automatically locate the bug, and also to determine its root cause. Our evaluations show that very high localization coverage and diagnosis accuracy can be obtained at very low performance and area costs. The net result is a simplification of current debugging practices, which are extremely manual, time consuming and cumbersome. Altogether, the integrated solutions proposed in this thesis capacitate the industry to deliver more reliable and correct processors as technology evolves into more complex designs and more vulnerable transistors.




Runtime Verification


Book Description

This book constitutes the thoroughly refereed post-conference proceedings of the Second International Conference on Runtime Verification, RV 2011, held in San Francisco, USA, in September 2011. The 24 revised full papers presented together with 3 invited papers, 4 tutorials and 4 tool demonstrations were carefully reviewed and selected from 71 submissions. The papers are organized in topical sections on parallelism and deadlocks, malware detection, temporal constraints and concurrency bugs, sampling and specification conformance, real-time, software and hardware systems, memory transactions, tools; foundational techniques and multi-valued approaches.




Runtime Verification


Book Description

This book constitutes the refereed proceedings of the 4th International Conference on Runtime Verification, RV 2013, held in Rennes, France, in September 2013. The 24 revised full papers presented together with 3 invited papers, 2 tool papers, and 6 tutorials were carefully reviewed and selected from 58 submissions. The papers address a wide range of specification languages and formalisms for traces; specification mining; program instrumentation; monitor construction techniques; logging, recording, and replay; fault detection, localization, recovery, and repair; program steering and adaptation; as well as metrics and statistical information gathering; combination of static and dynamic analyses and program execution visualization.




Runtime Verification


Book Description

This book constitutes the refereed proceedings of the 16th International Conference on Runtime Verification, RV 2016, held in Madrid, Spain, in September 2016. The 18 revised full papers presented together with 4 short papers, 3 tool papers, 2 tool demonstration papers, and 5 tutorials, were carefully reviewed and selected from 72 submissions. The RV conference is concerned with all aspects of monitoring and analysis of hardware, software and more general system executions. Runtime verification techniques are lightweight techniques to assess correctness, reliability, and robustness; these techniques are significantly more powerful and versatile than conventional testing, and more practical than exhaustive formal verification.




Integrated Formal Methods


Book Description

This book constitutes the refereed proceedings of the 11th International Conference on Integrated Formal Methods, IFM 2014, held in Bertinoro, Italy, in September 2014. The 21 revised full papers presented together with 2 invited papers were carefully reviewed and selected from 43 submissions. The papers have been organized in the following topical sections: tool integration; model verification; program development; security analysis; analysis and transformation; and concurrency and control.




Runtime Verification


Book Description

This book constitutes the thoroughly refereed post-proceedings of the 8th International Workshop on Runtime Verification, RV 2008, held in Budapest, Hungary, in March 2008 as satellite event of ETAPS 2008. The 9 revised full papers presented together with 2 invited papers were carefully selected from 27 initial submissions. The subject covers several technical fields such as runtime verification, runtime checking, runtime monitoring, and security and safety matters.