I have 10 years of experience, and specialize in the field of high assurance software with specific knowledge in the areas of type systems, semantics and program analysis. I have published on such topics as program generation, advanced type systems and hardware description languages. I am the developer of the multi-stage programming paradigm, which is now part of .Net languages.