一句话:对自动生成线程安全类并发测试的现有工具进行独立实证评估,发现仅17%的并发故障被检出。
开发正确高效的并发程序十分困难,线程安全类封装了大部分同步复杂性,因此测试其并发行为对程序可靠性至关重要。近年来,研究者提出多种自动生成并发测试的技术与工具。本文系统梳理了现有技术,并对公开可用工具进行独立实证评估:在包含47个有文档记录的并发故障的JaConTeBe基准上运行所有工具。结果显示,仅8个故障(17%)被至少一个工具检出。作者进一步分析工具局限与所生成测试的问题,总结出改进自动化并发测试生成有效性的研究启示。
Developing correct and efficient concurrent programs is difficult and error-prone, due to the complexity of thread synchronization. Often, developers alleviate such problem by relying on thread-safe classes, which encapsulate most synchronization-related challenges. Thus, testing such classes is crucial to ensure the reliability of the concurrency aspects of programs. Some recent techniques and corresponding tools tackle the problem of testing thread-safe classes by automatically generating concurrent tests. In this paper, we present a comprehensive study of the state-of-the-art techniques and an independent empirical evaluation of the publicly available tools. We conducted the study by executing all tools on the JaConTeBe benchmark that contains 47 well-documented concurrency faults. Our results show that 8 out of 47 faults (17%) were detected by at least one tool. By studying the issues of the tools and the generated tests, we derive insights to guide future research on improving the effectiveness of automated concurrent test generation.
DOI 原文 ·
@inproceedings{paperbot4756,
title = {Effectiveness and challenges in generating concurrent tests for thread-safe classes},
author = {Valerio Terragni and Mauro Pezzè},
booktitle = {ASE},
year = {2018},
doi = {10.1145/3238147.3238224}
}