With background in formal logic, our laboratory is seeking for new computational models, developing new methods for analyzing and verifying such models, and implementing new tools for analysis and verification. While our main target is software systems and programming languages, we also deal with molecular and biological systems, and we are currently doing research on molecular computing.
We study theoretical foundations for software, and their applications to programming languages, program verification, and program transformation. The recent topics include automated program verification based on higher-order model checking.
We employ abstract mathematical languages (esp. category theory and mathematical logic) to model various phenomena in computer science, aiming at fundamental understanding as well as novel applied methods. Current application areas include: formal verification, system correctness, information security, quantum programming, hybrid systems.