Designing programming languages for the analyzability of pointer data structures

  • Authors:
  • Laurie J Hendren;Guang R Gao

  • Affiliations:
  • School of Computer Science, McGill University, 3480 University Street, Montreal, Quebec, Canada H3A 2A7;School of Computer Science, McGill University, 3480 University Street, Montreal, Quebec, Canada H3A 2A7

  • Venue:
  • Computer Languages
  • Year:
  • 1993

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we propose a programming language mechanism and associated compiler techniques which significantly enhance the analyzability of pointer-based data structures frequently used in non-scientific programs. Our approach is based on exploiting two important properties of pointer data structures: structural inductivity and speculative traversability. Structural inductivity facilitates the application of a static interference analysis method for such pointer data structures based on path matrices, and speculative traversability is utilized by a novel loop unrolling technique for while loops that exploit fine-grain parallelism by speculatively traversing such data structures. The effectiveness of this approach is demonstrated by applying it to a collection of loops found in typical non-scientific C programs.