Value range analysis: Difference between revisions
Appearance
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
- ^ 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.
- ^ 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).
- ^ Birch, Johnnie; van Engelen, Robert; Gallivan, Kyle. "Value Range Analysis of Conditionally Updated Variables and Pointers" (PDF).