Lightweight Code Coverage Analysis for Deep Learning Framework Testing

Author:

Li Senyi1,Xiao Xiong1,Yang Bing1,Li Junqiang1,Yu Hongfang1,Luo Long1,Zhang Xiaosong1,Sun Gang1

Affiliation:

1. University of Electronic Science and Technology of China

Abstract

Abstract

Coverage analysis is increasingly important for enhancing deep learning (DL) framework testing. However, current code coverage analyzers face challenges with low compatibility and high overhead when applied to DL frameworks. Our findings indicate that state-of-the-art Python analyzers, such as coverage.py and SlipCover, introduce an overhead of at least 1 \(\times\) . In the context of C coverage, the widely-used analyzer gcc is compatible only with TensorFlow and imposes a substantial overhead of 130,166$\times$. These issues with compatibility and overhead significantly limit the utility of coverage analysis in many applications, including testing and fuzzing, and prevent its adoption in deployment scenarios.In this paper, we propose DCOV, a lightweight coverage analyzer designed explicitly for DL frameworks to address the above challenges. DCOV leverages run-time instrumentation for Python code and compile-time instrumentation for C code. Additionally, we decouple instrumentation and coverage analysis functions by an interface-based instrumentation design, allowing Python and C probes to share the same coverage analysis algorithm. Furthermore, DCOV minimizes execution and analysis overheads through several strategies, including coverage granularity optimization, parallel processing and bit counting algorithm optimization.Our empirical evaluation demonstrates DCOV's applicability to popular deep learning frameworks, such as TensorFlow and PyTorch, with a minimal overhead of approximately 18 milliseconds per single run. In addition, by adopting parallel processing and bit counting algorithm optimization, DCOV reduces analysis overhead by 99%. Moreover, by integrating DCOV with existing DL framework testing systems, we observe a 2.8$\times$ speedup and uncover two previously unknown bugs in TensorFlow (one of them being accepted).

Publisher

Springer Science and Business Media LLC

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3