Westley Weimer

4636 Beyster Building

Office Hours: TBA for Winter 2020 (or by appointment)

Office Phone: 734-615-9916

Teaching and Advising

In Winter 2020, I am teaching EECS 590 — Advanced Programming Languages.

I help organize our annual Climate, Diversity, Equity and Inclusion Report as well as CSE Town Halls.

I help maintain the Computer Science Graduate Job and Interview Guide which explains the CS job search process for graduate students (e.g., teaching and research statements, interviews, offers, negotations, academia and industry) and provides evidence from multiple experiences with it.

I encourage you to submit interesting work to the Genetic Improvement Workshop at ICSE 2021.

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

Madeline Endres, Ph.D. Student
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

Kevin Angstadt (moved on to St. Lawrence University)
  MCS Thesis: RAPID Programming of Pattern-Recognotion Processors (PDF Slides)
  PhD Proposal: Improving Programming Support for Hardware Accelerators Through Automata Processing Abstractions (PDF Slides)
  PhD Thesis: Improving Programming Support for Hardware Accelerators Through Automata Processing Abstractions (PDF Slides)
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

My teaching and advising have been well-received by generous students.

UM EECS 590
Advanced Programming Languages
UM EECS 481
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