z-logo
Premium
Compile—time detection of aliasing in euclid programs
Author(s) -
Cordy James R.
Publication year - 1984
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.4380140805
Subject(s) - aliasing , computer science , identifier , compile time , variable (mathematics) , compiler , programming language , algorithm , meaning (existential) , anti aliasing , theoretical computer science , process (computing) , artificial intelligence , mathematics , computer hardware , undersampling , digital signal processing , psychology , mathematical analysis , audio signal processing , psychotherapist , audio signal
Aliasing of variables occurs when two or more identifiers accessible in the same scope refer to the same storage location. When aliasing is present, the meaning of assignments becomes obscure because assignment to one variable identifier may change the value of others. Some of the more obscure kinds of variable aliasing can be the cause of particularly insidious bugs in computer programs. Axiomatic proof systems, such as that used for the Euclid language, assume that no aliasing is present so that the meaning of assignment is clear. For this reason, Euclid requires that no aliasing be present in Euclid programs and requires the compiler to implement checks to ensure this. This paper discusses the features of Euclid that aid in the detection of aliasing. It enumerates the kinds of aliasing that can be present in Euclid programs and gives efficient one‐pass algorithms for compile‐time detection of potential aliases. Aliasing is related to interference between concurrent processes, and a similar algorithm for detection of inter‐process interference in Concurrent Euclid programs is presented.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here