Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages 2014
DOI: 10.1145/2535838.2535874
|View full text |Cite
|
Sign up to set email alerts
|

Sound compilation of reals

Abstract: Writing accurate numerical software is hard because of many sources of unavoidable uncertainties, including finite numerical precision of implementations. We present a programming model where the user writes a program in a real-valued implementation and specification language that explicitly includes different types of uncertainties. We then present a compilation algorithm that generates a finite-precision implementation that is guaranteed to meet the desired precision with respect to real numbers. Our compila… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
110
0

Year Published

2014
2014
2019
2019

Publication Types

Select...
7
1
1

Relationship

1
8

Authors

Journals

citations
Cited by 114 publications
(110 citation statements)
references
References 53 publications
0
110
0
Order By: Relevance
“…For example, modern SMT tools can be used at compile time to verify the occurrence of numerical problems and automatically provide fixes guaranteeing the final results of the procedures to achieve a target accuracy [Darulova and Kuncak 2014].…”
Section: Test and Validate The Systemmentioning
confidence: 99%
See 1 more Smart Citation
“…For example, modern SMT tools can be used at compile time to verify the occurrence of numerical problems and automatically provide fixes guaranteeing the final results of the procedures to achieve a target accuracy [Darulova and Kuncak 2014].…”
Section: Test and Validate The Systemmentioning
confidence: 99%
“…Although control theory developed techniques to validate system models experimentally and in turn the theoretical effectiveness of their controllers, implementation may differ from its design. Software engineering is playing a role in both producing correct-by-construction implementations from the mathematical description of controllers [Kowshik et al 2002;Darulova and Kuncak 2014;Cai 2002] and in the definition of specialized testing and verification procedures [Darulova and Kuncak 2013;Ismail et al 2015;Matinnejad et al 2016;Zuliani et al 2010;Villegas et al 2011;Camara et al 2013]. Implementation of distributed control.…”
Section: Software Engineering For Control Theorymentioning
confidence: 99%
“…There has been static analysis techniques (e.g., [5,13,16]) developed for the analysis of finite precision numerical programs, but they focus on verifying properties such as numerical stability, the absence of buffer overflow and the absence of arithmetic exception rather than verifying the equivalence between code and a dynamical system model as the specification of the controller. Finally, there has been software verification work using the model extraction technique [8,19,20,34,29], and the floating-point roundoff error estimation has been studied in [11,9,33].…”
Section: Related Workmentioning
confidence: 99%
“…They manipulate unbounded integer and bitvector numerical quantities, algebraic data types expressed as case classes, lists, functional arrays, and maps. An ambitious research direction introduces a Real data type that compiles into a desired finite-precision data type that meets given precision guarantees [2,3]. The main challenge in this work is automatically computing the accumulation of worst-case error bounds though non-linear computations, which requires also precisely computing ranges of variables in programs using constraint solving.…”
Section: Overviewmentioning
confidence: 99%