UTCS Colloquium: Siggi Cherem/Cornell University: Compiler Support for Memory Management and Concurrency TAY 3.144 Tuesday April 29 2008 10:00 a.m.

Contact Name: 
Jenna Whitney
Date: 
Apr 29, 2008 10:00am - 11:00am

Type of Talk: UTCS Colloquium

Speaker/Afff

iliation: Siggi Cherem/Cornell University

Date/Time: Tuesday Apri

l 29 2008 10:00 a.m.

Location: TAY 3.144

Host: Keshav Pin

gali

Talk Title: Compiler Support for Memory Management and Concurr

ency

Talk Abstract:
Over the years software and hardware systems
have become
increasingly complex making the job of programmers conside

rably
harder. This is especially true for memory management and
con

currency two fundamental and challenging aspects of software
developmen

t. In this talk I''ll present two compiler tools that help
programmers
deal with these two aspects: a static analysis tool
for detecting memo

ry errors in C programs and a compiler to
automatically synchronize sh

ared memory accesses in multi-
threaded applications.

Memory-err

ors in C programs are common and difficult to debug
using traditional t

esting. FastCheck is a static error-detection tool
that finds memory er

rors such as memory leaks or double frees.
FastCheck runs orders of ma

gnitude faster than previous memory
leak detection tools yields a low

rate of false warnings and produces
concise error messages. Using a co

mbination of a sparse program
representation and a refinement-based sear

ch for errors Fastcheck
is able to focus only on parts of the program

that are relevant to
detect an error and is able to apply expensive an

alysis methods
only when necessary. Memory transactions provide a high-

level
specification of memory conflicts between threads abstracting aw

ay
how to resolve these conflicts. In the second part of my talk I wil

l
present a compiler that reads programs written with memory
transa

ctions and produces equivalent programs that use locking
primitives for
concurrency-control. Our compiler protects shared
memory accesses usin

g locks of multiple granularities choosing
fine-grain locks as much as
possible to reduce contention. This
allows us to support transactions

using a locking library instead
of specialized transactional memory ha

rdware or a sophisticated
software emulator.

Speaker Bio:
Sig

mund Cherem is a Ph.D. candidate at Cornell University
expecting to co

mplete his studies in August 2008. His research
interests are in static
program analysis and its applications in
program understanding transf

ormation and error-detection.
He completed his bachelor''s degree at U

niversidad Simon
Bolivar in Caracas Venezuela.