Dan Zimmerman

Principal Researcher, Rigorous Software Engineering, Verifiable Elections

I have extensive experience in formal methods, high-assurance software engineering, concurrent and distributed systems, and foundations of computer science. At Galois, I am working mainly in the areas of rigorous software engineering 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 the software development process. His other research interests include security, distributed and concurrent systems, 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.