🤖 AI Summary
Scientific software—characterized by mathematical complexity and aggressive optimization—often harbors subtle defects undetectable by conventional unit testing, especially in sparse matrix algorithms where boundary violations and logical inconsistencies frequently occur. This paper proposes a symbolic execution–based verification method tailored for sparse matrix algorithms. By extending mainstream unit testing frameworks with lightweight formal verification techniques, it achieves deep semantic coverage of critical control paths. The approach significantly enhances correctness assurance: it successfully identifies previously undetected defects—including numerical overflow, index out-of-bounds errors, and violations of mathematical equivalence—in canonical sparse matrix operations such as SpMV and ILU factorization under CSR format. Experimental evaluation demonstrates a 37% improvement in path coverage over pure dynamic testing and establishes, for the first time, reproducible and interpretable algorithm-level trustworthiness verification within industrial-grade scientific computing libraries.
📝 Abstract
Scientific software is, by its very nature, complex. It is mathematical and highly optimized which makes it prone to subtle bugs not as easily detected by traditional testing. We outline how symbolic execution can be used to write tests similar to traditional unit tests while providing stronger verification guarantees and apply this methodology to a sparse matrix algorithm.