MAP-Coverage: A novel coverage criterion for testing thread-safe classes
Concurrent programs must be thoroughly tested, as concurrency bugs are notoriously hard to detect. Code coverage criteria can be used to quantify the richness of a test suite (e.g., whether a program has been tested sufficiently) or provide practical guidelines on test case generation (e.g., as obje...
Saved in:
Main Authors: | , , , , , |
---|---|
Format: | text |
Language: | English |
Published: |
Institutional Knowledge at Singapore Management University
2019
|
Subjects: | |
Online Access: | https://ink.library.smu.edu.sg/sis_research/4964 https://ink.library.smu.edu.sg/context/sis_research/article/5967/viewcontent/map.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-5967 |
---|---|
record_format |
dspace |
spelling |
sg-smu-ink.sis_research-59672020-03-12T07:23:04Z MAP-Coverage: A novel coverage criterion for testing thread-safe classes WANG, Zan ZHAO, Yingquan LIU, Shuang SUN, Jun CHEN, Xiang LIN, Huarui Concurrent programs must be thoroughly tested, as concurrency bugs are notoriously hard to detect. Code coverage criteria can be used to quantify the richness of a test suite (e.g., whether a program has been tested sufficiently) or provide practical guidelines on test case generation (e.g., as objective functions used in program fuzzing engines). Traditional code coverage criteria are, however, designed for sequential programs and thus ineffective for concurrent programs. In this work, we introduce a novel code coverage criterion for testing thread-safe classes called MAP-coverage (short for memory-access patterns). The motivation is that concurrency bugs are often correlated with certain memory-access patterns, and thus it is desirable to comprehensively cover all memory-access patterns. Furthermore, we propose a testing method for maximizing MAP-coverage. Our method has been implemented as a self-contained toolkit, and the experimental results on 20 benchmark programs show that our toolkit outperforms existing testing methods. Lastly, we show empirically that there exists positive correlation between MAPcoverage and the effectiveness of a set of test executions. 2019-11-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/4964 info:doi/10.1109/ASE.2019.00073 https://ink.library.smu.edu.sg/context/sis_research/article/5967/viewcontent/map.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 Software Engineering |
institution |
Singapore Management University |
building |
SMU Libraries |
continent |
Asia |
country |
Singapore Singapore |
content_provider |
SMU Libraries |
collection |
InK@SMU |
language |
English |
topic |
Software Engineering |
spellingShingle |
Software Engineering WANG, Zan ZHAO, Yingquan LIU, Shuang SUN, Jun CHEN, Xiang LIN, Huarui MAP-Coverage: A novel coverage criterion for testing thread-safe classes |
description |
Concurrent programs must be thoroughly tested, as concurrency bugs are notoriously hard to detect. Code coverage criteria can be used to quantify the richness of a test suite (e.g., whether a program has been tested sufficiently) or provide practical guidelines on test case generation (e.g., as objective functions used in program fuzzing engines). Traditional code coverage criteria are, however, designed for sequential programs and thus ineffective for concurrent programs. In this work, we introduce a novel code coverage criterion for testing thread-safe classes called MAP-coverage (short for memory-access patterns). The motivation is that concurrency bugs are often correlated with certain memory-access patterns, and thus it is desirable to comprehensively cover all memory-access patterns. Furthermore, we propose a testing method for maximizing MAP-coverage. Our method has been implemented as a self-contained toolkit, and the experimental results on 20 benchmark programs show that our toolkit outperforms existing testing methods. Lastly, we show empirically that there exists positive correlation between MAPcoverage and the effectiveness of a set of test executions. |
format |
text |
author |
WANG, Zan ZHAO, Yingquan LIU, Shuang SUN, Jun CHEN, Xiang LIN, Huarui |
author_facet |
WANG, Zan ZHAO, Yingquan LIU, Shuang SUN, Jun CHEN, Xiang LIN, Huarui |
author_sort |
WANG, Zan |
title |
MAP-Coverage: A novel coverage criterion for testing thread-safe classes |
title_short |
MAP-Coverage: A novel coverage criterion for testing thread-safe classes |
title_full |
MAP-Coverage: A novel coverage criterion for testing thread-safe classes |
title_fullStr |
MAP-Coverage: A novel coverage criterion for testing thread-safe classes |
title_full_unstemmed |
MAP-Coverage: A novel coverage criterion for testing thread-safe classes |
title_sort |
map-coverage: a novel coverage criterion for testing thread-safe classes |
publisher |
Institutional Knowledge at Singapore Management University |
publishDate |
2019 |
url |
https://ink.library.smu.edu.sg/sis_research/4964 https://ink.library.smu.edu.sg/context/sis_research/article/5967/viewcontent/map.pdf |
_version_ |
1770575160988925952 |