Font Size: a A A

Use Case Generating System For Floating Point Program Error Detection

Posted on:2022-05-09Degree:MasterType:Thesis
Country:ChinaCandidate:X W LiangFull Text:PDF
GTID:2518306725984299Subject:Master of Engineering
Abstract/Summary:PDF Full Text Request
At present,floating-point calculation programs are widely used in key fields such as aerospace,national defense and military that require extremely high reliability.There-fore,it is very important to ensure the accuracy of floating-point program calculation results.However,due to the rounding error between the numerical value and the actual value used by the computer when performing floating-point operations,the accumula-tion of rounding errors will affect the accuracy of the floating-point program.Therefore,the academic community has proposed automated error detection techniques to solve this problem.Error detection requires the input of numerical use cases that can trigger the accumulation of errors,and these numerical use case inputs are usually scattered in some small input intervals.The existing use case generating system has two shortcom-ings: First,the system mainly generates use cases for single floating-point arithmetic expressions,and cannot face the global floating-point program.Second,the effective use cases that can trigger the accumulation of floating-point program errors are usu-ally scattered in some cells,and the existing use case generation technology needs to generate a large number of use cases to hit these cells,resulting in low efficiency in generating effective use cases.Based on the above two shortcomings,this thesis designs and implements a use case generating system for floating-point program error detection.The main tasks are as follows.· Aiming at the problem that the existing systems only generate use cases for a single expression,this thesis designs a global use case generating method for floating-point programs.This method is based on the traditional LLVM compiler to generate the intermediate code of the floating-point program,and then uses the new conversion rules to convert the intermediate code into binary code,and obtains the mapping relationship between the binary code and the numerical use case,and finally generates specific use case that can be used for the global error detection of the floating-point program.· Aiming at the problem of low efficiency of effective use case generating in ex-isting systems,this thesis designs a use case generation method based on neural network model.In this method,the neural network model uses the binary code of the floating-point program and the numerical use cases with large errors in the trigger program as training data.By learning the use case generating rules in the training data,most of the numerical use cases generated can fall into the interval of triggering the accumulation of floating-point program errors,which can improve the efficiency of the system to generate effective use cases.The system in this thesis is divided into five modules,which are program pre-processing module,intermediate code conversion module,training data set generat-ing module,neural network model training module,and numerical use case generating module.Program preprocessing module is mainly responsible for the generation of intermediate code of floating point program.The intermediate code conversion mod-ule is mainly responsible for converting intermediate codes into usable binary codes.The training data set generating module is mainly responsible for generating training data sets containing binary codes and numerical use cases.The neural network model training module mainly obtains available neural network models by learning the use case generation rules in the training data.The numerical use case generating module is mainly responsible for generating specific numerical use cases for error detection of floating-point programs.The system generated 16,800 numerical use cases for multiple C++ floating-point programs.These use cases are evaluated through experiments.The experimental results show that the system can generate use cases for floating-point programs globally,the effective use cases that can trigger the accumulation of floating-point program errors in the generated use cases account for about 74.42% of the total,and the average time of generating use cases is about 2.58 s.
Keywords/Search Tags:Error detection, The accumulation of floating-point program errors, Numerical use cases, LLVM compilation, Neural network models
PDF Full Text Request
Related items