Faculty Presentations 1

9:15 am to 10:35 am
9:15 - 9:35
"Achieving Success in Open Software Ecosystems: The Role of Architectural Styles"
Richard N. Taylor, Director and Chancellor's Professor Emeritus, Dept. of Informatics, UC Irvine

Software ecosystems are complex systems composed of multiple independent elements interacting with the system as a whole and with each other. “Success” for an ecosystem may be judged primarily in economic terms, but may alternatively be assessed with regard to other qualities, such as reduced time-to-market, widespread use, or adaptability. Example successful ecosystems include iOS and Android apps, Rails, RESTful web services, and numerous e-commerce systems. This talk will examine the critical role that architectural styles play in making and sustaining successful software ecosystems. Architectural styles are sets of design decisions applicable to a particular context, constraining development within that context, and yielding beneficial qualities. 


Richard N. Taylor's research interests are centered on design and software architectures, especially event-based and peer-to-peer systems and the way they scale across organizational boundaries. Professor Taylor is the Director of the Institute for Software Research, which is dedicated to fostering innovative basic and applied research in software and information technologies through partnerships with industry and government. In 2005 he was awarded the ACM SIGSOFT Distinguished Service Award. In 2008 he received the International Conference on Software Engineering's "Most Influential Paper Award", along with co-authors Peyman Oreizy and Nenad Medvidovic, for "Architecture-based Runtime Software Evolution" from ICSE 1998. He received the 2009 ACM SIGSOFT Outstanding Research Award. Taylor is an ACM Fellow. 

Slides: UCI-ISRForum2014-Taylor.pdf

Video:  www.youtube.com/watch?v=DPGinBD_41k

9:35 - 9:55

"Using Games to Support Formal Verification"
Jim Whitehead, Professor and Chair of Computer ScienceUC Santa Cruz

Formal software verification requires the construction of a formal, mathematical model of the behavior of software. Once complete, this model can be used in a variety of analyses of the software. Modeling the behavior of loops--specifically, writing loop invariant expressions--is a challenging element in making formal models of software. This talk describes the computer game Xylem: The Code of Plants, whose goal is crowd-sourcing loop invariant expressions. Players of the game create mathematical expressions that model the behavior of a loop. The talk will provide an overview of Xylem, some of the challenging game design issues encountered in creating the game.


Jim is a Professor and Chair of Computer Science at the University of California, Santa Cruz, where he performs research in the fields of software evolution, software bug prediction, and automated generation of computer game levels.

Slides: UCI-ISRForum2014-Whitehead.pdf

Video:  www.youtube.com/watch?v=o4uMjxaC_Ow

9:55 - 10:15

"Diagnosing the Root of Software Problems through Automated Cause-and-Effect Sequence Analysis"
James A. Jones, Assistant Professor, Dept. of Informatics, UC Irvine

In this talk, Professor Jones will discuss research that aims to allow software developers to better understand chronologies of software for performing a number of development tasks. To enable such research, Jones and his team are creating models of software behavior that track causes and their effects, both at macro- and micro-time scales. At the macrochronologic scale, the evolution of a software codebase is precisely modeled to track the evolution of each individual line of code. At the microchronologic scale, the execution of software is precisely modeled to track the flow of data through each individual instruction execution throughout execution. Additionally, Jones and his team are creating analyses of these software models, which facilitate automated tools for software developers. These future software-development tools can help with a number of software-development tasks, such as the diagnosis of bugs, their root causes, and their effects; the identification of the developers and their committed changes that introduced or contributed to bugs; and the reverse-engineering and comprehension of formerly incomprehensible software behaviors.


James A. Jones is an Assistant Professor at the University of California, Irvine. He received his Ph.D. in Computer Science from Georgia Institute of Technology in 2008. Jones is interested in improving the quality of software and the efficiency with which it is developed and maintained. To this end, his research interests are in the areas of software analysis, testing, and visualization to enable software developers to fathom the complex internal workings of their software, specifically for finding and fixing software errors.

Video:  www.youtube.com/watch?v=uQJQb2jlLO0

10:15 - 10:35
"Coordination in Distributed Software Development "

Distributed software development poses many challenges. One of the main factors is the complexity of technical dependencies existing in the code base, which leads to complex social-technical dependencies among developers. This social-technical complexity inevitably leads to software conflicts because of coordination problems. Recently, we have been witnessing the development of new kinds of collaborative technology, and variations on existing technologies that support new collaborative development practices. New trends in organization of distributed, collaborative work and the development of new technologies supporting it result in an intriguing interplay of people and technology, which motivates my research in supporting coordination in software development. In this talk, I will discuss coordination tools developed by my group to facilitate distributed software development. In particular I will focus on tools that help in exploring software dependencies and scheduling tasks to minimize conflicts.

Anita Sarma is an Assistant Professor at the Department of Computer Science and Engineering at the University of Nebraska, Lincoln. Previously, she was a post doctoral fellow at the School of Computer Science at Carnegie Mellon University. She holds a Ph.D. degree in Information and Computer Science from the University of California, Irvine. Her research interests are at the intersection of software engineering and computer-supported cooperative work. She seeks to understand how factors such as interdependencies among work artifacts, design erosion of the work product, and organizational culture affect coordination; and create effective coordination solutions for distributed development by identifying the kinds of information required for coordination, the means of generating and distributing such information, and ways to present it. Anita regular serves on program committees in Software Engineering conferences (ICSE, ASE, ICGSE), has been the co-chair of ICSE 2014 formal demonstration track and serves as a reviewer for TSE, TOSEM, TOCHI.

Slides: UCI-ISRForum2014-Sarma.pdf

Video:  www.youtube.com/watch?v=ee3x_Uh01eo