Dear GSL Development Team, I hope this email finds you well. My name is Youshuai Tan, and I am part of a software engineering research team. We would like to discuss two topics that might interest your team:
*1. Fixable Long-standing Bugs via Double Precision Patches* We identified one bug report (https://savannah.gnu.org/bugs/?43259) that has remained open for over a decade. Through our analysis, we found five of these errors could be mitigated by applying double precision patches. For example, gsl_sf_hyperg_0F1(c, x) results in a relative error of 1.15e198 when the two operands are 3.39e-215 and 3.95e-242. When c and x approach zero, the first two terms in the Taylor expansion of the function are 1+x/a. We use this as a patch, and the resulting relative error is only 1.17e-27. We would like to know whether this patch is of practical value to your team. Given that this bug report has remained open, we are somewhat puzzled. Do you consider this type of error to be insignificant? Or is it because addressing this error would require the use of high-precision arithmetic, which in turn demands substantial computational resources, leading to the decision not to fix it? *2. Research on Error-Inducing Inputs* In software engineering/programming languages research, some researchers focus on finding the error-inducing inputs, since only a small part of inputs can result in significant errors. GSL functions serve as an important benchmark in this field - tools like ATOMU [1] and FPCC [2] have identified error-inducing cases in 42 GSL’s spec functions. We are particularly interested in knowing whether this kind of work is helpful to your development efforts, and whether such errors have a significant impact in practice. If this topic is of significant interest or value to you, we would be very keen to continue the discussion. We have recently developed a highly efficient method for detecting error-inducing inputs and would be excited to collaborate with you in exploring. We’re very much looking forward to your reply! Best regards, Youshuai Tan [1] Daming Zou, Muhan Zeng, Yingfei Xiong, Zhoulai Fu, Lu Zhang, and Zhendong Su. 2019. Detecting floating-point errors via atomic conditions. Proceedings of the ACM on Programming Languages 4, POPL (2019), 1–27. [2] Xin Yi, Hengbiao Yu, Liqian Chen, Xiaoguang Mao, and Ji Wang. 2024. FPCC: Detecting Floating-Point Errors via Chain Conditions. Proceedings of the ACM on Programming Languages 8, OOPSLA2 (2024), 1504–1531.