Faculty Presentations 1

10:40 am to 12:00 pm
10:40 - 11:00
"GOT: Git, but for Objects"
Cristina Videira Lopes, Professor, Department of Informatics, UC Irvine

We look at one important category of distributed applications characterized by the existence of multiple collaborating, and competing, components sharing mutable, long-lived, replicated objects. The problem addressed by this work is that of object state synchronization among the components. As an organizing principle for replicated objects, we formally specify the Global Object Tracker (GOT) model, an object-oriented programming model based on causal consistency whose elements and interfaces mirror those found in decentralized version control systems: a version graph, working data, diffs, commit, checkout, fetch, push, and merge. We have implemented GOT in a framework called Spacetime, written in Python.

In its purest form, GOT is impractical for real systems, because of the unbounded growth of the version graph and because passing diff'ed histories over the network makes remote communication too slow. I will talk about our solution to these problems that adds some constraints to GOT applications, but that makes the model feasible in practice. Additionally, I will show a performance analysis of Spacetime for a representative workload, which shows that the additional constraints added to GOT make it not just feasible, but that it makes good use of network resources.

This work is in collaboration with PhD candidate Rohan Achar, with previous contributions by former PhD student Dr. Arthur Valadares.


Cristina Videira Lopes is a Professor of Informatics in the School of Information and Computer Sciences at the University of California, Irvine, and is the Faculty Director of the professional Master of Software Engineering (MSWE) program. Her research focuses on programming and software engineering for large-scale data and systems. Early in her career, she was a founding member of the team at Xerox PARC that developed Aspect-Oriented Programming. Along with her research program, she is also a prolific software developer. Her open source contributions include being one of the core developers of OpenSimulator, a virtual world server. She is also a founder and consultant of Encitra, a company specializing in online virtual reality for early-stage sustainable urban redevelopment projects. Her book "Exercises in Programming Style" has gained rave reviews, including being chosen as "Notable Book" by the ACM Best of Computing reviews. She has a PhD from Northeastern University, and MS and BS degrees from Instituto Superior Tecnico in Portugal. She is the recipient of several National Science Foundation grants, including a prestigious CAREER Award. She claims to be the only person in the world who is both an ACM Distinguished Scientist and Ohloh Kudos Rank 9.


11:00 - 11:20

"Maintaining Architecture-Implementation Conformance to Enable Architecture Centrality"
Yongjie Zheng, Associate Professor, Department of Computer Science and Information Systems, California State University San Marcos
Software architecture plays an important role in modern software engineering as the complexity and variability of software systems increase. Architecture centrality represents the next-generation software development paradigm. In this talk, I will present the research that I have been focusing on for the past few years to automatically maintain conformance between an architectural model and its implementation in source code. This is essential to architecture-centric software development, but fails to be addressed by existing work. The presentation will be based on the work that I published at the ACM TOSEM journal, with the focus on architecture-centric product line development. I will also briefly talk about my recent research in this area to enable architecture-based self-adaptation.

Dr. Yongjie Zheng is an associate professor in the Department of Computer Science and Information Systems at California State University San Marcos. His research interest includes software engineering, software architectures, architecture-centric software development, and software product lines. Dr. Zheng is an ISR alumnus. He received his Ph.D. degree from the Department of Informatics at UCI in 2012. His Ph.D. advisor was Professor Richard N. Taylor. Dr. Zheng’s research on software architectures was published in several software engineering conferences and journals, including ICSE 2012, ICSA 2017, ACM TOSEM 2018, and ICSE 2019 (Tool Demonstrations).

11:20 - 11:40
"Improving Quality of Software Using Bug Proneness Prediction"
Iftekhar Ahmed, Assistant Professor, Department of Informatics, UC Irvine
Software will always have bugs, and as software becomes more and more integral to our lives, software failures affect more people than ever. Our confidence in software systems depends on our confidence in the exhaustiveness of our testing. However, as software evolves and becomes more complex, the task of exhaustive testing becomes more complex and even infeasible in some cases. So, to build less error prone systems, we need to not only focus on quickly and efficiently identifying bugs through testing and verification but also on identifying and improving bug-prone parts of the code. Fixing bug-prone parts of the code can lower development time and costs also. Since software development is a complex process that requires coordination between individuals and technology, and as we look to predict and prevent future bugs, we need to examine the effect socio-technical factors have on code quality. In this talk, I will start by discussing discuss how current testing coverage criteria are weakly associated with bug-proneness. Next, I will discuss how various socio-technical factors are related to bug-proneness. Finally, I will discuss how this information can be used to predict bug-proneness

Iftekhar Ahmed is an Assistant Professor in the Department of Informatics in the Donald Bren School of Information and Computer Sciences at the University of California, Irvine. His general research interests are in the field of software engineering, with a focus on combining testing, static analysis and machine learning approaches to help improve software quality under real-world conditions. Ahmed received his Ph.D. from Oregon State University after working in the industry for 4 years. Before that, he earned his B.Sc. in Computer Science and Engineering from Shahjalal University of Science and Technology, Bangladesh.

11:40 - 12:00
"Differential Invariants for Assisting Development and Code Review" 
William Griswold, Department of Computer Science & Engineering, UC San Diego
Code changes are often reviewed before they are deployed. Popular source control systems aid code review by presenting textual differences between old and new versions of the code, leaving developers with the difficult task of determining whether the differences actually produced the desired behavior. Fortunately, we can mine such information from code repositories. We propose aiding code review with inter-version semantic differential analysis. During the review of a new commit, a developer is presented with summaries of both code differences and behavioral differences, which are expressed as diffs of likely invariants extracted by running the system's test cases. We created an invariant-mining tool chain, GETTY, applied it to the commits of 6 open source projects, assessed performance, and performed a comparative user study with 18 developers. Our results demonstrate that semantically-assisted code review is feasible, effective, and developers can leverage it to improve the quality of their reviews. In current work we have invented techniques for real-time invariant extraction, enabling the use differential invariants during development itself.
William G. Griswold is a professor of Computer Science and Engineering at the University of California, San Diego. His is interested in the evolution of large software systems, which is driven by unpredictable market forces, including the creative spark of innovation and the user's appetite for leading-edge functionality. His research in this area largely comprises two topics, infrastructure for ubiquitous computing and the invention of new programming tools, most recently in the area of aspect-oriented software development. The latter is often aided by the application of leading-edge compiler technology.
Griswold received his Ph.D. from the University of Washington, and joined the UCSD faculty in 1991. He has been the chair of ACM SIGSOFT, co-program chair of the 2005 International Conference on Software Engineering (ICSE), and program chair of the 2002 ACM SIGSOFT International Symposium on the Foundations of Software Engineering.