Font Size: a A A

The Design And Implementation Of The Frontend Of Global Optimization Framework For Numerical Programs

Posted on:2021-04-06Degree:MasterType:Thesis
Country:ChinaCandidate:X P ZhangFull Text:PDF
GTID:2428330647450881Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Numerical programs are widely applied in academic research and software engineering.The accuracy and efficiency are important guarantees for the correctness of software,especially in the safety-critical and source-limited areas.However,the accumulated rounding error in numerical program can cause system failures with real numbers approximated by floating-point numbers.It is hard to ensure correctness of numerical programs with a complicated logic.In practice,to make sure of the correctness,experts need to elaborately design stable numerical program,which often has bad readability and maintainability.But engineers who know little about numerical knowledge need to develop correct numerical programs.To solve the problem,there are several works denoted to numerical program optimization,most of which are based on the rewriting of individual expression.To some extent,the rewriting of individual expression can reduce rounding error,but can't ensure the correctness of the optimized program.To solve the problem,we propose a global optimization framework,which transforms numerical programs directly following the mathematical requirement specification to the stable programs.To make global optimization,We designed and implemented the frontend of the framework,which can search execution paths of numerical programs and provide a global view by the ability of finding execution paths.The main work of this thesis is designing and implementing the frontend of global optimization framework.Main features of the frontend are as follows:1.Inspired by the symbolic execution technique,we designed and implemented the module of extracting global execution paths.It execute the program step by step and collect the constraint and operations.With the frontend,our framework can break through the limit of individual expression optimization tools.2.The loops and recursive functions in programs may introduce lots of execution traces and make the traces complicated and unreadable.Thus,we abstract the loops and recursive functions to keep execution paths readable and global.3.To avoid big amount of variables introduced by the elements of matrixes in the paths,we made a special extracting method for matrixes calculation,by which the frontend generate clear paths of matrix programs.This thesis designed and implemented the frontend of the global optimization framework by the three above aspects.With extracting the execution paths of numerical programs by the frontend,the framework make an effective global optimization for numerical programs.
Keywords/Search Tags:Numerical Calculation, Rounding Error, Program Optimization, Symbolic Execution
PDF Full Text Request
Related items