Westley Weimer

4636 Beyster Building

Office Hours: Mondays 4:00-4:30, Tuesdays 11:30-Noon

Office Phone: (734) 615-9916

Teaching and Advising

Accepting Students

I am currently seeking new PhD students and new first- through third-year undergraduate researchers. If you are interested, check out some of the research projects below and then send me an email to set up a meeting to discuss things in person.

This semester I am teaching EECS 590 Advanced Programming Languages.

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:

Publications

Research Group

Kevin Angstadt, Ph.D. Student
  MCS Thesis: RAPID Programming of Pattern-Recognotion Processors (PDF Slides)
Yu Huang (黄羽), Ph.D. Student
  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)

Emeritus Members

Jonathan Dorn (moved on to TBA) (co-advised with Jason Lawrence)
  PhD Thesis: Optimizing Tradeoffs of Non-Functional Properties in Software (PDF Slides)
  MCS Thesis: A General Software Readability Model (PDF Slides)
  PhD Proposal: Improving Programs Through Source Code Transformations (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

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