Research PDF Print E-mail

Focus

I am currently learning how static analysis tools are used in practice by software teams and developers. Static analysis tools help software writers find bugs in their code, by scanning the written source or binary. This is a new and growing project, but more information is available at the Project Website. I am conducting this research with Prof. Bill Pugh and other faculty in the Programming Languages group at the University of Maryland.

My broad interests: software defect detection, understanding users, information visualization and data insight, web interface technologies (think Web 2.0), programming languages and static analysis.

My other research:

IBM Research

I am currently (Summer 2008) interning at IBM Research with a group verbosely named "Technologies for Next Generation Pervasive Services". So my work there covers a little bit of everything, but specifically Information Visualization, Information Retrieval, HCI, and Web 2.0 Technologies (Dojo/Flex).

University of Maryland

I explored a few areas before settling on my current focus (above).

Unit Testing Concurrent Software
(with Bill Pugh)
We created a simple framework to test small concurrent abstractions. It enables test designers to guarantee a specific interleaving of two or more threads, even in the presence of blocking and timing issues. More info ...

Related Publications
William Pugh and Nathaniel Ayewah, "Unit Testing Concurrent Software", IEEE/ACM International Conference on Automated Software Engineering, Atlanta GA, Nov 5-9, 2007. Short Paper (PDF), Poster (PDF)

Marmoset: an automated snapshot, submission and testing system
(with Bill Pugh, Jaime Spacco, David Hovemeyer and others)
Marmoset is used in many University of Maryland programming courses to manage student submissions to programming assignments. It doesn't just automate the grading process, it features some incentives to encourage students to submit early and write unit tests. More info at: http://marmoset.cs.umd.edu/

PatternFinder: Visual Temporal Queries
(with Ben Shneiderman, Catherine Plaisant and others)
Broadly, PatternFinder provides a visual form for posing temporal queries and visualizes the results. Its primary application is helping medical professionals visualize patient history data. More info ...
(also check out the Interactive Visual Exploration of Electronic Health Records Workshop at the 2008 HCIL Symposium)
 
Joomla Templates and Joomla Tutorials