Precise Concolic Unit Testing of C Programs using Extended Units and Symbolic Alarm Filtering

被引:16
|
作者
Kim, Yunho [1 ]
Choi, Yunja [2 ]
Kim, Moonzoo [1 ]
机构
[1] Korea Adv Inst Sci & Technol, Sch Comp, Daejeon, South Korea
[2] Kyungpook Natl Univ, Sch Comp Sci & Engn, Daegu, South Korea
基金
新加坡国家研究基金会;
关键词
D O I
10.1145/3180155.3180253
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Automated unit testing reduces manual effort to write unit test drivers/stubs and generate unit test inputs. However, automatically generated unit test drivers/stubs raise false alarms because they often over-approximate real contexts of a target function f and allow infeasible executions of f. To solve this problem, we have developed a concolic unit testing technique CONBRIO. To provide realistic context to f, it constructs an extended unit of f that consists off andclosely relevant functions to f. Also, CONBRIO filters out a false alarm by checking feasibility of a corresponding symbolic execution path with regard to f's symbolic calling contexts obtained by combining symbolic execution paths of f's closely related predecessor functions. In the experiments on the crash bugs of 15 real-world C programs, CONBRIO shows both high bug detection ability (i.e. 91.0% of the target bugs detected) and high precision (i.e. a true to false alarm ratio is 1:4.5). Also, CONBRIO detects 14 new bugs in 9 target C programs studied in papers on crash bug detection techniques.
引用
收藏
页码:315 / 326
页数:12
相关论文
共 26 条
  • [1] TDCT: Target-Driven Concolic Testing Using Extended Units by Calculating Function Relevance
    Fan, Meng
    Wang, Wenzhi
    Yu, Aimin
    Meng, Dan
    [J]. ALGORITHMS AND ARCHITECTURES FOR PARALLEL PROCESSING, ICA3PP 2021, PT III, 2022, 13157 : 196 - 213
  • [2] Automated Unit Testing of Large Industrial Embedded Software using Concolic Testing
    Kim, Yunho
    Kim, Youil
    Kim, Taeksu
    Lee, Gunwoo
    Jang, Yoonkyu
    Kim, Moonzoo
    [J]. 2013 28TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING (ASE), 2013, : 519 - 528
  • [3] Unit and integration testing strategies for C programs using mutation
    Vincenzi, AMR
    Maldonado, JC
    Barbosa, EF
    Delamaro, ME
    [J]. SOFTWARE TESTING VERIFICATION & RELIABILITY, 2001, 11 (04): : 249 - 268
  • [4] Relational symbolic execution of SQL code for unit testing of database programs
    Marcozzi, Michael
    Vanhoof, Wim
    Hainaut, Jean-Luc
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2015, 105 : 44 - 72
  • [5] A Method for Automated Unit Testing of C Programs
    Duc-Anh Nguyen
    Pham Ngoc Hung
    Viet-Ha Nguyen
    [J]. 2016 3RD NATIONAL FOUNDATION FOR SCIENCE AND TECHNOLOGY DEVELOPMENT CONFERENCE ON INFORMATION AND COMPUTER SCIENCE (NICS), 2016, : 17 - 22
  • [6] Scaling modified condition/decision coverage using distributed concolic testing for Java']Java programs
    Godboley, Sangharatna
    Dutta, Arpita
    Mohapatra, Durga Prasad
    Mall, Rajib
    [J]. COMPUTER STANDARDS & INTERFACES, 2018, 59 : 61 - 86
  • [7] Compositional Random Testing Using Extended Symbolic Transition Systems
    Schwarzl, Christian
    Aichernig, Bernhard K.
    Wotawa, Franz
    [J]. TESTING SOFTWARE AND SYSTEMS, 2011, 7019 : 179 - 194
  • [8] Feedback-Directed Unit Test Generation for C/C plus plus using Concolic Execution
    Garg, Pranav
    Ivancic, Franjo
    Balakrishnan, Gogul
    Maeda, Naoto
    Gupta, Aarti
    [J]. PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), 2013, : 132 - 141
  • [9] A test data generation tool for unit testing of C programs
    Xu, Zhongxing
    Zhang, Jian
    [J]. QSIC 2006: SIXTH INTERNATIONAL CONFERENCE ON QUALITY SOFTWARE, PROCEEDINGS, 2006, : 107 - +
  • [10] Test Image Generation using Segmental Symbolic Evaluation for Unit Testing
    Jameel, Tahir
    Lin, Mengxiang
    Li, He
    Hou, Xiaomei
    [J]. 2014 15TH IEEE/ACIS INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ARTIFICIAL INTELLIGENCE, NETWORKING AND PARALLEL/DISTRIBUTED COMPUTING (SNPD), 2014, : 275 - 280