Interference is a phenomenon in effectful languages, whereby the combination of procedures and effects leads to subtle errors.
In full generality,
two procedures interfere when one can perform a global action which has a global effect upon the other.
The most common case of interference is aliasing: this happens when a procedure assumes two by-reference arguments are distinct, but the caller has provided the same reference for them.
Reynolds, John C. 1978. ‘Syntactic Control of Interference’. In Proceedings of the 5th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, 39–46. New York, NY, USA: Association for Computing Machinery. https://doi.org/10.1145/512760.512766. [pdf]
@inproceedings{reynolds_1978,
address = {New York, NY, USA},
title = {Syntactic {Control} of {Interference}},
doi = {10.1145/512760.512766},
booktitle = {Proceedings of the 5th {ACM} {SIGACT}-{SIGPLAN} {Symposium} on {Principles} of {Programming} {Languages}},
publisher = {Association for Computing Machinery},
author = {Reynolds, John C.},
year = {1978},
pages = {39--46}
}
Reynolds, John C. 1997. ‘Syntactic Control of Interference’. In Algol-like Languages, edited by Peter W. O’Hearn and Robert D. Tennent, 273–86. Boston, MA: Birkhäuser Boston. https://doi.org/10.1007/978-1-4612-4118-8_11.
@incollection{ohearn_syntactic_1997,
address = {Boston, MA},
title = {Syntactic {Control} of {Interference}},
booktitle = {Algol-like {Languages}},
publisher = {Birkhäuser Boston},
author = {Reynolds, John C.},
editor = {O’Hearn, Peter W. and Tennent, Robert D.},
year = {1997},
doi = {10.1007/978-1-4612-4118-8_11},
pages = {273--286},
}