Achieving high MAP-coverage through pattern constraint reduction

Testing multi-threaded programs is challenging due to the enormous space of thread interleavings. Recently, a code coverage criterion for multi-threaded programs called MAP-coverage has been proposed and shown to be effective for testing concurrent programs. Existing approaches for achieving high MA...

Full description

Saved in:
Bibliographic Details
Main Authors: ZHAO, Yingquan, WANG, Zan, LIU, Shuang, SUN, Jun, CHEN, Junjie, CHEN, Xiang
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2023
Subjects:
Sun
Online Access:https://ink.library.smu.edu.sg/sis_research/6940
https://ink.library.smu.edu.sg/context/sis_research/article/7943/viewcontent/PatternConstraint_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-7943
record_format dspace
spelling sg-smu-ink.sis_research-79432024-02-28T08:10:40Z Achieving high MAP-coverage through pattern constraint reduction ZHAO, Yingquan WANG, Zan LIU, Shuang SUN, Jun CHEN, Junjie CHEN, Xiang Testing multi-threaded programs is challenging due to the enormous space of thread interleavings. Recently, a code coverage criterion for multi-threaded programs called MAP-coverage has been proposed and shown to be effective for testing concurrent programs. Existing approaches for achieving high MAP-coverage are based on random testing with simple heuristics, which is ineffective in systematically triggering rare thread interleavings. In this study, we propose a novel approach called pattern constraint reduction (PCR), which employs optimized constraint solving to generate thread interleavings for high MAP-coverage. The idea is to iteratively encode and solve path conditions to generate thread interleavings which are guaranteed to improve MAP-coverage. Furthermore, we effectively apply interpolation techniques to reduce the efforts of constraint solving by avoiding solving infeasible constraints. The experiment results on 20 benchmark programs show that our approach complements existing random testing based approaches when there are rare failure-inducing interleaving in the whole search space. Specifically, PCR finds concurrency bugs faster in 18 out of 20 programs, with an average speedup of 4.2x and a maximum speedup of 11.4x. 2023-01-01T08:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/6940 info:doi/10.1109/TSE.2022.3144480 https://ink.library.smu.edu.sg/context/sis_research/article/7943/viewcontent/PatternConstraint_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 Concurrency bug detection Concurrent computing Constraint solving Coverage criteria Instruction sets Message systems Programming Sun Systematics Thread-safe class Numerical Analysis and Scientific Computing 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
Concurrency bug detection
Concurrent computing
Constraint solving
Coverage criteria
Instruction sets
Message systems
Programming
Sun
Systematics
Thread-safe class
Numerical Analysis and Scientific Computing
Software Engineering
spellingShingle Computer bugs
Concurrency bug detection
Concurrent computing
Constraint solving
Coverage criteria
Instruction sets
Message systems
Programming
Sun
Systematics
Thread-safe class
Numerical Analysis and Scientific Computing
Software Engineering
ZHAO, Yingquan
WANG, Zan
LIU, Shuang
SUN, Jun
CHEN, Junjie
CHEN, Xiang
Achieving high MAP-coverage through pattern constraint reduction
description Testing multi-threaded programs is challenging due to the enormous space of thread interleavings. Recently, a code coverage criterion for multi-threaded programs called MAP-coverage has been proposed and shown to be effective for testing concurrent programs. Existing approaches for achieving high MAP-coverage are based on random testing with simple heuristics, which is ineffective in systematically triggering rare thread interleavings. In this study, we propose a novel approach called pattern constraint reduction (PCR), which employs optimized constraint solving to generate thread interleavings for high MAP-coverage. The idea is to iteratively encode and solve path conditions to generate thread interleavings which are guaranteed to improve MAP-coverage. Furthermore, we effectively apply interpolation techniques to reduce the efforts of constraint solving by avoiding solving infeasible constraints. The experiment results on 20 benchmark programs show that our approach complements existing random testing based approaches when there are rare failure-inducing interleaving in the whole search space. Specifically, PCR finds concurrency bugs faster in 18 out of 20 programs, with an average speedup of 4.2x and a maximum speedup of 11.4x.
format text
author ZHAO, Yingquan
WANG, Zan
LIU, Shuang
SUN, Jun
CHEN, Junjie
CHEN, Xiang
author_facet ZHAO, Yingquan
WANG, Zan
LIU, Shuang
SUN, Jun
CHEN, Junjie
CHEN, Xiang
author_sort ZHAO, Yingquan
title Achieving high MAP-coverage through pattern constraint reduction
title_short Achieving high MAP-coverage through pattern constraint reduction
title_full Achieving high MAP-coverage through pattern constraint reduction
title_fullStr Achieving high MAP-coverage through pattern constraint reduction
title_full_unstemmed Achieving high MAP-coverage through pattern constraint reduction
title_sort achieving high map-coverage through pattern constraint reduction
publisher Institutional Knowledge at Singapore Management University
publishDate 2023
url https://ink.library.smu.edu.sg/sis_research/6940
https://ink.library.smu.edu.sg/context/sis_research/article/7943/viewcontent/PatternConstraint_av.pdf
_version_ 1794549716302692352