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

Research Projects

Literature about design suggests that a variety of alternatives leads to a higher quality final design. When software designers, either individually or together, are designing in front of the whiteboard, they rarely explore different solution alternatives. How can we help designers to explore more design alternatives for software problems? To achieve this, we are working on a process to facilitate designers to collaborate and produce high quality software designs while considering more solution alternatives.

Research Area(s): 
Project Dates: 
April 2015

Computer games may well be the quintessential domain for software engineering R&D. Why? Modern multi-player online games (MMOG) must address core issues in just about every major area of Computer Science and SE research and education.

Project Dates: 
January 2010

Trust remains a key challenge for globally distributed teams despite decades of research. Awareness, a key component of collaboration, has even more research around it. However, detailed accounts of the interrelationship of awareness and trust are still lacking in the literature, particularly in the setting of software teams. The gap we seek to fill with this article is to examine how software tool support for awareness can engender trust among globally distributed software developers.

Project Dates: 
January 2013

We are on the cusp of a major opportunity: software tools that take advantage of Big Code. Specifically, Big Code will enable novel tools in areas such as security enhancers, bug finders, and code synthesizers. What do researchers need from Big Code to make progress on their tools? Our answer is an infrastructure that consists of 100,000 executable Java programs together with a set of working tools and an environment for building new tools.

Research Area(s): 
Project Dates: 
March 2019

Sourcerer is an ongoing research project at the University of California, Irvine aimed at exploring open source projects through the use of code analysis. The existence of an extremely large body of open source code presents a tremendous opportunity for software engineering research. Not only do we leverage this code for our own research, but we provide the open source Sourcerer Infrastructure and curated datasets for other researchers to use.

The Sourcerer Infrastructure is composed of a number of layers.

Project Dates: 
January 2006

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

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

The absence of explicit architectural constructs in mainstream programming languages has prevented software developers from achieving the many benefits of architecture-based development. To address this issue, Java 9 has introduced the Java Platform Module System (JPMS), resulting in the first instance of modules with rich software architectural interfaces added to a mainstream programming language. JPMS aims to support the encapsulation, security, and maintainability of Java applications and the JDK.

Research Area(s): 
Project Dates: 
November 2017

Pages