2020  |  19  |  18  |  17  |  16  |  15  |  14  |  13  |  12  |  11  |  10  |  09  |  08  |  07  |  06  |  05  |  04  |  03  |  02  |  01  |  00  |  99

Research Projects

The development of a software system is now ever more frequently a part of a larger development effort, including multiple software systems that co-exist in the same environment: a software ecosystem. Though most studies of the evolution of software have focused on a single software system, there is much that we can learn from the analysis of a set of interrelated systems. Topic modeling techniques show promise for mining the data stored in software repositories to understand the evolution of a system.

Project Dates: 
April 2012 to December 2014

Savasana is the first white-box approach that uses code analysis for reasoning about consistency of adaptation.

Savasana consists of two parts: Static Code Analysis runs on the system's code and Run-time Control manages the corresponding running system.

Research Area(s): 
Project Dates: 
January 2016

We developed a fault-localization technique that utilized correlation-based heuristics. The technique and tool was called Tarantula.  Tarantula uses the pass/fail statuses of test cases and the events that occurred during execution of each test case to offer the developer recommendations of what may be the faults that are causing test-case failures. The intuition of the approach is to find correlations between execution events and test-case outcomes --- those events that correlate most highly with failure are suggested as places to begin investigation.

Research Area(s): 
Project Dates: 
May 2001

The Internet of Things (IoT) is an emerging technology powered by smart devices that increasingly pervades our environments and practices. The process of incorporating technology into one's practices involves use and adaptation of the technology and is usually referred to as appropriation. In research about IoT, appropriation of IoT technology is a rather new topic. It is necessary to understand how appropriation takes place in order to be able to provide strong support for it in the design of technology.

Research Area(s): 
Project Dates: 
January 2017

Software designers frequently sketch when they design, particularly during the early phases of exploration of a design problem and its solution. In so doing, they shun formal design tools, opting for the whiteboard of pen/paper instead.  Calico is a sketch-based distributed software design tool that supports software designers with a variety of features that improve over the use of just pen-and-paper or a regular whiteboard, and are tailored specifically for early software design on tablets and electronic whiteboards.

Project Dates: 
January 2007

The fantasy genre has captivated our attention in popular media for decades, providing us with inspiring imagery of valiant fighters and enchanting spell casters.  Guild Wars 2, a massively multiplayer online game (MMO), introduces a range of races and characters not found in the traditional fantasy genre.  When first experiencing a new fantasy world, does knowledge and information gained from previously consumed media influence players’ interpretations of new fantasy environments?

Research Area(s): 
Project Dates: 
January 2013

Although a wide variety of approaches identify vulnerabilities in Android apps, none attempt to determine exploitability of those vulnerabilities. Exploitability can aid in reducing false positives of vulnerability analysis, and can help engineers triage bugs. Specifically, one of the main attack vectors of Android apps is their inter-component communication (ICC) interface, where apps may receive messages called Intents.

Research Area(s): 
Project Dates: 
January 2017

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

Pages