Data-Driven Abductive Inference of Library Specifications

被引:9
|
作者
Zhou, Zhe [1 ]
Dickerson, Robert [1 ]
Delaware, Benjamin [1 ]
Jagannathan, Suresh [1 ]
机构
[1] Purdue Univ, W Lafayette, IN 47907 USA
来源
关键词
Automated Verification; Data-Driven Specification Inference; Data Structures; Decision Tree Learning; Counterexample Guided Refinement;
D O I
10.1145/3485493
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Programmers often leverage data structure libraries that provide useful and reusable abstractions. Modular verification of programs that make use of these libraries naturally rely on specifications that capture important properties about how the library expects these data structures to be accessed and manipulated. However, these specifications are often missing or incomplete, making it hard for clients to be confident they are using the library safely. When library source code is also unavailable, as is often the case, the challenge to infer meaningful specifications is further exacerbated. In this paper, we present a novel data-driven abductive inference mechanism that infers specifications for library methods sufficient to enable verification of the library's clients. Our technique combines a data-driven learning-based framework to postulate candidate specifications, along with SMT-provided counterexamples to refine these candidates, taking special care to prevent generating specifications that overfit to sampled tests. The resulting specifications form a minimal set of requirements on the behavior of library implementations that ensures safety of a particular client program. Our solution thus provides a new multi-abduction procedure for precise specification inference of data structure libraries guided by client-side verification tasks. Experimental results on a wide range of realistic OCaml data structure programs demonstrate the effectiveness of the approach.
引用
收藏
页数:29
相关论文
共 50 条
  • [21] DATA-DRIVEN INFERENCE AND DECISION MAKING UNDER UNCERTAINTY
    Yang, Jian-Bo
    Xu, Dong-Ling
    [J]. 2016 BAASANA INTERNATIONAL CONFERENCE PROCEEDINGS, 2016, : 181 - 182
  • [22] Welcome to the Library: Data-Driven Student Worker Empowerment
    Carrillo, Elena
    Scoulas, Jung Mi
    [J]. EVIDENCE BASED LIBRARY AND INFORMATION PRACTICE, 2020, 15 (02): : 139 - 143
  • [23] Direct data-driven design of LPV controllers with soft performance specifications
    van Meer, Max
    Breschi, Valentina
    Oomen, Tom
    Formentin, Simone
    [J]. JOURNAL OF THE FRANKLIN INSTITUTE-ENGINEERING AND APPLIED MATHEMATICS, 2022, 359 (02): : 816 - 836
  • [24] Data-driven controller synthesis for abstract systems with regular language specifications
    Pola, Giordano
    Masciulli, Tommaso
    De Santis, Elena
    Di Benedetto, Maria Domenica
    [J]. AUTOMATICA, 2021, 134
  • [25] Autonomous State Inference for Data-Driven Optimization of Neural Modulation
    Cole, Eric R.
    Connolly, Mark J.
    Park, Sang-Eon
    Grogan, Dayton P.
    Buxton, William
    Eggers, Thomas E.
    Laxpati, Nealen G.
    Gross, Robert E.
    [J]. 2021 10TH INTERNATIONAL IEEE/EMBS CONFERENCE ON NEURAL ENGINEERING (NER), 2021, : 950 - 953
  • [26] Data-driven causal inference based on a modified transfer entropy
    Shu, Yidan
    Zhao, Jinsong
    [J]. COMPUTERS & CHEMICAL ENGINEERING, 2013, 57 : 173 - 180
  • [27] Data-driven forward model inference for EEG brain imaging
    Hansen, Sofie Therese
    Hauberg, Soren
    Hansen, Lars Kai
    [J]. NEUROIMAGE, 2016, 139 : 249 - 258
  • [28] Model-free Data-Driven inference in computational mechanics
    Prume, E.
    Reese, S.
    Ortiz, M.
    [J]. COMPUTER METHODS IN APPLIED MECHANICS AND ENGINEERING, 2023, 403
  • [29] Data-driven causal inference based on a modified transfer entropy
    Shu, Yidan
    Zhao, Jinsong
    [J]. 11TH INTERNATIONAL SYMPOSIUM ON PROCESS SYSTEMS ENGINEERING, PTS A AND B, 2012, 31 : 1256 - 1260
  • [30] Robust data-driven inference in the regression-discontinuity design
    Calonico, Sebastian
    Cattaneo, Matias D.
    Titiunik, Rocio
    [J]. STATA JOURNAL, 2014, 14 (04): : 909 - 946