My PhD thesis research centered on building programming language tools with proofs of total correctness, using the Coq proof assistant. What distinguishes my approach is that I use dependent types in the implementations of the tools, not just their correctness proofs, following a kind of "correctness by construction" discipline. These are some of the largest dependently-typed programming projects that I'm aware of.
In both of these projects, I developed complete soundness proofs in Coq for large fragments of x86 Typed Assembly Language.