Verifying Low-Level Implementations of High-Level Datatypes

被引:0
|
作者
Conway, Christopher L. [1 ]
Barrett, Clark [1 ]
机构
[1] NYU, Dept Comp Sci, New York, NY 10003 USA
来源
关键词
LANGUAGE;
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
For efficiency and portability, network packet processing code is typically written in low-level languages and makes use of bit-level operations to compactly represent data. Although packet data is highly structured, low-level implementation details make it difficult to verify that the behavior of the code is consistent with high-level data invariants. We introduce a new approach to the verification problem, using a high-level definition of packet types as part of a specification rather than an implementation. The types are not used to check the code directly; rather, the types introduce functions and predicates that can be used to assert the consistency of code with programmer-defined data assertions. We describe an encoding of these types and functions using the theories of inductive datatypes, bit vectors, and arrays in the CVC3 SMT solver. We present a case study in which the method is applied to open-source networking code and verified within the CASCADE verification platform.
引用
收藏
页码:306 / 320
页数:15
相关论文
共 50 条
  • [1] Comparing high-level and low-level implementations of a molecular dynamics algorithm
    Travieso, G
    [J]. SECOND INTERNATIONAL WORKSHOP ON HIGH-LEVEL PARALLEL PROGRAMMING MODELS AND SUPPORTIVE ENVIRONMENTS, PROCEEDINGS, 1997, : 130 - 134
  • [2] High-Level Radio Protocol Specifications to Efficient Low-Level Implementations via Partial Evaluation
    Mainland, Geoffrey
    Shanmugam, Siddhanathan
    [J]. PROCEEDINGS OF THE 6TH ACM SIGPLAN INTERNATIONAL WORKSHOP ON FUNCTIONAL HIGH-PERFORMANCE COMPUTING (FHPC '17), 2017, : 1 - 11
  • [3] High-level views on low-level representations
    Diatchki, IS
    Jones, MP
    Leslie, R
    [J]. ACM SIGPLAN NOTICES, 2005, 40 (09) : 168 - 179
  • [4] The High-Level Benefits of Low-Level Sandboxing
    Sammler, Michael
    Garg, Deepak
    Dreyer, Derek
    Litak, Tadeusz
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2020, 4 (POPL):
  • [5] LOW-LEVEL WASTE, HIGH-LEVEL PROBLEM
    SKERRETT, PJ
    [J]. TECHNOLOGY REVIEW, 1991, 94 (06): : 9 - &
  • [6] HIGH-LEVEL BINDING WITH LOW-LEVEL LINKERS
    HAMLET, RG
    [J]. COMMUNICATIONS OF THE ACM, 1976, 19 (11) : 642 - 644
  • [7] LOW-LEVEL RADIATION - HIGH-LEVEL CONCERN
    HOLDEN, C
    [J]. SCIENCE, 1979, 204 (4389) : 155 - 158
  • [8] HIGH-LEVEL WASTE, LOW-LEVEL LOGIC
    SCHRADERFRECHETTE, K
    [J]. BULLETIN OF THE ATOMIC SCIENTISTS, 1994, 50 (06) : 40 - 45
  • [9] HIGH-LEVEL COMPILING FOR LOW-LEVEL MACHINES
    ODONNELL, C
    [J]. IFIP TRANSACTIONS A-COMPUTER SCIENCE AND TECHNOLOGY, 1993, 23 : 309 - 320
  • [10] LOW-LEVEL AND HIGH-LEVEL PROCESSES IN APPARENT MOTION
    BRADDICK, OJ
    RUDDOCK, KH
    MORGAN, MJ
    MARR, D
    [J]. PHILOSOPHICAL TRANSACTIONS OF THE ROYAL SOCIETY OF LONDON SERIES B-BIOLOGICAL SCIENCES, 1980, 290 (1038) : 137 - 151