返回
Demystifying Performance Regressions in String Solvers
DOI:10.1109/TSE.2022.3168373.png)
摘要
En 中文
Over the past few years, SMT string solvers have found their applications in an increasing number of domains, such as program analyses in mobile and Web applications, which require the ability to reason about string values. A series of research has been carried out to find quality issues of string solvers in terms of its correctness and performance. Yet, none of them has considered the performance regressions happening across multiple versions of a string solver. To fill this gap, in this paper, we focus on solver performance regressions (SPRs), i.e., unintended slowdowns introduced during the evolution of string solvers. To this end, we develop SPRFinderto not only generate test cases demonstrating SPRs, but also localize the probable causes of them, in terms of commits. We evaluated the effectiveness of SPRFinderon three state-of-the-art string solvers, i.e., Z3Seq, Z3Str3, and CVC4. The results demonstrate that SPRFinderis effective in generating SPR-inducing test cases and also able to accurately locate the responsible commits. Specifically, the average running time on the target versions is 13.2x slower than that of the reference versions. Besides, we also conducted the first empirical study to peek into the characteristics of SPRs, including the impact of random seed configuration for SPR detection, understanding the root causes of SPRs, and characterizing the regression test cases through case studies. Finally, we highlight that 149 unique SPR-inducing commits were discovered in total by SPRFinder, and 27of them have been confirmed by the corresponding developers.
Keyword:
Computer bugs
Testing
Fuzzing
Codes
Runtime
Location awareness
Cognition
SMT string solver
performance regression
SPRFinder
期刊
IF:
5.6
论文数:
2.9K
被引数:
1.1W
机构
引用论文
Computing and Visualizing Dynamic Time Warping Alignments in R: The dtw Package在R中计算和可视化动态时间扭曲对齐: dtw包
Deletion of the sex-determining gene SXI1α enhances the spread of mitochondrial introns in Cryptococcus neoformans
Mobile DNA
IF0
The Evolution of Floral Longevity: Resource Allocation to Maintenance Versus Construction of Repeated Parts in Modular Organisms
Evolution
IF0

