{"title":"ICE: Reducing Search Space for Error-Inducing Input Detection","authors":"Youshuai Tan;Zhanwei Zhang;Zishuo Ding;Jinfu Chen;Weiyi Shang","doi":"10.1109/TSE.2026.3703362","DOIUrl":null,"url":null,"abstract":"Floating-point programs play a crucial role in scientific and engineering applications as well as daily life. Due to the inherent inaccuracies of floating-point arithmetic, these programs are susceptible to errors. While only a small subset of possible inputs may lead to significant inaccuracies in the program’s final results, such errors can have serious consequences. Prior approaches have been developed to identify error-inducing inputs using search algorithms. However, the task is challenging due to the sparsity of the search space. Furthermore, these tools frequently depend on high-precision programs as oracles for computing floating-point errors. This reliance introduces additional challenges, including prolonged execution times and instability. To detect these inputs more effectively and efficiently, we propose a simple yet effective method called ICE, designed to generate reduced and erroneous domains for these approaches. ICE first calculates the errors of the target program by taking all half-precision floating-point numbers as inputs. Instead of calculating errors based on high-precision programs, ICE injects small perturbations into each atomic operation of the program and measures the difference between the perturbed and original results to estimate floating-point errors. Subsequently, ICE selects the numbers with errors in the top <inline-formula><tex-math>$\\boldsymbol{n\\%}$</tex-math></inline-formula> as the endpoints of the important ranges. These individual ranges, which form domains, can then be used to improve existing tools by reducing the search space. To evaluate ICE, we apply ICE with three state-of-the-art error-inducing input detection approaches, i.e., ATOMU, HSED, and FPCC. Experimental results demonstrate that ICE could improve the performance of existing approaches by effectively reducing the search space, detecting more error-inducing inputs, and significantly shortening the search time.","PeriodicalId":13324,"journal":{"name":"IEEE Transactions on Software Engineering","volume":"52 9","pages":"2760-2773"},"PeriodicalIF":6.0000,"publicationDate":"2026-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE Transactions on Software Engineering","FirstCategoryId":"94","ListUrlMain":"https://ieeexplore.ieee.org/document/11563589/","RegionNum":1,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"2026/6/15 0:00:00","PubModel":"Epub","JCR":"Q1","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
Abstract
Floating-point programs play a crucial role in scientific and engineering applications as well as daily life. Due to the inherent inaccuracies of floating-point arithmetic, these programs are susceptible to errors. While only a small subset of possible inputs may lead to significant inaccuracies in the program’s final results, such errors can have serious consequences. Prior approaches have been developed to identify error-inducing inputs using search algorithms. However, the task is challenging due to the sparsity of the search space. Furthermore, these tools frequently depend on high-precision programs as oracles for computing floating-point errors. This reliance introduces additional challenges, including prolonged execution times and instability. To detect these inputs more effectively and efficiently, we propose a simple yet effective method called ICE, designed to generate reduced and erroneous domains for these approaches. ICE first calculates the errors of the target program by taking all half-precision floating-point numbers as inputs. Instead of calculating errors based on high-precision programs, ICE injects small perturbations into each atomic operation of the program and measures the difference between the perturbed and original results to estimate floating-point errors. Subsequently, ICE selects the numbers with errors in the top $\boldsymbol{n\%}$ as the endpoints of the important ranges. These individual ranges, which form domains, can then be used to improve existing tools by reducing the search space. To evaluate ICE, we apply ICE with three state-of-the-art error-inducing input detection approaches, i.e., ATOMU, HSED, and FPCC. Experimental results demonstrate that ICE could improve the performance of existing approaches by effectively reducing the search space, detecting more error-inducing inputs, and significantly shortening the search time.
期刊介绍:
IEEE Transactions on Software Engineering seeks contributions comprising well-defined theoretical results and empirical studies with potential impacts on software construction, analysis, or management. The scope of this Transactions extends from fundamental mechanisms to the development of principles and their application in specific environments. Specific topic areas include:
a) Development and maintenance methods and models: Techniques and principles for specifying, designing, and implementing software systems, encompassing notations and process models.
b) Assessment methods: Software tests, validation, reliability models, test and diagnosis procedures, software redundancy, design for error control, and measurements and evaluation of process and product aspects.
c) Software project management: Productivity factors, cost models, schedule and organizational issues, and standards.
d) Tools and environments: Specific tools, integrated tool environments, associated architectures, databases, and parallel and distributed processing issues.
e) System issues: Hardware-software trade-offs.
f) State-of-the-art surveys: Syntheses and comprehensive reviews of the historical development within specific areas of interest.