Reliable Software Design With Built-In Repair Mechanisms


Featuring:
Brian Demsky, Ph.D.
Assistant Professor, Electrical Engineering and Computer Science, UC Irvine

Location: McDonnell Douglas Engineering Auditorium

ABSTRACT:
Programs often make assumptions about the correctness of previously executed instructions.  Errors that cause data structures to become inconsistent or cause the program to execute down an incorrect path or can therefore be especially damaging, since they may cause the future execution of the software system to behave unacceptably or even fail catastrophically.

In this talk, I will present my previous work on specification-based approach to data structure repair and discuss ongoing work that will enable recovering from errors that cause the program to execute down an incorrect path.  In my specification-based approach to data structure repair, the developer simply writes a declarative specification of the key consistency properties for the data structures.  My repair algorithm generator then compiles this specification to automatically generate a repair algorithm for the data structure.  The automatically-generated repair algorithm is guaranteed to repair the inconsistencies in damaged data structures and to terminate.  I have evaluated my specification-based repair technique on several real-world applications.  My repair technique successfully enabled these programs to execute through otherwise fatal data structure corruption errors.

ABOUT THE SPEAKER:
Brian Demsky is an assistant professor in the Department of Electrical Engineering and Computer Science at the University of California at Irvine.  He received a Ph.D. and a S.M. in Computer Science from the Massachusetts Institute of Technology, and a BS in Physics and a BS in Electrical Engineering from the University of Texas at Austin.  His research addresses software reliability, compilation, software debugging, and program understanding.


For a complete list of EECS Colloquium lectures,
please visit: http://www.eng.uci.edu/dept/eecs/colloquium