Dan Zimmerman

Principal Researcher, Rigorous Hardware and Software Engineering, Asynchronous VLSI, Hardware Security, Verifiable Elections

I have extensive experience in formal methods (including teaching), high-assurance software engineering, concurrent and distributed systems, foundations of computer science. At Galois, I am working mainly in the areas of rigorous hardware and software engineering, asynchronous VLSI, hardware security, and verifiable elections technology.


Before joining Galois in 2014, Dr. Zimmerman was a Visiting Associate Professor of Computer Science at Harvey Mudd College in Claremont, California. Prior to that, he was an Assistant Professor of Computer Science and Systems at the University of Washington Tacoma. He has also held both teaching and research positions at the California Institute of Technology, from which he obtained his Ph.D. in 2002.

Dr. Zimmerman’s primary research interest is in the application of formal methods to software and hardware development processes. His other research interests include security, distributed and concurrent systems, asynchronous VLSI, object-oriented and component-based design, and computer science theory. He is the designer and lead developer of JMLUnitNG, an automated unit testing framework for Java software, and has contributed to the design and development of other widely-used software engineering and formal methods tools including AutoGrader, IDebug, and OpenJML.