Charles Wallace

Charles Wallace


Download CV

  • Associate Professor, Computer Science
  • Undergraduate Program Director, Computer Science
  • PhD, Computer Science & Engineering, University of Michigan, 1999
  • MA, Linguistics, University of California, 1992
  • BA, Linguistics, University of Pennsylvania, Philadelphia, 1989


Charles Wallace received a B.A. in Linguistics in 1989 from the University of Pennsylvania, an M.A. in Linguistics in 1992 from the University of California, Santa Cruz, and a Ph.D. in Computer Science & Engineering from the University of Michigan in 1999.  He also worked as a software developer in California for several years, and as an intern at Schlumberger, the Kestrel Institute, and Microsoft Research. In 2010, he was a Fulbright Scholar sponsored by the Universidad Catolica in Santiago, Chile.

His research focuses on how humans can better understand the software they build and use: for instance. He is particularly interested in the use of "lightweight" formal methods, harnessing the analytical power of computers to identify dark corners and hidden assumptions in software problems. He is also working on techniques to promote effective communication in software development.

Current projects include: development of mobile phone apps to facilitate participation of "citizen scientists" in environmental research, and a combined research/outreach program that trains local elderly residents in computer use and generates data on the obstacles encountered by these users.

Areas of Expertise

  • Software Requirements
  • Human-Centered Computing
  • Communication in Software Development
  • Formal Methods
  • Software Engineering Education
  • Agile Development Methods
  • Cyberlearning

Recent Publications

  • "Understanding relaxed memory consistency through interactive visualization" (Tool Demo). With O. Thorsen. ASM Symposium on Software Visualization (SOFTVIS), Salt Lake City, 2010.
  • "Abstract State Machines and the inquiry process". With J.K. Huggins. In A. Blass, N. Dershowitz and W. Reisig (eds.), Fields of Logic and Computation. Lecture Notes in Computer Science 6300, 2010.
  • "Making and acting: Ethnographic development of a case study approach". With M. Seigel and T. Vosecky. Technical Communication, 55(4), 2008.
  • "Speaking of software: Case studies in software communication". With A. Brady, M. Seigel and T. Vosecky. In H.J.C. Ellis, S.A. Demurjian and J.F. Naveda (eds.), Software Engineering: Effective Teaching and Learning Approaches and Practices. IGI Global, 2008.
  • "Addressing communication issues in software development through case studies". With A. Brady, M. Seigel and T. Vosecky. Conference on Software Engineering Education & Training (CSEET), Dublin, Ireland, 2007.
  • "RFID cards: A new deal in accessibility for the elderly". With R. Pastel and J. Heines. International Conference on Human-Computer Interaction (HCII), Beijing, China, 2007.
  • "Automated verification of UPC memory consistency". With Oystein Thorsen. Workshop on Verified Software: Theories, Tools, Experiments (VSTTE), Seattle, WA, 2006.