Colloquia: Emery Berger/University of Massachusetts Amherst DieHard: Probabilistic Memory Safety for Unsafe Languages in ACES 2.402

Contact Name: 
Jenna Whitney
May 12, 2006 11:00am - 12:00pm

Speaker Name/Affiliation: Emery Berger/University
of Massachusetts Amherst

Talk Title: DieHard: Probabilistic Memor

y Safety for Unsafe Languages

Date/Time: May 12 2006 at 11:00 a.m.

Coffee: 10:30 a.m.

Location: ACES 2.402

Host: Kathr

yn McKinley

Talk Abstract:
Applications written in unsafe languag

es like C and C++
are vulnerable to memory errors such as buffer overfl

ows dangling pointers and reads of uninitialized data. Such errors can le

ad to program crashes security vulnerabilities and unpredictable behavior

. We present DieHard a runtime system that tolerates these errors while pr

obabilistically maintaining soundness. DieHard uses randomization and repli

cation to achieve probabilistic memory safety by approximating an infinite-

sized heap. DieHard''s memory manager randomizes the location of objects in
a heap that is at least twice as large as required. This algorithm prevent

s heap corruption and provides a probabilistic guarantee of avoiding memory
errors. For additional safety DieHard can operate in a replicated mode wh

ere multiple replicas of the same application are run simultaneously. By in

itializing each replica with a different random seed and requiring agreemen

t on output the replicated version of DieHard increases the likelihood of

correct execution because errors are unlikely to have the same effect acros

s all replicas. We present analytical and experimental results that show Di

eHard''s resilience to a wide range of memory errors including a heap-base

d buffer overflow in an actual application (the Squid web cache) and a rece

nt dangling pointer error in Mozilla Firefox.

Joint work with Ben Zo

rn of Microsoft Research.

Speaker Bio:
Emery Berger is an Assista

nt Professor at the University of Massachusetts Amherst. He received his Ph

.D. at the University of Texas at Austin in 2002. Berger''s research focuse

s on improving the performance and reliability of modern computer systems.

His work spans programming languages runtime systems and operating system

s with a particular focus on memory management. Berger is the creator of H

oard a widely-used scalable memory manager and is part of a research grou

p singled out by NSF site visitors as the best memory management group in t

he country. He leads the PLASMA lab at UMass and is a 2004 NSF CAREER Award