Lune

ISSTA2020Top-tier venue

Discovering discrepancies in numerical libraries

Jackson Vanover, Xuan Deng, Cindy Rubio-González

2020Year
13Citations
7Top-tier citations

Abstract

Numerical libraries constitute the building blocks for software applications that perform numerical calculations. Thus, it is paramount that such libraries provide accurate and consistent results. To that end, this paper addresses the problem of finding discrepancies between synonymous functions in different numerical libraries as a means of identifying incorrect behavior. Our approach automatically finds such synonymous functions, synthesizes testing drivers, and executes differential tests to discover meaningful discrepancies across numerical libraries. We implement our approach in a tool named FPDiff, and provide an evaluation on four popular numerical libraries: GNU Scientific Library (GSL), SciPy, mpmath, and jmat. FPDiff finds a total of 126 equivalence classes with a 95.8% precision and 79.0% recall, and discovers 655 instances in which an input produces a set of disagreeing outputs between function synonyms, 150 of which we found to represent 125 unique bugs. We have reported all bugs to library maintainers; so far, 30 bugs have been fixed, 9 have been found to be previously known, and 25 more have been acknowledged by developers. CCS CONCEPTS • Software and its engineering → Software testing and debugging; Software reliability; Empirical software validation.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext 87a813bb-a9cb-4aee-ab50-8cb5f1b9ea06

Cited by top-tier papers7

Ask how each one uses it

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines