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

http://www.unibz.it/inf/facultyseminarseries2007majorevents/index.html?LanguageID=EN

06.06.07, 14:00-15:00 - Faculty of Computer Science, Free University of Bolzano-Bozen, P.za Sernesi, 1, room D101  

 http://www.unibz.it/images/template/1pixel.gif
Eliminating Fatal Errors in Software Systems
Martin Rinard

Printhttp://www.unibz.it/images/template/1pixel.gif

 

http://www.unibz.it/images/template/1pixel.gif

http://www.unibz.it/images/template/1pixel.gif

http://www.unibz.it/images/template/unibzlogo_news.jpg

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