About the service
I am an Ada and SPARK developer and specialize in software that simply cannot fail. For more than ten years I have written control logic, railway interlocking, and embedded avionics where a single hidden bug is unacceptable, so correctness for me is not a final check but the starting point of any design choice. I work as regulated industries expect: first requirements, then architecture, then code that unambiguously traces to those requirements, and review and test artifacts are created alongside the software, not bolted on at the end.
My primary tool is SPARK, where I apply formal proof to guarantee the absence of runtime errors and show that key functional contracts always hold. Instead of hoping tests catch every edge case, I prove properties like no overflow, no buffer overrun, no division by zero, and no reads of uninitialized data. To this I add confident hands-on experience with real-time and bare metal: deterministic scheduling, strict memory and time budgets, integration with certified runtimes. I work to standards DO-178C, EN 50128, and the like, and help teams bring old C or early Ada code to a provable and maintainable base.
If you have a controller, protocol stack, or subsystem that must be done right the first time, I will design it, prove it, and deliver it with documentation your auditor will want to see. I also review and harden existing Ada projects, set up proof pipelines and CI, and coach teams through their first SPARK experience.
— Ada 2012/2022 and SPARK development from requirements to certifiable build
— Formal verification: absence of runtime errors, contracts, invariant proof
— Real-time, bare metal, and RTOS with tight time and memory budgets
— Safety standards support: traceability and evidence for DO-178C, EN 50128, IEC 61508
— Migration from C and early Ada, static analysis, code review, CI pipelines, and proof
My primary tool is SPARK, where I apply formal proof to guarantee the absence of runtime errors and show that key functional contracts always hold. Instead of hoping tests catch every edge case, I prove properties like no overflow, no buffer overrun, no division by zero, and no reads of uninitialized data. To this I add confident hands-on experience with real-time and bare metal: deterministic scheduling, strict memory and time budgets, integration with certified runtimes. I work to standards DO-178C, EN 50128, and the like, and help teams bring old C or early Ada code to a provable and maintainable base.
If you have a controller, protocol stack, or subsystem that must be done right the first time, I will design it, prove it, and deliver it with documentation your auditor will want to see. I also review and harden existing Ada projects, set up proof pipelines and CI, and coach teams through their first SPARK experience.
— Ada 2012/2022 and SPARK development from requirements to certifiable build
— Formal verification: absence of runtime errors, contracts, invariant proof
— Real-time, bare metal, and RTOS with tight time and memory budgets
— Safety standards support: traceability and evidence for DO-178C, EN 50128, IEC 61508
— Migration from C and early Ada, static analysis, code review, CI pipelines, and proof