TASTING: Reuse Test-case Execution by Global AST Hashing

被引:0
|
作者
Landsberg, Tobias [1 ]
Dietrich, Christian [2 ]
Lohmann, Daniel [1 ]
机构
[1] Leibniz Univ Hannover, Hannover, Germany
[2] Tech Univ Hamburg, Hamburg, Germany
关键词
Regression Test Selection; Testing; Continuous Integration; Static Analysis; SELECTION;
D O I
10.5220/0011139200003266
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We describe TASTING, an approach for efficiently selecting and reusing regression-test executions across program changes, branches, and variants in continuous integration settings. Instead of detecting changes between two variants of the software-under-test, TASTING recursively composes hashes of the defining elements with all their dependencies on AST-level at compile time into a semantic fingerprint of the test and its execution environment. This fingerprint is easy to store and remains stable across changes if the test's run-time behavior is not affected. Thereby, we can reuse test results across the history, multiple branches, and static compile-time variants. We applied TASTING to three open-source projects (Zephyr, OpenSSL, FFmpeg). Over their development history, we can omit between 10 percent (FFmpeg) and 95 percent (Zephyr) of all test executions at a moderate increase in build time. Furthermore, TASTING enables even higher savings across multiple checkouts (e.g., forks, branches, clones) and static software variants. Over the first changes to 131 OpenSSL forks, TASTING avoids 56 percent redundant test executions; for the Zephyr test matrix (64 variants), we reduce the number of test executions by 94 percent.
引用
收藏
页码:33 / 45
页数:13
相关论文
共 50 条
  • [1] AUTOMATICALLY TRACKING TEST-CASE EXECUTION
    HUNT, N
    [J]. JOURNAL OF OBJECT-ORIENTED PROGRAMMING, 1995, 8 (07): : 22 - &
  • [2] Exhaustive Test-case Generation using Symbolic Execution
    Uehara, Tadahiro
    [J]. FUJITSU SCIENTIFIC & TECHNICAL JOURNAL, 2016, 52 (01): : 34 - 40
  • [3] AN IMS TEST-CASE - GLOBAL MANUFACTURING
    PIDDINGTON, C
    PEGRAM, M
    [J]. IFIP TRANSACTIONS B-APPLICATIONS IN TECHNOLOGY, 1993, 13 : 11 - 20
  • [4] Strategy-Guided Test-Case Order in Dynamic Symbolic Execution
    Ye, Jiaxi
    Zhang, Bin
    Feng, Chao
    Tang, Chaojing
    [J]. PROCEEDINGS OF 2017 11TH IEEE INTERNATIONAL CONFERENCE ON ANTI-COUNTERFEITING, SECURITY, AND IDENTIFICATION (ASID), 2017, : 191 - 195
  • [5] Test-Case Generation and Bug-Finding through Symbolic Execution
    Bester, W. H. K.
    Inggs, C. P.
    Visser, W. C.
    [J]. PROCEEDINGS OF THE SOUTH AFRICAN INSTITUTE FOR COMPUTER SCIENTISTS AND INFORMATION TECHNOLOGISTS CONFERENCE, 2012, : 1 - 9
  • [6] TEST-CASE
    WILSON, B
    [J]. DAIRY INDUSTRIES INTERNATIONAL, 1995, 60 (01) : 19 - 19
  • [7] MUSIC AS A TEST-CASE
    COHEN, HF
    [J]. STUDIES IN HISTORY AND PHILOSOPHY OF SCIENCE, 1985, 16 (04): : 351 - 378
  • [8] To Be Optimal or Not in Test-Case Prioritization
    Hao, Dan
    Zhang, Lu
    Zang, Lei
    Wang, Yanbo
    Wu, Xingxia
    Xie, Tao
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2016, 42 (05) : 490 - 504
  • [9] A DEPARTMENT OF SCIENCE TEST-CASE
    MACHUREK, JE
    [J]. ISSUES IN SCIENCE AND TECHNOLOGY, 1995, 12 (01) : 17 - 18
  • [10] Technology of test-case generation
    Lúcio, L
    Samer, M
    [J]. MODEL-BASED TESTING OF REACTIVE SYSTEMS, 2005, 3472 : 323 - 354