Research Theme. Cogent [cogent]

Originally part of my doctorate and, for a time, as ongoing research work, I designed the Cogent programming language, and I was for many years a contributor to its associated verification framework and compiler.

This project was part of the long-term vision of the Trustworthy Systems team lead by Gernot Heiser (formerly at NICTA, now at UNSW Sydney), to reduce the cost and effort required to make formally verified systems.

In the past I have also worked with the Trustworthy Systems team on the l4.verified project and tools for the Isabelle theorem prover.

Reference. Memory Safety: Uniqueness as Separation [linares-dajosr-2025]

Reference. Dargent: A Silver Bullet for Verified Data Layout Refinement [chen-lokmjr-2023]

Reference. Property-based Testing: Climbing the Stairway to Verification [chen-roskhk-2022]

Reference. Overcoming Restraint: Composing Verification of Foreign Functions with Cogent [cheung-oconnor-rizkallah-2022]

Reference. Cogent: Uniqueness Types and Certifying Compilation [oconnor-crjakmsk-2021]

Reference. Type Systems For Systems Types [oconnor-thesis-2019]

Reference. Bringing Effortless Refinement of Data Layouts to Cogent [oconnor-csrkk-2018]

Reference. The Cogent Case for Property-Based Testing [chen-okkh-2017]

Reference. Provably Trustworthy Systems [klein-akmmo-2017]

Reference. Refinement through Restraint: Bringing Down the Cost of Verification [oconnor-cralmnsk-2016]

Reference. A Framework for the Automatic Formal Verification of Refinement from Cogent to C [rizkallah-lnscomkk-2016]

Reference. Cogent: Verifying High-assurance File System Implementations [amani-hcrcobnlstkmkh-2016]

Reference. CDSL Version 1: Simplifying Verification with Linear Types [oconnor-kamkcr-2014]

Reference. File Systems Deserve Verification Too! [keller-maocrkh-2013]