Concurrent programming often requires processes to communicate according to intricate protocols. In mainstream programming languages these protocols are encoded implicitly in the program’s control flow, and no support is available for verifying their correctness. In this talk we will see a type-based analysis to infer the communication protocols over channels in an ML-like concurrent functional language. Combining and extending well-known techniques, this type-checking system separates the underlying programming language type system from protocol typing and inference. The system guarantees communication safety and partial lock freedom. It also supports provably complete protocol inference for finite sessions with no programmer annotations.
Prof Vasileios Koutavas is a Lero Research Centre funded investigator, and an Assistant Professor in Software Systems with the School of Computer Science and Statistics at Trinity College Dublin, Ireland. His research team is building new programming language technology to make state-of-the-art computing reliable and easy to program, and is developing foundations and formal methods for parallel and distributed software systems.