Roope Kaivola

dblp:89/2962 · DBLP profile ↗
← Back
19ranked-venue papers
14as first author
4since 2021 · last 2025
—ORCID · none

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

Theory of computation · 15 · 11 first-author · 4 since 2021Software engineering, systems software and programming languages · 10 · 7 first-author · 3 since 2021Systems, architecture and hardware · 2 · 1 first-authorDatabases, data management, data science and information retrieval · 1 · 1 first-author
YearPublicationVenuePosition
2025 Timed causal fanin analysis for symbolic simulation
Roope Kaivola, Neta Bar Kama
Formal Methods Syst. Des.1
2022 Error Correction Code Algorithm and Implementation Verification Using Symbolic Representations
abstract
Error-correction codes (ECCs) are becoming a de rigueur feature in modern memory subsystems, as it becomes increasingly important to safeguard data against random bit corruption.ECC architecture constantly evolves towards designs that leverage complex mathematics to minimize check-bits and maximize the number of data bits protected, as a result of which subtle bugs may be introduced into the design.These algorithms traverse a vast data space and are subject to corner case bugs which are hard to catch through constraint-based randomized testing.This necessitates formal verification of ECC designs to assure correctness of the algorithm and its hardware implementation.In this paper we present a technique of representing various ECC algorithm outputs as Boolean equations in the form of Boolean Decision Diagrams (BDDs) to facilitate reasoning about the algorithms.We also discuss the counting and generation of examples from the BDD representations and how it aids in tuning ECC algorithms for performance and security.Additionally, we display the use of Symbolic Trajectory Evaluation (STE) to prove the correctness of register transfer level (RTL) implementations of these algorithms.We discuss the scaling up of this verification methodology, using different complexity and convergence techniques.We apply these techniques to a number of complex ECC designs at Intel and showcase their efficacy on several categories of bugs.
Aarti Gupta, Roope Kaivola, Mihir Parang Mehta
FMCAD2
2022 Timed Causal Fanin Analysis for Symbolic Circuit Simulation
Roope Kaivola, Neta Bar Kama
FMCAD1
2021 Hardware Security Leak Detection by Symbolic Simulation
Neta Bar Kama, Roope Kaivola
FMCAD2
2013 Relational STE and theorem proving for formal verification of industrial circuit designs
John W. O'Leary, Roope Kaivola, Tom Melham
FMCAD2
2011 Intel CoreTM i7 Processor Execution Engine Validation in a Functional Language Based Formal Framework
Roope Kaivola
PADL1
2009 Replacing Testing with Formal Verification in Intel CoreTM i7 Processor Execution Engine Validation
Roope Kaivola, Rajnish Ghughal, Naren Narasimhan, Amber Telfer, Jesse Whittemore, Sudhindra Pandav, Anna Slobodová, Vladimir A. Frolov, Erik Reeber, Armaghan Naik
CAV1
2005 Formal Verification of Pentium® 4 Components with Symbolic Simulation and Inductive Invariants
Roope Kaivola
CAV1
2005 Stepwise Development of Process-Algebraic Specifications in Decorated Trace Semantics
T. Karvi, Tienari Tienari, Roope Kaivola
Formal Methods Syst. Des.3
2003 Proof engineering in the large: formal verification of Pentium?4 floating-point divider
Roope Kaivola, Katherine R. Kohatsu
Int. J. Softw. Tools Technol. Transf.1
2002 Formal Verification of the Pentium ® 4 Floating-Point Multiplier
abstract
We present the formal verification of the floating-point multiplier in the Intel IA-32 Pentium/sup /spl reg// 4 microprocessor. The verification is based on a combination of theorem-proving and BDD based model-checking tasks performed in a unified hardware verification environment. The tasks are tightly integrated to accomplish complete verification of the multiplier hardware coupled with the rounder logic. The approach does not rely on specialized representations like binary moment diagrams or its variants.
Roope Kaivola, Naren Narasimhan
DATE1
2000 Formal verification of iterative algorithms in microprocessors
abstract
Contemporary microprocessors implement many iterative algorithms. For example, the front-end of a microprocessor repeatedly fetches and decodes instructions while updating internal state such as the program counter; floating-point circuits perform divide and square root computations iteratively. Iterative algorithms often have complex implementations because of performance optimizations like result speculation, re-timing and circuit redundancies. Verifying these iterative circuits against high-level specifications requires two steps: reasoning about the algorithm itself and verifying the implementation against the algorithm. In this paper we discuss the verification of four iterative circuits from Intel microprocessor designs. These verifications were performed using Forte, a custom-built verification system; we discuss the Forte features necessary for our approach. Finally, we discuss how we maintained these proofs in the face of evolving design implementations.
Mark D. Aagaard, Robert B. Jones, Roope Kaivola, Katherine R. Kohatsu, Carl-Johan H. Seger
DAC3
1998 Axiomatising Extended Computation Tree Logic
Roope Kaivola
Theor. Comput. Sci.1
1997 Using Compositional Preorders in the Verification of Sliding Window Protocal
Roope Kaivola
CAV1
1996 Fixpoints for Rabin Tree Automata Make Complementation Easy
Roope Kaivola
ICALP1
1995 Axiomatising Linear Time Mu-calculus
Roope Kaivola
CONCUR1
1995 On Modal mu-Calculus and Büchi Tree Automata
Roope Kaivola
Inf. Process. Lett.1
1992 The Weakest Compositional Semantic Equivalence Preserving Nexttime-less Linear temporal Logic
Roope Kaivola, Antti Valmari
CONCUR1
1991 Using Truth-Preserving Reductions to Improve the Clarity of Kripke-Models
Roope Kaivola, Antti Valmari
CONCUR1