Abstract
Floating-point programs are currently extensively applied across various domains of scientific computing. Within such computational programs, there is a propensity to utilize high-precision floating-point variables to ensure the accuracy of the results. However, this practice concurrently leads to a decline in program performance. To address this issue, researchers have aimed to reduce the precision requirements of variables in programs without significant impact on results. Current mixed-precision tools utilize differential derivation to compute variable sensitivity, but this method is cumbersome and can cause memory crashes in intensive computational programs. This paper presents program error sensitivity analysis (PESA), an error sensitivity analysis tool based on variance decomposition, optimized for floating-point programs using LLVM. PESA uses the Sobol method to perform error sensitivity analysis and provides the user with the magnitude of error sensitivity for each variable in the program. Experimental results show that PESA produces error analysis results consistent with other tools and outperforms other sensitivity analysis tools overall by testing six benchmark files and small applications.









Similar content being viewed by others
References
Goldberg D (1991) What every computer scientist should know about floating-point arithmetic. ACM Comput Surv 23:413
Zhang Z, Xu J, Hao J, Qu Y, He H, Zhou B (2023) Hierarchical search algorithm for error detection in floating-point arithmetic expressions. J Supercomput 80(1):1183–1205
Chiang W-F, Baranowski M, Briggs I, Solovyev A, Gopalakrishnan G, Rakamaric Z (2017) Rigorous floating-point mixed-precision tuning. In: Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages
Cherubin S, Cattaneo D, Chiari M, Bello AD, Agosta G (2020) TAFFO: tuning assistant for floating to fixed point optimization. IEEE Embed Syst Lett 12:5–8
Rubio-González C, Nguyen C, Nguyen HD, Demmel J, Kahan W, Sen K, Bailey DH, Iancu C, Hough DG (2013) Precimonious: tuning assistant for floating-point precision. In: 2013 SC-International Conference for High Performance Computing, Networking, Storage and Analysis (SC), pp 1–12
Menon H, Lam MO, Osei-Kuffuor D, Schordan M, Lloyd S, Mohror KM, Hittinger JAF (2018) Adapt: algorithmic differentiation applied to floating-point precision tuning. In: SC18: International Conference for High Performance Computing, Networking, Storage and Analysis, pp 614–626
Singh G, Kundu B, Menon H, Penev A, Lange DJ, Vassilev V (2023) Fast and automatic floating point error analysis with CHEF-FP. In: 2023 IEEE International Parallel and Distributed Processing Symposium (IPDPS), pp 1018–1028
Sobol IM (1993) Sensitivity estimates for nonlinear mathematical models 1(1):112–118 (https://api.semanticscholar.org/CorpusID:115460399) (https://api.semanticscholar.org/CorpusID:115460399)
Chowdhary S, Lim JP, Nagarakatte S (2020) Debugging and detecting numerical errors in computation with posits. In: Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation
Zhang Z, Zhou B, Hao J, Yang H, Cui M, Zhou Y, Song G, Li F, Xu J, Zhao J (2023) Eiffel: inferring input ranges of significant floating-point errors via polynomial extrapolation. In: 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp 1441–1453
Ferson S, Tucker WT (2006) Sensitivity analysis using probability bounding. https://api.semanticscholar.org/CorpusID:13852469
Tian W (2013) A review of sensitivity analysis methods in building energy analysis. Renew Sustain Energy Rev 20:411–419
Baydin AG, Pearlmutter BA, Radul A, Siskind JM (2015) Automatic differentiation in machine learning: a survey. arXiv:1502.05767
Fel T, Cadene R, Chalvidal M, Cord M, Vigouroux D, Serre T (2021) Look at the variance! efficient black-box explanations with Sobol-based sensitivity analysis. arXiv:2111.04138
Borgonovo E (2017) Sensitivity analysis: an introduction for the management scientist. https://api.semanticscholar.org/CorpusID:64717349
Wei H, Wang J, Shan Y, Guo Z, Ma J (2022) Application of Sobol sensitivity analysis with surrogate model of analytical function. In: 2022 IEEE 2nd International Conference on Power, Electronics and Computer Applications (ICPECA), pp 504–509
Iwanaga T, Usher W, Herman J (2022) Toward SALib 2.0: advancing the accessibility and interpretability of global sensitivity analyses. Socio-Environ Syst Model 4:18155. https://doi.org/10.18174/sesmo.18155
Lattner C, Adve VS (2004) LLVM: a compilation framework for lifelong program analysis & transformation. In: International Symposium on Code Generation and Optimization (CGO), pp 75–86
Parragi Z, Porkoláb Z (2018) Instrumentation of C++ programs using automatic source code transformations. Studia Universitatis Babeş-Bolyai Informatica
Azzini I, Rosati R (2021) Sobol’ main effect index: an innovative algorithm (IA) using dynamic adaptive variances. Reliab Eng Syst Saf 213:107647
Herman J, Usher W (2017) SALib: an open-source python library for sensitivity analysis. J Open Source Softw 2(9):97. https://doi.org/10.21105/joss.00097
Saltelli A, Annoni P, Azzini I, Campolongo F, Ratto M, Tarantola S (2010) Variance based sensitivity analysis of model output. Design and estimator for the total sensitivity index. Comput Phys Commun 181:259–270
Sun X, Croke BFW, Roberts S, Jakeman AJ (2021) Investigation of determinism-related issues in the Sobol’ low-discrepancy sequence for producing sound global sensitivity analysis indices. ANZIAM J 62:C84–C97
Hastings WK (1970) Monte Carlo sampling methods using Markov chains and their applications. Biometrika 57:97–109
Sobol’ IM (2001) Global sensitivity indices for nonlinear mathematical models and their Monte Carlo estimates. Math Comput Simul 55:271–280
Sinha S (2017) Hilbert-Schmidt and Sobol sensitivity indices for static and time series WNT signaling measurements in colorectal cancer-part A. BMC Syst Biol 11:1–38
Parasyris K, Laguna I, Menon H, Schordan M, Osei-Kuffuor D, Georgakoudis G, Lam MO, Vanderbruggen T(2020) HPC-MixPBench: an HPC benchmark suite for mixed-precision analysis. In: 2020 IEEE International Symposium on Workload Characterization (IISWC), pp 25–36
Funding
There are no financial conflicts of interest to disclose.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
All authors disclosed no relevant relationships.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Cui, M., Xu, J., Zhou, Y. et al. PESA: error sensitivity analysis tool for floating-point computational programs. J Supercomput 81, 477 (2025). https://doi.org/10.1007/s11227-025-06962-z
Accepted:
Published:
DOI: https://doi.org/10.1007/s11227-025-06962-z