The increasing use of computing systems in every facet of our everyday lives raises a number of challenges for software engineering. In particular, one of the most important requirements for today's systems is high availability - even in the presence of faults, changing environmental conditions, and attacks. To address these requirements we need to be able to build systems that take more control over their own dependability, security, and usefulness - automating many of the tasks that now lead to system failures and that require computing experts and administrators to manage. This has led to a new sub-field of software engineering and systems design, sometimes termed Autonomic Computing, Self-healing Systems, or Self-Adaptive Systems. In this talk I describe this emerging field and recent advances that allow us to address various engineering challenges, including (a) the ability to support self-healing through architectural models and automated repair, (b) new techniques for diagnosing faults at run-time with applications to manufacturing control systems, (c) the ability to support self-securing systems, and (d) the ability to reason about human-in-the loop systems.
David Garlan is a Professor of Computer Science in the School of Computer Science at Carnegie Mellon University, where he has been on the faculty since 1990. He received his Ph.D. from Carnegie Mellon in 1987 and worked as a software architect in industry between 1987 and 1990. His interests include software architecture, self-adaptive systems, formal methods, and cyber-physical systems. He is a co-author of two books on software architecture: "Software Architecture: Perspectives on an Emerging Discipline", and "Documenting Software Architecture: Views and Beyond." In 2005 he received a Stevens Award Citation for "fundamental contributions to the development and understanding of software architecture as a discipline in software engineering." In 2011 he received the Outstanding Research award from ACM SIGSOFT for "significant and lasting software engineering research contributions through the development and promotion of software architecture." He is a Fellow of the ACM and the IEEE.
Keynote: Diamonds from Defects
Defects are the least celebrated part of the software development cycle. Most engineers and their managers cringe when they think of the defect backlog or the risk posed by defects that escape into the field. Researchers are not much different. While they may work hard to invent techniques to cope with them, or ways to find them faster, there is little excitement associated with thinking about defects. It does not have to be this way. And, I suspect, attitudes will change dramatically as we discover the vast treasures of software engineering knowledge hidden in these defects that once made us cringe. It is true that the root cause analysis community has valued the study of defects. The degree of detail and the splendor which we will encounter together shortly, however, is unmatched in insight we are about to uncover. To embark on this journey, we need a few tools. We begin by setting up some very basic engineering tools - such defining measurements in process space. We will exploit ideas from Orthogonal Defect Classification to get us started. From there, we will ask questions about developer behavior and process behavior. We will not concern ourselves with code behavior as this has already been researched to great depths. We will instead lift the level of abstraction from the semantics extracted from defects an area not yet explored to discover new diagnostics and insights.This will be a new journey for some. And we hope, that at the end of this, defects will have earned new respect in your eyes. There is a gem in them, and we are about to see it shine.
Ram Chillarege, is the inventor of Orthogonal Defect Classification (ODC), which brought a new order of insight into measuring and managing software engineering. He was with IBM for 14 years where he founded and headed the IBM Center for Software Engineering. He then served as Executive Vice President of Software and Technology for Opus360, New York. He received the IBM Outstanding Innovation Award for ODC in 1993. In 1995 Ram led the IBM Academy study on Software Testing culminating in forming IBM's company wide Software Test initiative. The methodology brings value through fast measurement, sophisticated analysis and targeted feedback. In 2004 Ram Chillarege received the IEEE technical achievement award for the invention of Orthogonal Defect Classification (ODC). He chairs the IEEE Steering Committee for the International Symposium on Software Reliability Engineering. He received a BSc degree from the University of Mysore, BE and ME from the Indian Institute of Science, and PhD from the University of Illinois, Urbana Champaign in Electrical and Computer Engineering.