arrow
返回

CPerfSmith: A Randomized C Program Generator for Performance-Oriented Compiler Testing

delete2026-01-01
delete0
PRE
AI
Y
Yashwanth Boda *
A
Abhijit Chunduri
K
Kumari, Ruchi
P
Pandey, Awanish
DOI:10.1145/3771775.3786271delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
软件测试是软件开发生命周期中的关键阶段,确保程序在不同环境中正确可靠地运行。与通用软件测试不同,编译器测试需要结构良好的输入程序,以系统地测试编译器的各种优化阶段,因为覆盖率不足容易掩盖关键问题。目前,编译器测试存在多种技术,包括差异测试、模糊测试、切片、内存检查器和基于形式方法的验证工具。尽管这些方法能有效检测编译器崩溃、未定义行为或一般正确性错误,但它们大多不适用于系统评估编译器优化。Csmith等工具率先为编译器测试引入了随机程序生成,但它们缺乏对程序结构的精确控制,这在目标为压力测试特定优化阶段或识别性能退化时至关重要。为解决此限制,我们开发了CPERFSMITH,它是Csmith的扩展,可提供对代码结构的精细控制,实现针对特定编译器优化的程序生成。通过实验,CPERFSMITH成功生成了超过100个程序,这些程序在行业标准C编译器(GCC、Clang和AOCC)上表现出显著的运行时差异。此外,我们成功创建了超过30个测试用例,揭示了Clang两个连续发布版本之间的显著性能退化,证明了该工具检测缺失或不当应用优化的能力。
Keyword:
Compiler Testing
Random Program Generation
Performance Bugs
Compiler Optimizations

期刊

P
PROCEEDINGS OF THE 35TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON COMPILER CONSTRUCTION, CC 2026
IF:
0
论文数:
18
被引数:
0

机构

I
indian institute of technology system (iit system)
学者数:
9.5W
论文数: 9.9W
被引数: 93
引用论文

引用论文

err
IF0
err
err0
PREAI
err
err分享
err收藏
err分享
err收藏
SlowFuzz
err2017-10-30
err0
errOAAI
errTheofilos Petsios; Jason Zhao; Angelos D. Keromytis; Suman Jana
err分享
err收藏
SPEC CPU2017
err2018-04-02
err0
PREAI
errJames Bucek; Klaus-Dieter Lange; Jóakim v. Kistowski
err分享
err收藏
A Survey of Compiler Testing编译器测试综述
err2020-02-06
err114
PREAI
errChen, Junjie; Patra, Jibesh; Pradel, Michael; Xiong, Yingfei; Zhang, Hongyu; Hao, Dan; Zhang, Lu
err分享
err收藏
err分享
err收藏
学者 查看更多内容