Hot Research

With all the advances they have made in designing new software systems for all kinds of different domains, purposes, and users, one would think that software engineers would pay as much attention to improving the software they use themselves. After all, why would they not want to work with the best possible development tools they could imagine?

Despite all the reasons why complex simulations are desirable for decision and policy making, and despite advances in computing power, large distributed simulations are still rarely used.  The reality is that developing distributed simulations is much harder than developing non-distributed, specialized ones, and requires a much higher level of software engineering expertise.  Prof. Cristina Lopes and her students have been working on a software architecture, and a corresponding software framework, which have the goal of lowering the barriers for the simulation of large, complex systems, such as entire cities.

Mobile app markets are creating a fundamental paradigm shift in the way software is delivered to end users. By providing a medium for reaching a large consumer market at a nominal cost, app markets have leveled the software industry, allowing entrepreneurs and hobbyist programmers to compete with prominent software development companies.  The result of this has been an explosive growth in the number of new apps for platforms that have embraced this method of provisioning software, such as Android. This paradigm shift, however, has given rise to a new set of security challenges. 

The revolution in sensor technology development is changing how human behavior can be studied. It enables detailed measurements of people in their natural environments–providing big data. While some forms of big data collection may be well known to the general public (e.g. mining Twitter feeds), another paradigm for big data collection is beginning to occur: measuring human behavior in everyday life.
 

A decentralized system is a distributed system for which there is no central administrative authority to dictate how the distributed subsystems must be developed, operated, or maintained.  In decentralized systems service providers and service clients can each operate under different authority and evolve independently.  Designing and implementing these systems is a substantial challenge.  ISR Director Richard Taylor’s research group addresses these questions from a fresh perspective, COmputationAl State Transfer (COAST), an architectural style for secure and adaptive decentralized systems.  COAST constructions permit and encourage continuous accounting and systemic auditing to verify the correct operation and integrity of critical elements of a decentralized system.

A software engineer in Mountain View needs trust to collaborate with his peer in Bangalore efficiently. But they may never have the opportunity to meet each other physically. Technology is not yet good enough to produce a mini-wormhole for them to enjoy a coffee break together, but it is good enough for them to share fun images of their lattes and chat about everyday topics while they enjoy their lattes remotely, using appli-cations such as Facebook Messenger. Managers often distress when team members interact this way, thinking it a waste of time. But does informally ‘talking’ about everyday things in such ways help team members to build trust, or does it just squander valuable development time?

“Dynamism.  The quality of being characterized by change and progress.” Software, in particular, is defined by this quality.  From changing source code, contributed by teams of developers over the course of years, to billions of instructions performing calculations in the blink of an eye, software is highly dynamic. 

Although this quality can be awe-inspiring, it can also be intimidating and challenging for even the developers of the software to comprehend.  Bridging these gaps between ever-changing complexity and the need for human comprehension of these aspects of software is the subject of Professor Jim Jones’s research at UC Irvine.  

Back in the 1940s, the French writer Raymond Queneau wrote an interesting book with the title Exercises in Style featuring 99 renditions of the exact same story, each written in a different style.  It is a master piece of writing technique, as it illustrates the many different ways a story can be told.  The story being fairly trivial and always the same, the book shines the spotlight on form, rather than on content.  As such, the book is of great value to all those interested in the technical aspects of the Art of Writing, and in how the decisions we make in telling a story affect the perception of that story.

Sustainability has become a pressing concern, especially given the looming effects of climate change.  Sustainable development aims to meet present needs while ensuring sustainability of natural systems and the environment so as to not compromise the ability of future generations to meet their own needs.  Current software engineering methods, however, do not explicitly support sustainability or sustainable development.  Yet because software systems have such an enormous influence on our daily lives—in many spheres and in varying contexts—comprehensively supporting sustainability in software engineering has considerable potential for making our planet greener in the long run as well as improving our communities and our environment.

It all started with a vision, inspired by a video on YouTube of a physics professor drawing on an electronic whiteboard and being able to instantly simulate the behavior of a car barreling down a hill, jumping off, and hitting and setting in motion a variety of obstacles.  What if, Professor André van der Hoek and his graduate student Alex Baker pondered, software engineering diagrams could behave in much the same way?  What if one could quickly sketch a software architecture, and then ask the diagram to tell us how it “felt,” for instance by moving incompatible interfaces further apart, coloring server

Pages