Westley Weimer

4636 Beyster Building

Office Phone: 734-615-9916

Courses at Bowdoin

This semester I am teaching two courses at Bowdoin College as a Visiting Tallman Scholar in the Department of Computer Science:

On Sabbatical Leave

I am on sabbatical leave starting September 1st, 2023.

Teaching and Advising


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.

Since I am on sabbatical this academic year, I am not in a position to write letters of recommendation (e.g., for graduate school or a job or a fellowship application, etc.). I do have information for students tries to provide some reassurance about how those deadlines and processes work — such timeline information is relevant even if you are approaching another professor. (As a special common case, if you took EECS 481 with me, you may be able to approach another 481 professor for a letter.)

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

Priscila Santiesteban, Ph.D. Student
Hammad Ahmad, Ph.D. Student
  PhD Proposal: Understanding understanding: How do we reason about computational logic? (PDF Slides)
Madeline Endres, Ph.D. Student
  PhD Proposal: Three Lenses for Improving Programmer Productivity: From Anecdote to Evidence (PDF Slides)

Emeritus Members

Dr. Zohreh Sharafi, Senior Research Fellow (moved on to Polytechnique Montréal)
Yu Huang (黄羽) (moved on to Vanderbilt University)
  MS Thesis: Circuit Design for FPGAs in Sub-Threshold Ultra-Low Power Systems (PDF Slides)
  PhD Proposal: Understanding User Cognition: from Everyday Behavior and Spatial Ability to Code Writing and Review (PDF Slides)
  PhD Thesis: Understanding User Cognition: from Spatial Ability to Code Writing and Review (PDF Slides)
Dr. Kevin Leach, Senior Research Fellow (moved on to Vanderbilt University)
  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)
Colton Holoday (moved on to MathWorks)
  Master's Degree Project: Logi: an empirical model of heat-induced disk drive data loss and the impact on file system performance
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 598
Special Topics
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