Demystifying performance regressions in string solvers

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 s...

Full description

Saved in:
Bibliographic Details
Main Authors: ZHANG, Yao, XIE, Xiaofei, LI, Yi, LIN, Yi, CHEN, Sen, LIU, Yang, LI, Xiaohong
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2023
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/7239
https://ink.library.smu.edu.sg/context/sis_research/article/8242/viewcontent/tse21_av.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-8242
record_format dspace
spelling sg-smu-ink.sis_research-82422024-03-04T06:29:09Z Demystifying performance regressions in string solvers ZHANG, Yao XIE, Xiaofei LI, Yi LIN, Yi CHEN, Sen LIU, Yang LI, Xiaohong 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 SPRFinder to not only generate test cases demonstrating SPRs, but also localize the probable causes of them, in terms of commits. We evaluated the effectiveness of SPRFinder on three state-of-the-art string solvers, i.e., Z3Seq, Z3Str3, and CVC4. The results demonstrate that SPRFinder is 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.2 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. 2023-03-01T08:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/7239 info:doi/10.1109/TSE.2022.3168373 https://ink.library.smu.edu.sg/context/sis_research/article/8242/viewcontent/tse21_av.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Computer Bugs Testing Fuzzing Codes Runtime Location Awareness Cognition SMT String Solver Performance Regression SPR Finder Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Computer Bugs
Testing
Fuzzing
Codes
Runtime
Location Awareness
Cognition
SMT String Solver
Performance Regression
SPR Finder
Software Engineering
spellingShingle Computer Bugs
Testing
Fuzzing
Codes
Runtime
Location Awareness
Cognition
SMT String Solver
Performance Regression
SPR Finder
Software Engineering
ZHANG, Yao
XIE, Xiaofei
LI, Yi
LIN, Yi
CHEN, Sen
LIU, Yang
LI, Xiaohong
Demystifying performance regressions in string solvers
description 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 SPRFinder to not only generate test cases demonstrating SPRs, but also localize the probable causes of them, in terms of commits. We evaluated the effectiveness of SPRFinder on three state-of-the-art string solvers, i.e., Z3Seq, Z3Str3, and CVC4. The results demonstrate that SPRFinder is 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.2 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.
format text
author ZHANG, Yao
XIE, Xiaofei
LI, Yi
LIN, Yi
CHEN, Sen
LIU, Yang
LI, Xiaohong
author_facet ZHANG, Yao
XIE, Xiaofei
LI, Yi
LIN, Yi
CHEN, Sen
LIU, Yang
LI, Xiaohong
author_sort ZHANG, Yao
title Demystifying performance regressions in string solvers
title_short Demystifying performance regressions in string solvers
title_full Demystifying performance regressions in string solvers
title_fullStr Demystifying performance regressions in string solvers
title_full_unstemmed Demystifying performance regressions in string solvers
title_sort demystifying performance regressions in string solvers
publisher Institutional Knowledge at Singapore Management University
publishDate 2023
url https://ink.library.smu.edu.sg/sis_research/7239
https://ink.library.smu.edu.sg/context/sis_research/article/8242/viewcontent/tse21_av.pdf
_version_ 1794549749683060736