home · mobile · calendar · colloquia · 2010-2011 · 

Colloquium - Wang

Symbolic Predictive Analysis for Concurrent Programs
NEC Laboratories

Multi-core and multi-processor systems are becoming increasingly popular. However, our ability to effectively harness the power of parallelism is predicated upon advances in tools and algorithms for verifying concurrent programs. Concurrent programs are notoriously difficult to verify, and a key reason for this is the behavioral complexity resulting from the large number of interleavings of concurrent threads.

In this talk, I will introduce a symbolic predictive analysis for runtime detection of concurrency errors, by monitoring and subsequently analyzing the execution traces of a program. In this analysis, we first derive a symbolic predictive model using the trace information collected at run time as well as the program source code. What this model captures are not just the given traces, but all possible interleavings of events of these traces. Then we use symbolic reasoning to check whether there are concurrency errors in any of these interleavings. This is done by capturing these interleavings and the error conditions using a set of first-order logic formulas, and then deciding the formulas using an off-the-shelf Satisfiability Modulo Theory (SMT) solver.

Chao Wang is a researcher at NEC Laboratories in Princeton, New Jersey. His current research is on the analysis and verification of concurrent systems. He is also interested in programming languages, software engineering, constraint solvers, and electronic design automation. He received a BS degree from Peking University, China, in 1996. He received a PhD degree in Electrical and Computer Engineering from University of Colorado Boulder in 2004. He won the 2003-2004 ACM Outstanding PhD Dissertation Award in Electronic Design Automation.

Hosted by Sriram Sankaranarayanan.

Department of Computer Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
May 5, 2012 (14:13)