ITU

Effective Floating-Point Analysis via Weak-Distance Minimization

Research output: Conference Article in Proceeding or Book/Report chapterArticle in proceedingsResearchpeer-review

Standard

Effective Floating-Point Analysis via Weak-Distance Minimization. / Fu, Zhoulai; Su, Zhendong.

Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation. New York, NY, USA : Association for Computing Machinery, 2019. p. 439--452.

Research output: Conference Article in Proceeding or Book/Report chapterArticle in proceedingsResearchpeer-review

Harvard

Fu, Z & Su, Z 2019, Effective Floating-Point Analysis via Weak-Distance Minimization. in Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation. Association for Computing Machinery, New York, NY, USA, pp. 439--452. https://doi.org/10.1145/3314221.3314632

APA

Fu, Z., & Su, Z. (2019). Effective Floating-Point Analysis via Weak-Distance Minimization. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation (pp. 439--452). Association for Computing Machinery. https://doi.org/10.1145/3314221.3314632

Vancouver

Fu Z, Su Z. Effective Floating-Point Analysis via Weak-Distance Minimization. In Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation. New York, NY, USA: Association for Computing Machinery. 2019. p. 439--452 https://doi.org/10.1145/3314221.3314632

Author

Fu, Zhoulai ; Su, Zhendong. / Effective Floating-Point Analysis via Weak-Distance Minimization. Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation. New York, NY, USA : Association for Computing Machinery, 2019. pp. 439--452

Bibtex

@inproceedings{a90b27a9513d4754aafafbbe40234377,
title = "Effective Floating-Point Analysis via Weak-Distance Minimization",
abstract = "This work studies the connection between the problem of analyzing floating-point code and that of function minimization. It formalizes this connection as a reduction theory, where the semantics of a floating-point program is measured as a generalized metric, called weak distance, which faithfully captures any given analysis objective. It is theoretically guaranteed that minimizing the weak distance (e.g., via mathematical optimization) solves the underlying problem. This reduction theory provides a general framework for analyzing numerical code. Two important separate analyses from the literature, branch-coverage-based testing and quantifier-free floating-point satisfiability, are its instances.To further demonstrate our reduction theory{\textquoteright}s generality and power, we develop three additional applications, including boundary value analysis, path reachability and overflow detection. Critically, these analyses do not rely on the modeling or abstraction of floating-point semantics; rather, they explore a program{\textquoteright}s input space guided by runtime computation and minimization of the weak distance. This design, combined with the aforementioned theoretical guarantee, enables the application of the reduction theory to real-world floating-point code. In our experiments, our boundary value analysis is able to find all reachable boundary conditions of the GNU sin function, which is complex with several hundred lines of code, and our floating-point overflow detection detects a range of overflows and inconsistencies in the widely-used numerical library GSL, including two latent bugs that developers have already confirmed.",
keywords = "Program Analysis, Mathematical Optimization, Theoretical Guarantee, Floating-point Code",
author = "Zhoulai Fu and Zhendong Su",
year = "2019",
doi = "10.1145/3314221.3314632",
language = "English",
isbn = "978-1-4503-6712-7",
pages = "439----452",
booktitle = "Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation",
publisher = "Association for Computing Machinery",
address = "United States",

}

RIS

TY - GEN

T1 - Effective Floating-Point Analysis via Weak-Distance Minimization

AU - Fu, Zhoulai

AU - Su, Zhendong

PY - 2019

Y1 - 2019

N2 - This work studies the connection between the problem of analyzing floating-point code and that of function minimization. It formalizes this connection as a reduction theory, where the semantics of a floating-point program is measured as a generalized metric, called weak distance, which faithfully captures any given analysis objective. It is theoretically guaranteed that minimizing the weak distance (e.g., via mathematical optimization) solves the underlying problem. This reduction theory provides a general framework for analyzing numerical code. Two important separate analyses from the literature, branch-coverage-based testing and quantifier-free floating-point satisfiability, are its instances.To further demonstrate our reduction theory’s generality and power, we develop three additional applications, including boundary value analysis, path reachability and overflow detection. Critically, these analyses do not rely on the modeling or abstraction of floating-point semantics; rather, they explore a program’s input space guided by runtime computation and minimization of the weak distance. This design, combined with the aforementioned theoretical guarantee, enables the application of the reduction theory to real-world floating-point code. In our experiments, our boundary value analysis is able to find all reachable boundary conditions of the GNU sin function, which is complex with several hundred lines of code, and our floating-point overflow detection detects a range of overflows and inconsistencies in the widely-used numerical library GSL, including two latent bugs that developers have already confirmed.

AB - This work studies the connection between the problem of analyzing floating-point code and that of function minimization. It formalizes this connection as a reduction theory, where the semantics of a floating-point program is measured as a generalized metric, called weak distance, which faithfully captures any given analysis objective. It is theoretically guaranteed that minimizing the weak distance (e.g., via mathematical optimization) solves the underlying problem. This reduction theory provides a general framework for analyzing numerical code. Two important separate analyses from the literature, branch-coverage-based testing and quantifier-free floating-point satisfiability, are its instances.To further demonstrate our reduction theory’s generality and power, we develop three additional applications, including boundary value analysis, path reachability and overflow detection. Critically, these analyses do not rely on the modeling or abstraction of floating-point semantics; rather, they explore a program’s input space guided by runtime computation and minimization of the weak distance. This design, combined with the aforementioned theoretical guarantee, enables the application of the reduction theory to real-world floating-point code. In our experiments, our boundary value analysis is able to find all reachable boundary conditions of the GNU sin function, which is complex with several hundred lines of code, and our floating-point overflow detection detects a range of overflows and inconsistencies in the widely-used numerical library GSL, including two latent bugs that developers have already confirmed.

KW - Program Analysis

KW - Mathematical Optimization

KW - Theoretical Guarantee

KW - Floating-point Code

U2 - 10.1145/3314221.3314632

DO - 10.1145/3314221.3314632

M3 - Article in proceedings

SN - 978-1-4503-6712-7

SP - 439

EP - 452

BT - Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation

PB - Association for Computing Machinery

CY - New York, NY, USA

ER -

ID: 84390882