@MISC{Feng_researchstatement, author = {Xinyu Feng}, title = {Research Statement}, year = {} }
Share
OpenURL
Abstract
My research interests are in the area of programming languages and formal methods. In particular, I am interested in developing theories, programming languages and tools to build formally certified system software, with rigorous guarantees of safety and correctness. Low-level system programs, e.g. thread libraries, garbage collectors, OS kernels and hypervisors, form the backbone of almost every safety-critical software system in the world. It is thus highly desirable to formally certify the correctness of these programs. With formal specifications and provably safe components, certified system software can provide a trustworthy computing platform for high-level user applications. The major challenges to certify system software are the inherent complexity and the lack of abstractions. System software consists of program modules that use many programming language features and span different abstraction levels, including the lowest architecture-dependent level. Many of these features, e.g. concurrency, interrupts and low-level assembly code, are very difficult to certify in a modular way. Moreover, it is extremely difficult to design a single verification system (e.g., type system or program logic) supporting all these features and abstraction levels. For instance, most type-safe languages require garbage collectors, which, however, cannot be implemented using these languages themselves. Another example is that existing logics for concurrency verification all assume correct implementations of threads, including