Wickopedia
Fuzzing Quantum Compilers
The Hoare Cube
Fun with income tax
Who checks the equivalence checkers?
Automated feature testing of Verilog parsers using fuzzing
In praise of Freddy, My Love
Mix-testing: revealing a new class of compiler bugs
Cycling from King’s Cross to Imperial College London
Verified high-level synthesis – now with hyperblocks!
What is the other Incorrectness logic?
CXL: What’s all the fuss about?
The fastest route between King’s Cross St Pancras and South Kensington
Hyphenation: when and why?
Proving the existence of God using a computer
“A Squash and a Squeeze” – Academic Edition
Some reflections on FCCM 2022
The “Cluedo” effect in randomised testing
High-level synthesis, but correct
What’s the Rush?
Understanding the memory semantics of multi-threaded CPU/FPGA programs
Introducing C4: the C Compiler Concurrency Checker
Fuzzing High-Level Synthesis Tools
A translation puzzle
Diagrams for Composing Compilers
Uncovering multicore interference
Highlights from FPGA 2020
New names for odd and even functions
Fuzzing FPGA synthesis tools
A plot twist! Drawing better graphs in PL papers
In praise of scatter plots
Loop invariants – where should we put them?
Modulo scheduling with rational initiation intervals
How to draw block diagrams
A wordless proof
A rant about fire doors
Never Say Never Again – chords
Greatest hits of PLDI 2018
What is the difference between latency and throughput?
Greatest Hits of FCCM 2018
Concurrency-aware scheduling for high-level synthesis