Dynamic-language virtual machines store compiled functions as garbage-collected heap objects, yet embedded and field-programmable gate array (FPGA) integrity mechanisms check code only at load time or ignore whether memory holds live code. picoStella, a proof-of-concept FPGA-targeted virtual machine, reauthenticates live code in every garbage-collection pass: after marking, a verification pass uses the mark bits to re-hash each reachable function with SHA3-256 (Secure Hash Algorithm 3) against a write-once trusted digest. The design passed 36 testbenches with identical results across two simulators, was synthesized for a Cyclone IV E FPGA, and its verifier was tested on a DE2-115 board. A closed-form model predicts per-function cost exactly; verification adds 167–8914% to the mark-sweep cost for up to eight 256-byte functions. Reusing the collector’s reachability saves 0.40% over a verifier with its own traversal, but up to 83% over a liveness-oblivious scrubber. Detection takes 42–314 cycles, all 5770 injected bytecode faults were detected, and board-level debug-register injection reproduced these latencies. On-chip clock glitching defeated detection in 4.5% of corrupted trials. Register-level soft-error injection shows SHA3-state upsets fail safe, whereas control or metadata upsets can hang a pass or skip a function. The time-of-check-to-time-of-use window is narrowed, not closed; the reset-cleared lock is not a root of trust; larger-scale costs are projections.
No takes yet. Share an insight, caveat, or question.
Marevac et al. (2026) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: