Parallel Symbolic Execution for Automated Real-World Software Testing

被引:0
|
作者
Bucur, Stefan [1 ]
Ureche, Vlad [1 ]
Zamfir, Cristian [1 ]
Candea, George [1 ]
机构
[1] Ecole Polytech Fed Lausanne, Sch Comp & Commun Sci, CH-1015 Lausanne, Switzerland
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
This paper introduces Cloud9, a platform for automated testing of real-world software. Our main contribution is the scalable parallelization of symbolic execution on clusters of commodity hardware, to help cope with path explosion. Cloud9 provides a systematic interface for writing "symbolic tests" that concisely specify entire families of inputs and behaviors to be tested, thus improving testing productivity. Cloud9 can handle not only single-threaded programs but also multi-threaded and distributed systems. It includes a new symbolic environment model that is the first to support all major aspects of the POSIX interface, such as processes, threads, synchronization, networking, IPC, and file I/O. We show that Cloud9 can automatically test real systems, like memcached, Apache httpd, lighttpd, the Python interpreter, rsync, and curl. We show how Cloud9 can use existing test suites to generate new test cases that capture untested corner cases (e.g., network stream fragmentation). Cloud9 can also diagnose incomplete bug fixes by analyzing the difference between buggy paths before and after a patch.
引用
收藏
页码:183 / 197
页数:15
相关论文
共 50 条
  • [1] Guided Symbolic Execution in Real-World Binary Program
    Park, Sung Hyun
    Noh, Bong Nam
    [J]. INFORMATION SCIENCE AND APPLICATIONS, 2020, 621 : 387 - 396
  • [2] Symbolic Liveness Analysis of Real-World Software
    Schemmel, Daniel
    Buening, Julian
    Dustmann, Oscar Soria
    Noll, Thomas
    Wehrle, Klaus
    [J]. COMPUTER AIDED VERIFICATION, CAV 2018, PT II, 2018, 10982 : 447 - 466
  • [3] Automated Compatibility Testing Method for Software Logic by Using Symbolic Execution
    Uetsuki, Keiji
    Matsuodani, Tohru
    Tsuda, Kazuhiko
    [J]. 2015 IEEE EIGHTH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS (ICSTW), 2015,
  • [4] Efficient symbolic execution for software testing
    Kinder, Johannes
    [J]. 2014 FORMAL METHODS IN COMPUTER-AIDED DESIGN (FMCAD), 2014, : 5 - 5
  • [5] Software usage metrics for real-world software testing
    Ryan, L
    [J]. IEEE SPECTRUM, 1998, 35 (04) : 64 - 68
  • [6] DASE: Document-Assisted Symbolic Execution for Improving Automated Software Testing
    Wong, Edmund
    Zhang, Lei
    Wang, Song
    Liu, Taiyue
    Tan, Lin
    [J]. 2015 IEEE/ACM 37TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, VOL 1, 2015, : 620 - 631
  • [7] AUTOMATED REGRESSION TESTING USING SYMBOLIC EXECUTION
    Barisas, Dominykas
    Milasius, Tomas
    Bareisa, Eduardas
    [J]. INFORMATION TECHNOLOGIES' 2011, 2011, : 117 - 124
  • [8] Shadow Symbolic Execution for Testing Software Patches
    Kuchta, Tomasz
    Palikareva, Hristina
    Cadar, Cristian
    [J]. ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2018, 27 (03)
  • [9] Automated Regression Testing using Symbolic Execution
    Barisas, D.
    Milasius, T.
    Bareisa, E.
    [J]. ELEKTRONIKA IR ELEKTROTECHNIKA, 2011, (06) : 101 - 105
  • [10] Distributed Symbolic Execution for Binary Software Testing
    Wu, Bo
    Li, Mengjun
    Zhang, Bin
    Zhang, Quan
    Tang, Chaojing
    [J]. 2014 IEEE WORKSHOP ON ELECTRONICS, COMPUTER AND APPLICATIONS, 2014, : 618 - 621