Westley Weimer

Associate Professor of Computer Science
423 Rice Hall
Office Hours: Wednesdays, 2:30-3:30
O: 434-924-1021, F: 434-982-2214


Previous Courses and Evaluations


My main research interest lies in advancing software quality by using both static and dynamic programming language approaches. I am particularly concerned with automatic or minimally-guided techniques that can scale and be applied easily to large, existing programs. I believe that finding bugs is insufficient, and I also work to help programmers address defects, understand programs, and program correctly.

Current major research thrusts:

  • GenProg: Evolutionary Program Repair. We have pioneered techniques to synthesize repairs for defects in legacy programs using only standard testcases (no code annotations or formal specifications). We use special program representations and modification operators to search through the space of candidate patches until one is found that passes all of the testcases but does not demonstrate the error. This work is a collaboration with Stephanie Forrest and Claire Le Goues.
  • The Analysis of Non-Executable Artifacts. Source code is not the only artifact of the software development process. We have designed algorithms and conducted human studies related to synthesizing program documentation, understanding software readability, dealing with defect reports, and predicting run-time execution frequency.
  • Improving Non-Functional Software Properties. Beyond functional correctness, a number of other properties are important to software. Aspects as diverse as power consumption, maintainability, and visual fidelity are all important in some domains. We have developed techniques to improve or trade-off these non-functional properties in software automatically.


Research Group Members and Theses

Emeritus and Honorary Research Group Members

Grad Job Guide

Claire Le Goues and I have written an article explaining the CS job search process (e.g., teaching and research statements, interviews, offers) and our experiences with it. (mirror)

Other Trivia

Others create wit and wisdom, I just collect it. In my copious spare time, I play games and do other things. Our local bridge reference card is also available.

Ever wanted a free unix utility to split a PDF file (e.g., break pages 10-20 of big.pdf out into small.pdf)? After searching through a bunch of hideous non-working shareware utilities, I found that standard ghostscript (gs) will do the job. Here's a free unix shell script that invokes all of the right magic options for you. I use this to split apart NSF grant proposals into the required separate files (e.g., description here, references there).

Curious about the secret lives of PL profs? Indicative boring hiking photos are available.

A student rendering of me is available, as is a fondant sculpture and a gingerbread cookie.

Wes Weimer, Fall 2009
CS415 Spring 2007 Class Fencing
CS 615, Halloween 2008