Dependent Types for Low-Level Programming
Dependent Types for Low-Level Programming
复制标题
低级编程的依赖类型
DOI:
10.1007/978-3-540-71316-6_35
复制
发表时间:
2007
影响因子:
3.2
通讯作者:
G. Necula
中科院分区:
文献类型:
--
作者:
Jeremy Condit;M. Harren;Zachary R. Anderson;David E. Gay;G. Necula
In this paper, we describe the key principles of a dependent type system for low-level imperative languages. The major contributions of this work are (1) a sound type system that combines dependent types and mutation for variables and for heap-allocated structures in a more flexible way than before and (2) a technique for automatically inferring dependent types for local variables. We have applied these general principles to design Deputy, a dependent type system for C that allows the user to describe bounded pointers and tagged unions. Deputy has been used to annotate and check a number of real-world C programs.