2017  |  2016  |  2015  |  2014  |  2013  |  2012  |  2011  |  2010  |  2009  |  2008  |  2007  |  2006  |  2005  |  2004  |  2003  |  2002  |  2001  |  2000

Research Projects

One of the most difficult tasks in debugging software for a developer is to understand the nature of the fault. Techniques have been proposed by researchers that can help *locate* the fault, but mostly neglected is a way to describe the nature of the fault. We are developing software models, visualizations, and techniques to aid in the diagnosis of the faults in the software.

Research Area(s): 
Project Dates: 
August 2011

Over the last several years we have been studying how digital media affects people’s lives. Rather than bring people into a laboratory, I view the real world as a living laboratory--I go where people live, study, and work, to study them as they go about their normal activities. Digital media use affects people’s mood, stress, and behavior quite significantly. In particular, people experience disruptions when working with digital media due to multi-tasking and interruptions.

Research Area(s): 
Project Dates: 
January 2004

We developed a token-based approach for large scale code clone detection which is based on a filtering heuristic that reduces the number of token comparisons when the two code blocks are compared. We also developed a MapReduce based parallel algorithm that uses the filtering heuristic and scales to thousands of projects. The filtering heuristic is generic and can also be used in conjunction with other token-based approaches. In that context, we demonstrated how it can increase the retrieval speed and decrease the memory usage of the index-based approaches.

Project Dates: 
July 2011 to January 2014

One method of facilitating developers to understand the complex inner nature of software that we have employed is the use of information visualization. Software is often so complex that even the developers who initially created it cannot understand all of the possible runtime behaviors that it can exhibit --- specifically, all of the bugs that it may contain. In order to present large code bases with innumerable characteristics and relationships of its components (e.g., instructions, variables, values, and timings) we have developed a number of novel visualizations of software.

Research Area(s): 
Project Dates: 
May 2001

Bitcoin is a digital currency and payment platform that has been the source of much media attention. The currency is not backed by a government like most conventional currencies but is part of a democratic and dencentralized movement. Bitcoin transactions are pseudo-anonymous in a similar way to cash money. Why do people use this currency? How do their political values align with their usage of bitcoin? Furthermore, how does the community regulate itself in the absence of a formal hierarchical structure? Lastly, how do anonymous users form communities?

Research Area(s): 
Project Dates: 
October 2013

When a live site is down or time is of the essence, software teams mobilize to fix bugs as fast as possible. How might such important bugs be fixed more quickly? One answer is through crowdsourcing, where ad-hoc participants are each given small, self-contained microtasks that are then aggregated into an overall solution. To explore this idea, we are currently designing new techniques and tools for crowd debugging.

Research Area(s): 
Project Dates: 
January 2013

Cross-situational personality consistency has been of interest in social psychology since the 1960s. With the advent of the Internet, a new range of “situations” has been presented for investigating human behavior in online environments.

Project Dates: 
October 2012

To enable much of our research to enable program understanding, software quality, and maintenance, we utilize and develop analyses of program code. These analyses model the flows of information through the logic of programs and systems. With these analysis models enable automated techniques to assist development and maintenance tasks.

Research Area(s): 
Project Dates: 
March 1998

Pages