We develop efficient dynamic programming algorithms for pattern matching with general gaps and character classes. We consider patterns of the form p0g(a0, b0)p1g(a1, b1) . . . pm-1...
In object-oriented programming, reentrant method invocations and shared references make it difficult to achieve adequate encapsulation for sound modular reasoning. This tutorial p...
Optimistic concurrency algorithms provide good performance for parallel programs but they are extremely hard to reason about. Program logics such as concurrent separation logic and...
Ming Fu, Yong Li, Xinyu Feng, Zhong Shao, Yu Zhang
In object-oriented programming, reentrant method invocations and shared references make it difficult to achieve adequate encapsulation for sound modular reasoning. This tutorial p...