1 Introduction
The rapid advancement of technology makes modern personal computers and devices powerful in computing. Hence, complex numerical algorithms become affordable and are widely applied in our daily software. Ensuring the correctness of numerical computing is important for software reliability. On the other hand, it is also very challenging. In particular, the unique and complex computation logic in numerical computing often poses new challenges in software testing and verification. Furthermore, truncations due to the limited representation precision happen all the time in numerical computing so that numerical errors are inevitably accumulated during propagation of values. Thus, for modern numerical software, we need not only methods of numerical analysis, but also tools that help us build and test numerical programs, especially their stabilities in the presence of numerical errors.