I am pleased to announce that Koushik Sen (UC-Berkeley)
will visit on June 23. Let me know if you would like to meet
with him during that day (and what your availability is).
Tom
===========================================
CS Events for Thursday, June 23, 2011
Programming Languages Seminar
Specifying and Checking Correctness of Parallel Programs
Koushik Sen, Department of Electrical Engineering and Computer
Sciences, University of California, Berkeley
Time: 4:00 pm, Room 1240 CS
Cookies: 3:30 pm, Room 1240 CS
The spread of multicore processors and manycore graphics
processing units has greatly increased the need for parallel
correctness tools. Reasoning about parallel multi-threaded
programs is significantly more difficult than for sequential
programs due to non-determinism. We believe that the only way to
tackle this complexity is to separate reasoning about parallelism
correctness (i.e., that a parallel program gives the same outcome
despite thread interleavings) from reasoning about functional
correctness (i.e., that the program produces the correct outcome
on a thread interleaving). In this talk, I will describe two
fundamental techniques for separating the parallelization
correctness aspect of a program from its functional correctness.
The first idea consists of extending programming languages with
constructs for writing specifications, called bridge assertions,
that focus on relating outcomes of two parallel executions
differing only in thread-interleavings. The second idea consists
of allowing a programmer to use a non- deterministic sequential
program as the specification of a parallel one. For functional
correctness, it is then enough to check the sequential program.
For parallelization correctness, it is sufficient to check the
deterministic behavior of the parallel program with respect to the
non- deterministic sequential program. To check parallel
correctness, we have developed a new scalable automated method for
testing and debugging, called active testing. Active testing
combines the power of imprecise program analysis with the
precision of software testing to quickly discover concurrency bugs
and to reproduce discovered bugs on demand.
Bio: Koushik Sen is an Assistant Professor in the Department of
Electrical Engineering and Computer Sciences at the University of
California, Berkeley. His research interest lies in Software
Engineering, Programming Languages, and Formal methods. He is
interested in developing software tools and methodologies that
improve programmer productivity and software quality. He is best
known for his work on directed automated random testing and
concolic testing. He has received a NSF CAREER Award in 2008, a
Haifa Verification Conference (HVC) Award in 2009, a IFIP TC2
Manfred Paul Award for Excellence in Software: Theory and Practice
in 2010, and a Sloan Foundation Fellowship in 2011. He has won
three ACM SIGSOFT Distinguished Paper Awards. He received the C.L.
and Jane W- S. Liu Award in 2004, the C. W. Gear Outstanding
Graduate Award in 2005, and the David J. Kuck Outstanding Ph.D.
Thesis Award in 2007 from the UIUC Department of Computer Science.
He holds a B.Tech from Indian Institute of Technology, Kanpur, and
M.S. and Ph.D. in CS from University of Illinois at
Urbana-Champaign.
|
|