SHF: Small: Reliable Data Processing by Dynamic Program Analysis
Purdue University, West Lafayette IN
Investigators
Abstract
Computational Science involves computer modeling and simulation of natural phenomena, and the validity of scientific inquiry depends on the way computers are used to do numerical computation. Numeric errors pose a serious threat to output validity for modern scientific data processing. Raw inputs are acquired by physical instruments that have limited precision, leading to input errors. Parameters used in data processing may be provided by human scientists based on their experience, leading to uncertainty. Data may not be represented exactly due to the limited precision of the machine used. Once these errors creep into a computation, they may get propagated and magnified by the sequence of operations conducted, producing unreliable output. Such instability problems may ultimately have substantial impact on scientific research and even the economy. This project aims to develop dynamic program analysis tools to address instability problems caused by errors. These tools will automatically analyze the data processing programs provided by the users and transform them to allow online representation of and reasoning about errors. The user runs the transformed programs on the original input data as usual, with the option of providing additional input/coefficient error ranges. The execution will produce regular output as before, together with an indication of whether the output is stable in the presence of errors, including input errors, uncertain coefficients, and internal representation errors. If the execution is determined to be unstable, the technique will automatically report the possible consequences induced by the errors. Another option is to automatically switch to executing a high-precision version of the program, which is also generated by the project's tool set.
View original record on NSF Award Search →