Ange-Thierry Ishimwe

Ange-Thierry Ishimwe

PhD in Electrical and Computer Engineering
University of Colorado Boulder

CPU Microarchitecture | Performance Modeling | Security | Compilers

Email | LinkedIn | GitHub | Resume | CV | Google Scholar

Research Projects

My research projects focus on designing secure and high-performance branch and memory dependence predictors, compiler and hardware co-design, transient execution attacks defenses, secure memory, and FPGA-based acceleration.

SSMR: Statically Detecting Speculation Safe Memory Regions

Tech Stack: C++ Python Clang/LLVM Gem5 SimPoint RISC-V Assembly

Designed a hardware software co-design defense against Spectre and Meltdown that allows a modified load-store unit to detect unsafe speculative memory operations based on target addresses.

SCPC: Securing Cross Process Collision Based Transient Attacks

Tech Stack: C++ Python Clang/LLVM Gem5 CACTI x86 Assembly

Built a functional-level model of AMD's Speculative Store Bypass Predictor and integrated it into gem5 to evaluate a virtualization-based defense that isolates prediction structures across processes and privilege levels.

Baobab Merkle Tree for Efficient Secure Memory

Tech Stack: C++ Python Gem5 CACTI ARM Assembly

Co-designed and implemented the Baobab Merkle Tree, a secure memory integrity structure that improves upon the Bonsai Merkle Tree by reducing metadata overhead while preserving replay attack protection and data integrity.

Autoprune: A Stochastic Candidate Pruning Strategy for Souper

Tech Stack: C++ Python Clang/LLVM Scikit-learn ONNX Z3

Developed a machine-learning-based pruning strategy for Souper, a synthesis-driven superoptimization compiler, to reduce compilation time by pruning optimization candidates in LLVM intermediate representation.

SPAR-2: A SIMD Processor Array for Machine Learning in IoT Devices

Tech Stack: Zynq FPGA Vivado Verilog C

Aided in designing and building a custom array processor for FPGA-based IoT edge devices to accelerate matrix operations for machine learning workloads.