Assertion Recommendation for Formal Program Verification

被引:9
|
作者
Wang, Cong [1 ]
He, Fei [1 ]
Song, Xiaoyu [2 ]
Jiang, Yu [1 ]
Gu, Ming [1 ]
Sun, Jiaguang [1 ]
机构
[1] Tsinghua Univ, Sch Software, Beijing, Peoples R China
[2] Portland State Univ, Dept ECE, Portland, OR 97201 USA
关键词
D O I
10.1109/COMPSAC.2017.66
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Formal program verification is a powerful technique to ensure the correctness of programs. To perform this technique, one oftentimes needs to manually specify assertions, which is a time-consuming and error-prone task. Generating assertions automatically can significantly improve the usability of formal program verification. To decide where an assertion is needed heavily and which value range of the variable should be checked are the most challenging parts of assertion recommendation. This paper proposes the first assertion recommendation approach for program verification. With the help of machine learning techniques, the approach automatically decides whether a program function needs to add assertions. If an assertion is needed, the approach automatically recommends a variable that is most likely to occur in this assertion. Meanwhile, a value range of the variable is suggested. Our method of assertion recommendation has been integrated into Ceagle Online(1) (a program verifier) and evaluated on the benchmarks of SV-COMP and CProver. Our best performance in assertion necessity classification can reach 92.1192% accuracy rate, 84.2281% precision rate and 86.8512% recall rate.
引用
收藏
页码:154 / 159
页数:6
相关论文
共 50 条
  • [21] A FORMAL APPROACH ON SPECIFICATION MODELING TO SUPPORT INDUSTRIAL PLC PROGRAM VERIFICATION
    De, Soumen
    Sethuraman, Nagarajan
    Yuan, Chengyin
    IMECE 2008: PROCEEDINGS OF THE ASME INTERNATIONAL MECHANICAL ENGINEERING CONGRESS AND EXPOSITION, VOL 7: EMERGING TECHNOLOGIES RECENT ADVANCES IN ENGINEERING, 2009, : 59 - 67
  • [22] Formal verification of a compiler back-end generic checker program
    Dold, A
    Vialard, V
    PERSPECTIVES OF SYSTEM INFORMATICS, 2000, 1755 : 470 - 480
  • [23] On the Mutual Dependence Between Formal Methods and Empirical Testing in Program Verification
    Nicola Angius
    Philosophy & Technology, 2020, 33 (2) : 349 - 355
  • [24] Formal Verification
    Meenakshi, B.
    RESONANCE-JOURNAL OF SCIENCE EDUCATION, 2005, 10 (05): : 26 - 38
  • [25] HELIX: A Case Study of a Formal Verification of High Performance Program Generation
    Zaliva, Vadim
    Franchetti, Franz
    FHPC'18: PROCEEDINGS OF THE 7TH ACM SIGPLAN INTERNATIONAL WORKSHOP ON FUNCTIONAL HIGH-PERFORMANCE COMPUTING, 2018, : 1 - 9
  • [26] Formal verification
    B Meenakshi
    Resonance, 2005, 10 (5) : 26 - 38
  • [27] Instrumenting AMS Assertion Verification on Commercial Platforms
    Mukhopadhyay, Rajdeep
    Panda, S. K.
    Dasgupta, Pallab
    Gough, John
    ACM TRANSACTIONS ON DESIGN AUTOMATION OF ELECTRONIC SYSTEMS, 2009, 14 (02)
  • [28] Assertion-based verification turns the corner
    Gupta, A
    IEEE DESIGN & TEST OF COMPUTERS, 2002, 19 (04): : 131 - 131
  • [29] Assertion-Based Verification of RTOS Properties
    Oliveira, Marcio F. S.
    Zabel, Henning
    Mueller, Wolfgang
    2010 DESIGN, AUTOMATION & TEST IN EUROPE (DATE 2010), 2010, : 630 - 633
  • [30] Statically-Directed Assertion Recommendation for C Programs
    Wang, Cong
    Kang, Le
    Zhang, Renwei
    Yin, Weiliang
    2019 IEEE 43RD ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), VOL 1, 2019, : 1 - 10