跳到主要导航 跳到搜索 跳到主要内容

ZendDiff: Differential Testing of PHP Interpreter

  • Yuancheng Jiang
  • , Jianing Wang*
  • , Qiange Liu
  • , Yeqi Fu
  • , Jian Mao
  • , Roland H.C. Yap
  • , Zhenkai Liang
  • *此作品的通讯作者
  • National University of Singapore
  • Shandong University
  • Beihang University

科研成果: 书/报告/会议事项章节会议稿件同行评审

摘要

The PHP interpreter, powering over 70% of web-sites on the internet, plays a crucial role in web development. Existing approaches to finding bugs in PHP primarily focus on detecting explicit security issues through crashes or sanitizer-based oracles, but fail to identify logic bugs that can silently lead to incorrect results. We observe that the introduction of Just-In-Time (JIT) compilation mode in PHP presents an opportunity for differential testing, as it provides an alternative implementation of the same language specification. We propose, ZendDiff, an automatic differential testing framework that effectively detects logic bugs in the PHP interpreter by comparing JIT and non-JIT execution results. Our differential testing incorporates three techniques: program state probing for fine-grained execution state comparison, JIT-aware program mutation to sufficiently exercise JIT functionality, and dual verification to handle non-deterministic behaviors in PHP programs. Our experimental results demonstrate that ZendDiffoutperforms the official test suite used in PHP's continuous integration, achieving higher code coverage and executing more Zend opcodes. Through ablation studies, we validate the effectiveness of these techniques. To date, ZendDiffhas identified 51 previously unknown logic bugs in the PHP interpreter, with 37 already fixed and 3 confirmed by the PHP maintainers. ZendDiffhas been acknowledged by the PHP community and offers a practical tool for automatically discovering logic bugs in the PHP interpreter.

源语言英语
主期刊名Proceedings - 2025 40th IEEE/ACM International Conference on Automated Software Engineering, ASE 2025
出版商Institute of Electrical and Electronics Engineers Inc.
1095-1106
页数12
ISBN(电子版)9798350357332
DOI
出版状态已出版 - 2025
活动2025 40th IEEE/ACM International Conference on Automated Software Engineering, ASE 2025 - Seoul, 韩国
期限: 16 11月 202520 11月 2025

出版系列

姓名Proceedings - 2025 40th IEEE/ACM International Conference on Automated Software Engineering, ASE 2025

会议

会议2025 40th IEEE/ACM International Conference on Automated Software Engineering, ASE 2025
国家/地区韩国
Seoul
时期16/11/2520/11/25

指纹

探究 'ZendDiff: Differential Testing of PHP Interpreter' 的科研主题。它们共同构成独一无二的指纹。

引用此