From C to Interaction Trees Specifying, Verifying, and Testing a Networked Server

被引:31
|
作者
Koh, Nicolas [1 ]
Li, Yao [1 ]
Li, Yishuai [1 ]
Xia, Li-yao [1 ]
Beringer, Lennart [2 ]
Honore, Wolf [3 ]
Mansky, William [4 ]
Pierce, Benjamin C. [1 ]
Zdancewic, Steve [1 ]
机构
[1] Univ Penn, Philadelphia, PA 19104 USA
[2] Princeton Univ, Princeton, NJ 08544 USA
[3] Yale Univ, New Haven, CT USA
[4] Univ Illinois, Chicago, IL USA
来源
PROCEEDINGS OF THE 8TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON CERTIFIED PROGRAMS AND PROOFS (CPP' 19) | 2019年
基金
美国国家科学基金会;
关键词
formal verification; testing; TCP; interaction trees; network refinement; VST; QuickChick; VERIFICATION; CORRECTNESS; ABSTRACTION;
D O I
10.1145/3293880.3294106
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present the first formal verification of a networked server implemented in C. Interaction trees, a general structure for representing reactive computations, are used to tie together disparate verification and testing tools (Coq, VST, and Quick-Chick) and to axiomatize the behavior of the operating system on which the server runs (CertiKOS). The main theorem connects a specification of acceptable server behaviors, written in a straightforward "one client at a time" style, with the CompCert semantics of the C program. The variability introduced by low-level buffering of messages and interleaving of multiple TCP connections is captured using network refinement, a variant of observational refinement.
引用
收藏
页码:234 / 248
页数:15
相关论文
共 2 条
  • [1] Specifying and Verifying Concurrent C Programs with TLA
    Methni, Amira
    Lemerre, Matthieu
    Ben Hedia, Belgacem
    Haddad, Serge
    Barkaoui, Kamel
    FORMAL TECHNIQUES FOR SAFETY-CRITICAL SYSTEMS, FTSCS 2014, 2015, 476 : 206 - 222
  • [2] Hepatitis C testing and treatment among active drug users in Amsterdam: results from the DUTCH-C project
    Lindenburg, Catharina E. A.
    Lambers, Femke A. E.
    Urbanus, Anouk T.
    Schinkel, Janke
    Jansen, Peter L. M.
    Krol, Anneke
    Casteelen, Gerty
    van Santen, Gerrit
    van den Berg, Charlotte H. S. B.
    Coutinho, Roel A.
    Prins, Maria
    Weegink, Christine J.
    EUROPEAN JOURNAL OF GASTROENTEROLOGY & HEPATOLOGY, 2011, 23 (01) : 23 - 31