你可以将 C-Reduce 用于任何语言。

主要观点:C-Reduce 是 Regehr 及其朋友开发的用于最小化 C 编译器错误重现器的工具,可在几秒内快速大幅削减文件大小,且适用于多种情况,只需确定性条件、快速重现器和可修改源文件等,还介绍了在 RustPython 运行 scrapscript 时使用 C-Reduce 报告 bug 的过程,同时列举了其他类似的测试用例缩减工具及相关参考。
关键信息:

  • 2024 年 11 月 15 日,介绍 C-Reduce 工具及用途。
  • C-Reduce 能快速削减文件,如削减 10000 行 C 文件至 50%左右。
  • 运行 C-Reduce 时可使用--not-c避免使用 C 特定的 passes。
  • 列举了其他类似的测试用例缩减工具如 delta、cvise、Shrink Ray、treereduce 等。
    重要细节:
  • 给出了用于重现 RustPython 运行 scrapscript 时 bug 的脚本interesting.sh
  • 展示了 C-Reduce 削减文件过程中不同阶段的百分比和字节数。
  • 提到有人在提交日志上实现了更高级的 delta 调试但找不到链接。
阅读 25
0 条评论