Incomputing, in particularcompiler construction,value range analysis is a type ofdata flow analysis that tracks the range (interval) of values that a numeric variable can take on at each point of a program's execution.[1]The resulting information can be used in optimizations such as redundancy elimination,dead code elimination, instruction selection, etc., but can also be used to improve the safety of programs, e.g. in the detection ofbuffer overruns.[2] Techniques for value range analysis typically usesymbolic analysis extensively.[3]
Value range analysis is often implemented in theIntel C++ Compiler and is implemented inGCC.[4]