Publications
This page collects a(n incomplete) list of Zuoyan Zhang's publications. More information is available at Google Scholar.
2024
- ISSTA 2024Arfa: An Agile Regime-Based Floating-Point Optimization Approach for Rounding ErrorsJinchen Xu*, Mengqi Cui*, Fei Li, Zuoyan Zhang, and 3 more authorsIn Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis, Vienna, Austria, 2024
We introduce a floating-point (FP) error optimization approach called Arfa that partitions the domain D of an FP expression fe into regimes and rewrites fe in each regime where fe shows larger errors. First, Arfa seeks a rewrite substitution fo with lower errors across D, whose error distribution is plotted for effective regime inference. Next, Arfa generates an incomplete set of ordered rewrite candidates within each regime of interest, so that searching for the best rewrite substitutions is performed efficiently. Finally, Arfa selects the best rewrite substitution by inspecting the errors of top ranked rewrite candidates, with enhancing precision also considered. Experiments on 56 FPbench examples and four real-life programs show that Arfa not only reduces the maximum and average errors of fe by 4.73 and 2.08 bits on average (and up to 33 and 16 bits), but also exhibits lower errors, sometimes to a significant degree, than Herbie and NumOpt.
@inproceedings{arfa, author = {Xu, Jinchen and Cui, Mengqi and Li, Fei and Zhang, Zuoyan and Yang, Hongru and Zhou, Bei and Zhao, Jie}, title = {Arfa: An Agile Regime-Based Floating-Point Optimization Approach for Rounding Errors}, year = {2024}, isbn = {9798400706127}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, url = {https://doi.org/10.1145/3650212.3680378}, doi = {10.1145/3650212.3680378}, booktitle = {Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis}, pages = {1516–1528}, numpages = {13}, keywords = {FPbench, dynamic analysis, e-graph, floating-point errors, numerical analysis, rewrite}, dimensions = {true}, location = {Vienna, Austria}, series = {ISSTA 2024} }
2023
- TJSCHierarchical search algorithm for error detection in floating-point arithmetic expressionsZuoyan Zhang*, Jinchen Xu*, Jiangwei Hao, Yang Qu, and 2 more authorsJ. Supercomput., Jul 2023
Scientific and engineering applications rely on floating-point arithmetic to approximate real numbers. Due to the inherent rounding errors in floating-point numbers, error propagation during calculations can accumulate and lead to serious errors that may compromise the safety and reliability of the program. In theory, the most accurate method of error detection is to exhaustively search all possible floating-point inputs, but this is not feasible in practice due to the huge search space involved. Effectively and efficiently detecting maximum floating-point errors has been a challenge. To address this challenge, we design and implement an error detection tool for floating-point arithmetic expressions called HSED. It leverages modified mantissas under double precision floating-point types to simulate hierarchical searches from either half or single precision to double precision. Experimental results show that for 32 single-parameter arithmetic expressions in the FPBench benchmark test set, the error detection effects and performance of HSED are significantly better than the state-of-the-art error detection tools Herbie, S3FP and ATOMU. HSED outperforms Herbie, Herbie+, S3FP and ATOMU in 24, 19, 27 and 25 cases, respectively. The average time taken by Herbie, Herbie+, and S3FP is 1.82, 11.20, and 129.15 times longer than HSED, respectively.
@article{hsed, author = {Zhang, Zuoyan and Xu, Jinchen and Hao, Jiangwei and Qu, Yang and He, Haotian and Zhou, Bei}, title = {Hierarchical search algorithm for error detection in floating-point arithmetic expressions}, year = {2023}, issue_date = {Jan 2024}, publisher = {Kluwer Academic Publishers}, address = {USA}, volume = {80}, number = {1}, issn = {0920-8542}, url = {https://doi.org/10.1007/s11227-023-05523-6}, doi = {10.1007/s11227-023-05523-6}, journal = {J. Supercomput.}, month = jul, pages = {1183–1205}, numpages = {23}, dimensions = {true}, keywords = {Floating-point arithmetic, Error detection, Dynamic analysis, Hierarchical search} }
- ASE 2023Eiffel: Inferring Input Ranges of Significant Floating-Point Errors via Polynomial ExtrapolationZuoyan Zhang, Bei Zhou, Jiangwei Hao, Hongru Yang, and 6 more authorsIn Proceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering, Echternach, Luxembourg, Jul 2023
Existing search heuristics used to find input values that result in significant floating-point (FP) errors or small ranges that cover them are accompanied by severe constraints, complicating their implementation and restricting their general applicability. This paper introduces an error analysis tool called Eiffel to infer error-inducing input ranges instead of searching them. Given an FP expression with its domain D, Eiffel first constructs an error data set by sampling values across a smaller domain ℛ and assembles these data into clusters. If more than two clusters are formed, Eiffel derives polynomial curves that best fit the bound coordinates of the error-inducing ranges in ℛ, extrapolating them to infer all target ranges of D and reporting the maximal error. Otherwise, Eiffel simply returns the largest error across ℛ. Experimental results show that Eiffel exhibits a broader applicability than Atomu and S3FP by successfully detecting the errors of all 70 considered benchmarks while the two baselines only report errors for part of them. By taking as input the inferred ranges of Eiffel, Herbie obtains an average accuracy improvement of 3.35 bits and up to 53.3 bits.
@inproceedings{ase 2023, author = {Zhang, Zuoyan and Zhou, Bei and Hao, Jiangwei and Yang, Hongru and Cui, Mengqi and Zhou, Yuchang and Song, Guanghui and Li, Fei and Xu, Jinchen and Zhao, Jie}, title = {Eiffel: Inferring Input Ranges of Significant Floating-Point Errors via Polynomial Extrapolation}, year = {2023}, isbn = {9798350329964}, publisher = {IEEE Press}, url = {https://doi.org/10.1109/ASE56229.2023.00139}, doi = {10.1109/ASE56229.2023.00139}, booktitle = {Proceedings of the 38th IEEE/ACM International Conference on Automated Software Engineering}, pages = {1441–1453}, numpages = {13}, location = {Echternach, Luxembourg}, dimensions = {true}, series = {ASE '23} }