I am pleased to invite you to the following seminar of the Faculty of Computer Science of Bolzano-Bozen.
The seminar takes place at P.za Sernesi, 1, room D101
For the complete list of the Faculty Seminar Series 2006/2007 and additional information on how to reach us, please visit the web site
06.06.07, 14:00-15:00 - Faculty of Computer Science, Free University of Bolzano-Bozen, P.za Sernesi, 1, room D101
Martin Rinard - Department of Electrical Engineering and Computer Science Computer Science and Artificial Intelligence Laboratory
Massachusetts Institute of Technology Abstract: I will present a set of simple techniques that enable software systems to survive otherwise fatal errors. The goal is to enable systems to execute through such errors, potentially with degraded functionality, to continue to serve the needs of their users. I will first address techniques for eliminating resource consumption errors such as memory leaks, file handle leaks, infinite loops, and infinite recursions. Our experimental results show that our techniques eliminate resource consumption errors in widely used programs such as Squid, Pine, and xinetd. I will also discuss failure-oblivious computing, a technique for ignoring memory addressing errors. A system that uses failure-oblivious computing checks each memory access to discard out of bounds writes and manufacture values for out of bounds reads. Our experimental results show that this technique eliminates buffer-overflow security vulnerabilities and enables widely used servers such as Apache, Pine, and Sendmail to continue to execute successfully through otherwise fatal memory errors. All of these techniques are simple to implement and deploy. They do, however, perturb the standard programming language semantics and introduce the possibility of taking the software down unanticipated execution paths. As such, they represent a significant departure from standard approaches. I will briefly discuss the benefits and risks of adopting such techniques.
CV: Martin Rinard is a Professor in the MIT Department of Electrical Engineering and Computer Science and a member of the MIT Computer Science and Artificial Intelligence Laboratory. His research interests include parallel and distributed computing, programming languages, program analysis, program verification, and software engineering. Much of his current research focuses on techniques that enable software systems to execute successfully in spite of the presence of errors. Results in this area include acceptability-oriented computing (a framework for ensuring that software systems satisfy basic acceptability properties), failure-oblivious computing (a technique for enabling programs to execute successfully through otherwise fatal memory addressing errors), and a technique for providing probabilistic bounds on the accuracy of program outputs in the presence of failures.
Reference person: Sillitti Alberto mailto:%20Alberto.Sillitti@unibz.it