Abstract: On the multi-core computer many applications will make use of parallelism to achieve speedup and concurrency to achieve responsiveness. The .NET 4 Framework introduced new abstractions for parallelism and concurrency, but achieving good performance while maintaining correctness is still difficult. In this talk, Ill describe courseware we have developed in conjunction with the University of Utah for introducing key concepts in parallelism and concurrency, with supporting code C#/F# code examples, as well as tests and new tools that support the twin goals of achieving high performing and correct code. For more info, visit http://ppcp.codeplex.com/. (Joint work with Sebastian Burckhardt, Ganesh Gopalakrishnan, Joseph Mayo, Madan Musuvathi, Shaz Qadeer, and Caitlin Sadowski).
Bio: Thomas Ball is Principal Researcher at Microsoft Research where he manages the Software Reliability Research group (http://research.microsoft.com/srr/). Tom received a Ph.D. from the University of Wisconsin-Madison in 1993, was with Bell Labs from 1993-1999, and has been at Microsoft Research since 1999. He is one of the originators of the SLAM project, a software model checking engine for C that forms the basis of the Static Driver Verifier tool. Tom's interests range from program analysis, model checking, testing and automated theorem proving to the problems of defining and measuring software quality.