Побо́чные эффе́кты (англ.side effects) — любые действия работающей программы, изменяющие среду выполнения (англ.execution environment)[1]. Например, к побочным эффектам относятся[2]:
доступ (чтение или запись) к объекту, определённому с модификатором volatile (англ.);
вызов функции, выполняющей любое из перечисленных выше действий.
Побочный эффект функции — возможность в процессе выполнения своих вычислений: читать и модифицировать значения глобальных переменных, осуществлять операции ввода-вывода, реагировать на исключительные ситуации, вызывать их обработчики. Если вызвать функцию с побочным эффектом дважды с одним и тем же набором значений входных аргументов, может случиться так, что в качестве результата будут возвращены разные значения. Такие функции называются недетерминированными функциями с побочными эффектами.
Себеста Р.У. Основные концепции языков программирования = Concepts of programming languages. — 5-е изд. — М.: Вильямс, 2001. — С. 282—284. — ISBN 5-8459-0192-8.
Dowd, M.; McDonald, J.; Schuh, J.Function Side-Effects // The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities. — Pearson Education, 2006. — 1200 p. — ISBN 9780132701938.