Font Size: a A A

Research On Error Analysis Of Floating- Point Program And Its Implementation

Posted on:2016-08-19Degree:MasterType:Thesis
Country:ChinaCandidate:K SongFull Text:PDF
GTID:2308330461474032Subject:Software engineering
Abstract/Summary:PDF Full Text Request
As the third method of scientific research, scientific computation has been playing a vital role in some key areas such as national defense, military, transportation, oil exploration and aerospace. Given the limitation of memory space and word length of computers, most computers run scientific computation under IEEE 754—a standard for floating-point arithmetic. However, floating-point arithmetic will inevitably produce rounding-off errors and the build-up effect of rounding-off errors may bring up severe impact even catastrophic results.Up to now, C language has been the most widely used language during the past 25 years which has been extensively used in some key fields such as military, aerospace, finance and medical care. Therefore, error analysis of floating-point programs written in C programming language is of great significance.In this paper, we studied floating-point error analysis and exception detection in practical engineering applications written in C language. Then we developed a system named SpaceAED for automatic error analysis. The main contents in this paper are as follows.● Discussed floating-point system of computers, including the definition of floating-point numbers, rounding-off modes and floating-point arithmetic models and present relevant theory about interval analysis. Then we elaborated the advantage of Boost interval arithmetic library by comparing it with other interval arithmetic libraries which are also based on interval analysis.● For a given C language floating-point program with given input values, we discussed how to analyze error of it. In this paper, we proposed an automatic error analysis method via automatic program rewrite and interval analysis. Concretely speaking, we firstly rewrite the input program to one that can be run on interval arithmetic. Then based on Boost interval arithmetic library, we run the rewritten program with the given input to complete error analysis. Finally, we used several instances to verify high efficiency and accuracy of this method.● For a given C language floating-point program with given input fields whose every input variable is assigned to an interval, we studied how to detect all the input value collections which can cause exception. In this paper, we proposed a fast and accurate algorithm called Dev-Bab to locate all the input values which can cause exception results. By detecting exceptions in some functions in GSL libraries including inverting matrix, computing matrix eigenvalues and eigenvectors, we verified the high efficiency and reliability of this algorithm.● Introduced how to apply SpaceAED which is based on the above theory.in automatic error analysis of C language floating-point program. First, we introduced the overall structure of SpaceAED. Then, we elaborated its main functions. Finally, we demonstrated how to use SpaceAED and showed it’s good robustness, high efficiency and strong extendibility.
Keywords/Search Tags:floating-point arithmetic, rounding-off error, program rewrite, error analysis, exception detection
PDF Full Text Request
Related items