Jump to content

Value range analysis: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
cite a classic instead of a recent workshop paper
program safety
Line 1: Line 1:
In [[computing]], in particular [[compiler]] construction, '''value range analysis''' is a type of [[data flow analysis]] that tracks the range (interval) of values that a numeric variable can take on at each point of a program's execution.<ref>{{cite journal |title=Compiler Analysis of the Value Ranges for Variables |first=William H. |last=Harrison |year=1977 |journal=IEEE Transactions on Software Engineering |volume=3 |issue=3 |pages=243–250 |doi=10.1109/TSE.1977.231133}}</ref>
In [[computing]], in particular [[compiler]] construction, '''value range analysis''' is a type of [[data flow analysis]] that tracks the range (interval) of values that a numeric variable can take on at each point of a program's execution.<ref>{{cite journal |title=Compiler Analysis of the Value Ranges for Variables |first=William H. |last=Harrison |year=1977 |journal=IEEE Transactions on Software Engineering |volume=3 |issue=3 |pages=243–250 |doi=10.1109/TSE.1977.231133}}</ref>
The resulting information can be used in optimizations such as redundancy elimination, dead code elimination, instruction selection, etc. Techniques for value range analysis typically use [[Symbolic computation|symbolic analysis]] extensively.<ref>{{cite web |first1=Johnnie |last1=Birch |first2=Robert |last2=van Engelen |first3=Kyle |last3=Gallivan |title=Value Range Analysis of Conditionally Updated Variables and Pointers |url=http://www.cs.fsu.edu/~engelen/cpcpaper.pdf}}</ref>
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.<ref>Wagner, D., Foster, J. S., Brewer, E. A., & Aiken, A. (2000, February). A First Step Towards Automated Detection of Buffer Overrun Vulnerabilities. In NDSS (pp. 2000-02).</ref> Techniques for value range analysis typically use [[Symbolic computation|symbolic analysis]] extensively.<ref>{{cite web |first1=Johnnie |last1=Birch |first2=Robert |last2=van Engelen |first3=Kyle |last3=Gallivan |title=Value Range Analysis of Conditionally Updated Variables and Pointers |url=http://www.cs.fsu.edu/~engelen/cpcpaper.pdf}}</ref>


Value range analysis is often{{Clarification needed|date=February 2014}} implemented in the [[Intel C++ Compiler]]{{citation needed|date=February 2014}} and is to be implemented in [[GNU Compiler Collection|GCC]].{{citation needed|date=February 2014}}
Value range analysis is often{{Clarification needed|date=February 2014}} implemented in the [[Intel C++ Compiler]]{{citation needed|date=February 2014}} and is to be implemented in [[GNU Compiler Collection|GCC]].{{citation needed|date=February 2014}}

Revision as of 09:16, 11 February 2014

In computing, in particular compiler construction, value range analysis is a type of data 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.[2] Techniques for value range analysis typically use symbolic analysis extensively.[3]

Value range analysis is often[clarification needed] implemented in the Intel C++ Compiler[citation needed] and is to be implemented in GCC.[citation needed]

References

  1. ^ Harrison, William H. (1977). "Compiler Analysis of the Value Ranges for Variables". IEEE Transactions on Software Engineering. 3 (3): 243–250. doi:10.1109/TSE.1977.231133.
  2. ^ Wagner, D., Foster, J. S., Brewer, E. A., & Aiken, A. (2000, February). A First Step Towards Automated Detection of Buffer Overrun Vulnerabilities. In NDSS (pp. 2000-02).
  3. ^ Birch, Johnnie; van Engelen, Robert; Gallivan, Kyle. "Value Range Analysis of Conditionally Updated Variables and Pointers" (PDF).