Sound and Complete Concolic Testing for Higher-order Functions

被引:1
|
作者
You, Shu-Hung [1 ]
Findler, Robert Bruce [1 ]
Dimoulas, Christos [1 ]
机构
[1] Northwestern Univ, Evanston, IL 60208 USA
基金
美国国家科学基金会;
关键词
TEST-GENERATION; EXECUTION;
D O I
10.1007/978-3-030-72019-3_23
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Higher-order functions have become a staple of modern programming languages. However, such values stymie concolic testers, as the SMT solvers at their hearts are inherently first-order. This paper lays a formal foundations for concolic testing higher-order functional programs. Three ideas enable our results: (i) our tester considers only program inputs in a canonical form; (ii) it collects novel constraints from the evaluation of the canonical inputs to search the space of inputs with partial help from an SMT solver and (iii) it collects constraints from canonical inputs even when they are arguments to concretized calls. We prove that (i) concolic evaluation is sound with respect to concrete evaluation; (ii) modulo concretization and SMT solver incompleteness, the search for a counter-example succeeds if a user program has a bug and (iii) this search amounts to directed evolution of inputs targeting hard-to-reach corners of the program.
引用
收藏
页码:635 / 663
页数:29
相关论文
共 50 条
  • [1] Concolic Testing of Higher-order Functional Languages
    Sagonas, Konstantinos
    [J]. ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2019, (296): : 2 - 2
  • [2] An observationally complete program logic for imperative higher-order functions
    Honda, Kohei
    Yoshida, Nobuko
    Berger, Martin
    [J]. THEORETICAL COMPUTER SCIENCE, 2014, 517 : 75 - 101
  • [3] An observationally complete program logic for imperative higher-order functions
    Honda, K
    Yoshida, N
    Berger, M
    [J]. LICS 2005: 20th Annual IEEE Symposium on Logic in Computer Science - Proceedings, 2005, : 270 - 279
  • [4] Contracts for higher-order functions
    Findler, RB
    Felleisen, M
    [J]. ACM SIGPLAN NOTICES, 2002, 37 (09) : 48 - 59
  • [5] HIGHER-ORDER COHERENCE FUNCTIONS
    NATH, R
    [J]. LETTERE AL NUOVO CIMENTO, 1978, 23 (13): : 494 - 496
  • [6] Contracts for Higher-Order Functions
    Findler, Robert Bruce
    Felleisen, Matthias
    [J]. ACM SIGPLAN NOTICES, 2013, 48 (04) : 34 - 45
  • [7] TESTING FOR HIGHER-ORDER INTERACTIONS
    CASE, TJ
    BENDER, EA
    [J]. AMERICAN NATURALIST, 1981, 118 (06): : 920 - 929
  • [8] STRICTNESS ANALYSIS FOR HIGHER-ORDER FUNCTIONS
    BURN, GL
    HANKIN, C
    ABRAMSKY, S
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 1986, 7 (03) : 249 - 278
  • [9] HIGHER-ORDER DERIVATIVES OF CONNECTED FUNCTIONS
    HUSTY, Z
    [J]. CZECHOSLOVAK MATHEMATICAL JOURNAL, 1990, 40 (03) : 528 - 533
  • [10] The higher-order derivatives of spectral functions
    Sendov, Hristo S.
    [J]. LINEAR ALGEBRA AND ITS APPLICATIONS, 2007, 424 (01) : 240 - 281