Model-Checking Higher-Order Programs with Recursive Types

被引:0
作者
Kobayashi, Naoki [1 ]
Igarashi, Atsushi [2 ]
机构
[1] Univ Tokyo, Tokyo 1138654, Japan
[2] Kyoto Univ, Kyoto 6068501, Japan
来源
PROGRAMMING LANGUAGES AND SYSTEMS | 2013年 / 7792卷
关键词
SCHEMES; VERIFICATION; CALCULUS; SYSTEM;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Model checking of higher-order recursion schemes (HORS, for short) has been recently studied as a new promising technique for automated verification of higher-order programs. The previous HORS model checking could however deal with only simply-typed programs, so that its application was limited to functional programs. To deal with a broader range of programs such as object-oriented programs and multithreaded programs, we extend HORS model checking to check properties of programs with recursive types. Although the extended model checking problem is undecidable, we develop a sound model-checking algorithm that is relatively complete with respect to a recursive intersection type system and prove its correctness. Preliminary results on the implementation and applications to verification of object-oriented programs and multi-threaded programs are also reported.
引用
收藏
页码:431 / 450
页数:20
相关论文
共 25 条
[11]   A Type System Equivalent to the Modal Mu-Calculus Model Checking of Higher-Order Recursion Schemes [J].
Kobayashi, Naoki ;
Ong, C. -H Luke .
24TH ANNUAL IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE, PROCEEDINGS, 2009, :179-+
[12]   Higher-Order Multi-Parameter Tree Transducers and Recursion Schemes for Program Verification [J].
Kobayashi, Naoki ;
Tabuchi, Naoshi ;
Unno, Hiroshi .
ACM SIGPLAN NOTICES, 2010, 45 (01) :495-507
[13]   Model-Checking Higher-Order Functions [J].
Kobayashi, Naoki .
PPDP'09: PROCEEDINGS OF THE 11TH INTERNATIONAL ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING, 2009, :25-36
[15]   On model-checking trees generated by higher-order recursion schemes [J].
Ong, C. -H. L. .
21ST ANNUAL IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE, PROCEEDINGS, 2006, :81-90
[16]   Verifying Higher-Order Functional Programs with Pattern-Matching Algebraic Data Types [J].
Ong, C. -H. Luke ;
Ramsay, Steven J. .
POPL 11: PROCEEDINGS OF THE 38TH ANNUAL ACM SIGPLAN-SIGACT SYMPOSIUM ON PRINCIPLES OF PROGRAMMING LANGUAGES, 2011, :587-598
[17]   Equality-based flow analysis versus recursive types [J].
Palsberg, J .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1998, 20 (06) :1251-1264
[18]   Separation logic, abstraction and inheritance [J].
Parkinson, Matthew J. ;
Bierman, Gavin M. .
ACM SIGPLAN NOTICES, 2008, 43 (01) :75-86
[19]  
Qadeer S, 2005, LECT NOTES COMPUT SC, V3440, P93
[20]   Context-sensitive synchronization-sensitive analysis is undecidable [J].
Ramalingam, G .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2000, 22 (02) :416-430