Waterloo Programming Languages Seminars

Previous terms: W07 F06 S06 W06

Current term:

Date Speaker Title (click for abstract) Location
Nov. 21, 2007 at 2 pm Jun Chen Testing Concurrent Programs using Value Schedules DC 2314

All are welcome.

Talk announcements are also posted to a public mailing list.

To volunteer to give a talk, contact Ondřej Lhoták. Talks can range from informal to formal, and they can be about any of the following:

The purpose is for us all to see what people are interested in, and motivate discussions.


Testing Concurrent Programs using Value Schedules

Jun Chen
Nov. 21, 2007
Concurrent programs are difficult to debug and verify because of the nondeterministic nature of concurrent executions. A particular concurrent related bug may only show up under certain thread interleavings. Therefore, the commonly used debugging methodologies, such as inserting print statements, are no longer sufficient for debugging concurrent programs. On the other hand, existing verification techniques, such as model checking, for full interleaving coverage generally require excessive amount of computational resource, therefore are unsuitable for debugging purposes.

In this paper, we introduce a new technique for debugging and verifying concurrent programs by controlling the execution of concurrent programs according to some relevant interleavings. We would describe how those relevant interleavings could be statically and dynamically computed. Moreover, we would show how interleavings are efficiently enforced upon concurrent program executions. Our technique could abstract away nondeterministic nature of executions from developers during debugging. Moreover, our technique demonstrates the ability of achieving good interleaving coverage without incurring excessive state-space explosion as in traditional verification methods.