Westley Weimer

4636 Beyster Building

Office Hours: Wednesdays 2:30-3:00 for Winter 2020 (or by appointment) (check 2909 if not in 4636)

Office Phone: 734-615-9916

Teaching and Advising

In Fall 2019 I am teaching EECS 481 Software Engineering.

I helped organize a CSE Townhall on Diversity and Climate; my notes on the issues raised by concerned and thoughtful students are available.

Claire Le Goues, Zachary Fry and I have written an article explaining the CS job search process for graduate students (e.g., teaching and research statements, interviews, offers, negotations, academia and industry) and our experiences with it from 2005 to 2014.

Research Projects

My current main research interests relate to consciousness, time, and advancing software quality by using both static and dynamic programming language approaches. On the purely-CS side, 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 interests and areas:


Research Group

Kevin Angstadt, Ph.D. Student
  MCS Thesis: RAPID Programming of Pattern-Recognotion Processors (PDF Slides)
  PhD Proposal: Improving Programming Support for Hardware Accelerators Through Automata Processing Abstractions (PDF Slides)
Madeline Endres, Ph.D. Student
Colton Holoday, Ph.D. Student (co-advised with Todd Austin)›
Yu Huang (黄羽), Ph.D. Student
  PhD Proposal: Understanding User Cognition: from Everyday Behavior and Spatial Ability to Code Writing and Review (PDF Slides)
  MS Thesis: Circuit Design for FPGAs in Sub-Threshold Ultra-Low Power Systems (PDF Slides)
Dr. Kevin Leach, Senior Research Fellow
  PhD Proposal: Transparent System Introspection in Support of Analyzing Stealthy Malware (PDF Slides)
  PhD: Transparent System Introspection in Support of Analyzing Stealthy Malware (PDF Slides)
Dr. Zohreh Sharafi, Senior Research Fellow

Emeritus Members

Jonathan Dorn (moved on to GrammaTech) (co-advised with Jason Lawrence)
  MCS Thesis: A General Software Readability Model (PDF Slides)
  PhD Proposal: Improving Programs Through Source Code Transformations (PDF Slides)
  PhD Thesis: Optimizing Tradeoffs of Non-Functional Properties in Software (PDF Slides)
Jamie Floyd (moved on to Apogee Research)
  MCS Thesis: N-Prog: A Framework for Proactive Coarse-Grained Diversity
Anish Tondwalkar (moved on to UC San Diego)
  MS Thesis: Finding and Fixing Bugs in Liquid Haskell (PDF Slides)
Zachary P. Fry (moved on to GrammaTech)
  MCS Thesis: Fault Localization Using Textual Similarities (PDF Slides)
  PhD Proposal: Leveraging Light-Weight Analyses to Aid Software Maintenance (PDF Slides)
  PhD: Leveraging Light-Weight Analyses to Aid Software Maintenance (PDF Slides)
Claire Le Goues (moved on to Carnegie Mellon University)
  MS Thesis: Specification Mining with Few False Positives (PDF Slides)
  PhD Proposal: Automatic, Efficient, and General Repair of Software Defects using Lightweight Program Analyses (PDF Slides)
  PhD: Automatic Program Repair Using Genetic Programming (PDF Slides)
Adam Brady (moved on to Google) (co-advised with Jason Lawrence)
  MCS Thesis: genBRDF: Synthesizing Novel Analytic BRDFs with Genetic Programming (PPTX Slides)
Pieter Hooimeijer (moved on to Facebook)
  MS Thesis: Generating String Inputs Using Constrained Symbolic Execution (PDF Slides)
  PhD Proposal: Decision Procedures for String Constraints (PDF Slides)
  PhD:Decision Procedures for String Constraints (PPTX Slides)
Raymond P.L. Buse (moved on to Google)
  MCS Thesis: Automatic Documentation Inference for Exceptions (PDF Slides)
  PhD Proposal: Automatically Describing Program Structure and Behavior (PDF Slides)
  PhD: Automatically Describing Program Structure and Behavior (PDF Slides)
Kinga Dobolyi (moved on to George Mason University)
  MS Thesis: Changing Java's Semantics for Handling Null Pointer Exceptions (PDF Slides)
  PhD Proposal: An Exploration of User-Visible Errors to Improve Fault Detection in Web-based Applications (PPT Slides)
  PhD: An Exploration of User-Visible Errors in Web-based Applications to Improve Web-based Applications (PDF Slides)

Past Courses

Advanced Programming Languages
Software Engineering
UVA CS 1120
Introduction to Computing
UVA CS 4610/4501
Programming Languages
UVA CS 6610
Programming Languages
UVA CS 8561
Programming Languages Topics
Udacity CS 262
Building a Web Browser