Run-time check elimination for Ada 9X
An approach to the elimination of run-time checks in Ada 9X is presented. The approach is a flow analysis approach based on a combination of range propagation and assertion propagation. Range propagation computes estimates for the dynamic characteristics of program entities, for example the values of objects, while assertion propagation maintains valid assertions derived from assignments and conditions of the program. This approach offers a simple alternative to the more complex approach of a theorem prover.
KeywordsRun-time check elimination range propagation assertion propagation program optimization
Unable to display preview. Download preview PDF.
- 1.Harrison, W. H.: Compiler Analysis of the Value Ranges for Variables. IEEE Transactions on Software Engineering, vol. SE-3, no. 3, May 1977, 243–250Google Scholar
- 2.Møller, P. L.: Elimination of Redundant Run Time Checks in Ada 9X, master thesis, Technical Univ. of Denmark, Feb. 1993Google Scholar
- 3.Sakharov, A.: Propagation of Constants and Assertions, ACM Sigplan Notices, vol. 29, no. 5, May 1994Google Scholar
- 4.Schwartz, B., Kirchgässner, W., Landwehr, R.: An Optimizer for Ada — Design, Experiences and Results. Proceedings of the SIGPLAN '88 Conference on Programming Language Design and Implementation, Atlanta, Georgia, June 1988, 175–184Google Scholar
- 5.Welsh, J.: Economic Range Checks in Pascal. Software — Practice and Experience, vol. 8 (1978), 85–97Google Scholar