Faculty Presentations I

10:40 am to 12:00 pm
10:40 - 11:00
Andre van der Hoek
"What Makes Expert Software Designers Successful? Examples and Insights from Practice"
André van der Hoek, Professor and Chair, Dept. of Informatics, UC Irvine

Blockchain. AI/machine learning. Security. Cloud. While these are today’s topics, they may not be tomorrow’s. In a landscape where technologies and infrastructures change orders of magnitude faster than personnel, one thing remains of constant importance: the ability of developers to be great designers.

Much goes into being a great designer: knowing the domain inside and out, understanding design thinking, and, yes, being intimately familiar with the technology at hand. Crucially important, however, is the ability to effectively keep a steady mind and balance multiple perspectives in a world of uncertainty, constant change, and competing demands on the design under consideration.

What exactly sets expert software designers apart, and what makes them have enduring design success regardless of the technology or infrastructure du jour, is the topic of this talk. Based upon decades of observations, conversations, interviews, and empirical studies of software developers ‘in action’ designing, we will present key insights into their thought and decision-making processes, use and non-use of tools and notations, reliance on colleagues, and more.


André van der Hoek serves as chair of the Department of Informatics at the University of California, Irvine and heads the Software Design and Collaboration Laboratory, which focuses on understanding and advancing the roles of design, collaboration, and education in software engineering. He is co-author of 'Software Design Decoded: 66 Ways How Experts Think' and co-editor of 'Studying Professional Software Design: a Human-Centric Look at Design Work', two unique books that detail the expert practices of professional software designers.

He has authored and co-authored over 100 peer-reviewed journal and conference publications, and in 2006 was a recipient of an ACM SIGSOFT Distinguished Paper Award. He was recognized as an ACM Distinguished Scientist in 2013, and in 2009 he was a recipient of the Premier Award for Excellence in Engineering Education Courseware. He is the principal designer of the B.S. in Informatics at UC Irvine and was honored, in 2005, as UC Irvine Professor of the Year for his outstanding and innovative educational contributions.

He holds a joint B.S. and M.S. degree in Business-Oriented Computer Science from Erasmus University Rotterdam, the Netherlands, and a Ph.D. degree in Computer Science from the University of Colorado at Boulder.

11:00 - 11:20

"Revisiting Expertise"
David Redmiles, Professor, Dept. of Informatics, UC Irvine

Prof. David Redmiles is a Professor in the Department of Informatics at the University of California, Irvine (UCI) in the Donald Bren School of Information and Computer Sciences (ICS). He is the author of nearly 200 publications integrating the areas of software engineering, human-computer interaction, and computer-supported cooperative work. He has graduated 11 PhD students and served on the dissertation committees of over 30 other PhD students. His current research focuses on distributed and collaborative software engineering, especially the aspects of awareness and trust among collaborators. He is a member of the Association for Computing Machinery (ACM) and the Institute of Electrical and Electronics Engineers (IEEE) Computer Society. He was designated an ACM Distinguished Scientist in 2011. He earned his PhD degree in 1992 at the University of Colorado, Boulder. He holds a BS (1980) in Mathematics and Computer Science and a MS (1982) in Computer Science from the American University in Washington, D.C.

Redmiles recently served as General Chair of the 2016 IEEE International Conference on Global Software Engineering (ICGSE). Previously, he served as Papers Co-Chair of the 2013 International Conference on End User Development (IS-EUD). He serves on the steering committee for both of those conferences. For many years, he was involved in the IEEE/ACM Conference on Automated Software Engineering, serving on the steering committee and organizing the 2005 conference as General Chair. That research community designated him Fellow of Automated Software Engineering in 2009 and in 2010 awarded him and his co-authors the inaugural Most Influential Paper Award for their 1996 paper on software design environments. The Argo/UML system described in that paper continues to evolve as a widely adopted design tool supported by a lively open-source community (see argouml.org).

Before his doctoral studies, he worked as a research staff member at the National Institute of Standards and Technology (NIST), formerly the National Bureau of Standards (NBS), a research agency under the US Department of Commerce. After his doctorate, he was a postdoctoral researcher for two years at the University of Colorado, Boulder, and, in 1994, joined the faculty at the University of California, Irvine.

11:20 - 11:40
"A Large-Scale Empirical Study on the Effects of Code Obfuscations on Android Apps and Anti-Malware Products"
Joshua Garcia, Associate Project Scientist, ISR, UC Irvine
The Android platform has been the dominant mobile platform in recent years resulting in millions of apps and security threats against those apps. Anti-malware products aim to protect smartphone users from these threats, especially from malicious apps. However, malware authors use code obfuscation on their apps to evade detection by anti-malware products. To assess the effects of code obfuscation on Android apps and anti-malware products, we have conducted a large-scale empirical study that evaluates the effectiveness of the top anti-malware products against various obfuscation tools and strategies. To that end, we have obfuscated 3,000 benign apps and 3,000 malicious apps and generated 73,362 obfuscated apps using 29 obfuscation strategies from 7 open-source, academic, and commercial obfuscation tools. The findings of our study indicate that (1) code obfuscation significantly impacts Android anti-malware products; (2) the majority of anti-malware products are severely impacted by even trivial obfuscations; (3) in general, combined obfuscation strategies do not successfully evade anti-malware products more than individual strategies; (4) the detection of anti-malware products depend not only on the applied obfuscation strategy but also on the leveraged obfuscation tool; (5) anti-malware products are slow to adopt signatures of malicious apps; and (6) code obfuscation often results in changes to an app’s semantic behaviors.

Joshua Garcia is an Associate Project Scientist at the Institute for Software Research at the University of California, Irvine (UCI) and the Software Engineering and Analysis Lab at UCI’s Department of Informatics in the Donald Bren School of Information and Computer Sciences. Starting this summer, he will be joining UCI’s Department of Informatics as an Assistant Professor. His current research interests include mobile security, testing, and analysis—and addressing problems of software architectural drift and erosion. He received three degrees from the University of Southern California: a B.S. in computer engineering and computer science, an M.S. in computer science, and a Ph.D. in computer science. His industrial experience includes software-engineering or research positions at the NASA Jet Propulsion Laboratory, the Southern California Earthquake Center, and Xerox Special Information Systems. Dr. Garcia will be joining the UCI ICS Dept. of Informatics as an Assistant Professor this summer.

11:40 - 12:00
"On Software and Buildings"
Cristina Videira Lopes, ISR Interim Director and Professor, Dept. of Informatics, UC Irvine
Because humans need metaphors and analogies for everything new, and also because the grass tends to be greener on the other side, the construction of software is often compared to the construction of physical buildings -- civil engineering and architecture, in particular, are often invoked as metaphorical reference points. This talk is a reflection on my recent experience with renovating a building, and how this physical construction project relates, or not, to software development.

Cristina (Crista) Videira Lopes is a Professor of Informatics in the School of Information and Computer Sciences at the University of California, Irvine. 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.