Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Westley Weimer
[go: Go Back, main page]

Westley Weimer

Assistant Professor of Computer Science
219 Olsson Hall
Office Hours: Friday, 2:00-3:15
O: 434-924-1021, F: 434-982-2214

Scholarship Information

I run the annual Computing and Communication Scholarship for Undergraduate Women. Applications are due by June 30th.

Teaching

In Fall 2008 I will be teaching Graduate Programming Languages.

Previous courses and evaluations:

Research

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 error reports, and program correctly. I am also interested in designing languages and language features to help prevent errors.

I believe in using concepts from other areas of computer science to help address software quality problems. I have had good luck combining elements of databases (transactional concepts and analyzing clients), systems (OS and networking), and machine learning (clustering and classification) with my research.

  • Along with Ray Buse I work on projects related to humans, source code and PL approaches to software engineering. We have focused on software readability metrics, documentation inference for exceptions and static estimates of dynamic path execution frequency.
  • Pieter Hooimeijer and I work on projects related to software model checking for concurrent and distributed software, as well as the static analysis of string-valued variables.
  • With Claire Le Goues I am working on extending current approaches to specification mining. My past work has emphasized specification mining using knowledge of exceptions situations as well as specification mining in a way that provably preserves privacy among mutually-distrusting parties. We are currently focusing on using software repository information, such as code churn and duplicate code, to aid the mining process. Specification mining is somewhat akin to learning the rules of English by analyzing a bunch of high school English papers.
  • My research group has ongoing projects about the defect reporting and resolution process -- that is, bug reports. We have developed formal models of bug report quality that can be used to predict a report's eventual resolution. We have also used natural-language processing and machine learning techniques to detect duplicate bug reports.
  • With John Knight, Dave Evans, Jack Davidson, and Anh Nguyen-Tuong I'm working on the Helix project, a self-regenerative software security architecture for defending computer systems against well-funded and determined attackers. A fundamental problem with current defenses is that they do not address the asymmetry between attackers and defenders, changing computer systems only slowly and reactively in response to attacks. In contrast, Helix will proactively monitor, adapt and reconfigure software components to present attackers with an ever changing system, thus dramatically raising the expertise and resources required for an attack.
  • I'm involved in John Knight's Echo approach to software verification, which makes formal verification practical by extracting high-level specifications from low-level annotations and by transforming programs to make them easier to verify.

In my spare time, I'm interested in what happens before and after we use PL techniques to find bugs in software. In particular, I care about what the software should be doing, how we might design languages to make sure that those things get done, and how we might fix the bugs that do get reported.

Publications

Research Group Members and Theses