Zhe Zhou
Ph.D. candidate in Computer Science at Purdue University
Summary
Title
A HAT Trick: Automatically Verifying Representation InvariantsUsing Symbolic Finite Automata
Abstract
Functional programs typically interact with stateful libraries that hide state behind typed abstractions. One particularly important class of applications are data structure implementations that rely on such libraries to provide a level of efficiency and scalability that may be otherwise difficult to achieve. However, because the specifications of the methods provided by these libraries are necessarily general and rarely specialized to the needs of any specific client, any required application-level invariants must often be expressed in terms of additional constraints on the (often) opaque state maintained by the library.
In this paper, we consider the specification and verification of such representation invariants using symbolic finite automata (SFA). We show that SFAs can be used to succinctly and precisely capture fine-grained temporal and data-dependent histories of interactions between functional clients and stateful libraries. To facilitate modular and compositional reasoning, we integrate SFAs into a refinement type system to qualify stateful computations resulting from such interactions. The particular instantiation we consider, Hoare Automata Types (HATs), allows us to both specify and automatically type-check the representation invariants of a datatype, even when its implementation depends on stateful library methods that operate over hidden state.
We also develop a new bidirectional type checking algorithm that implements an efficient subtyping inclusion check over HATs, enabling their translation into a form amenable for SMT-based automated verification. We present extensive experimental results on an implementation of this algorithm that demonstrates the feasibility of type-checking complex and sophisticated HAT-specified OCaml data structure implementations layered on top of stateful library APIs.
Speaker
Zhe Zhou is currently a Ph.D. candidate in Computer Science atPurdue University, advised by Prof. Suresh Jagannathan and working closely withProf. Benjamin Delaware. Before starting his Ph.D. program, he was a full-timesoftware engineer at Magvii (Face++) from 2017 to 2018. He earned hisbachelor's degree from Peking University in 2017, where he was advised by Prof.Guangyu Sun. His research interests include programming languages (PL),particularly program verification and synthesis, property-based testing, andrefinement types. He is also interested about the intersection of machinelearning (ML) and PL—leveraging ML to address PL challenges and applying PLtechniques to enhance ML solutions.
Schedule
❖
时间:
12月16日 星期一下午 14:00
❖
腾讯会议:
会议号:130 843 248
密码:123456
❖
地点:
复旦大学江湾校区二号交叉学科楼A2003