🤖 AI Summary
Floating-point computations exhibit inconsistent results across compilers—including cross-platform and cross-optimization-level settings—posing a severe threat to the reliability of numerical software. This paper introduces, for the first time, large language models (LLMs) into floating-point inconsistency detection, proposing a synergistic approach that integrates syntax-guided program generation with feedback-driven mutation to automatically synthesize floating-point programs with high inconsistency-triggering capability. The method enables systematic comparative testing across multiple compilers, optimization levels, and heterogeneous host-device environments. Experimental evaluation demonstrates that our approach detects over twice as many floating-point inconsistencies as state-of-the-art tools. Moreover, it is the first to systematically uncover deep real-valued discrepancies across architectures and compiler toolchains, significantly enhancing verifiability and robustness assurance for numerical software.
📝 Abstract
Floating-point inconsistencies across compilers can undermine the reliability of numerical software. We present LLM4FP, the first framework that uses Large Language Models (LLMs) to generate floating-point programs specifically designed to trigger such inconsistencies. LLM4FP combines Grammar-Based Generation and Feedback-Based Mutation to produce diverse and valid programs. We evaluate LLM4FP across multiple compilers and optimization levels, measuring inconsistency rate, time cost, and program diversity. LLM4FP detects over twice as many inconsistencies compared to the state-of-the-art tool, Varity. Notably, most of the inconsistencies involve real-valued differences, rather than extreme values like NaN or infinities. LLM4FP also uncovers inconsistencies across a wider range of optimization levels, and finds the most mismatches between host and device compilers. These results show that LLM-guided program generation improves the detection of numerical inconsistencies.