For functions or computations we have terms like:
- Deterministic – Determinism
- Pure – Purity
Now what is the correct corresponding noun for side-effect-free?
"Side-effect freeness"? "Side-effect freedom"?
Computer Science Stack Exchange is a question and answer site for students, researchers and practitioners of computer science. It only takes a minute to sign up.Sign up to join this community
A good rule of thumb for grammatical questions is, if it's so complicated that you need to ask, it's better to just rephrase the sentence. For example, "Side-effect-freedom of the function guarantees X" is more simply and elegantly written, "Because the function is side-effect free, X is guaranteed" or even, "The function has no side-effects, so X is guaranteed."
Having said that, keywords for articles are expected to be noun phrases so that would be a place to use "side-effect freedom".
(By the way, "non-side-effective" is an adjective.)
The word is nullipotence, the noun form of nullipotent. From the first definition on Wiktionary:
(mathematics, computing) Describing an action which has no side effect. Queries are typically nullipotent: they return useful data, but do not change the data structure queried. Contrast with idempotent.
You almost got it with "side effect freedom". The problem is that this possibly means that the side effects are free (as in "freedom of side effects"). To be clear, you need "freedom from side effects". And note how "free of" does not pair with "freedom of"; both "free of something" and "free from something" go to "freedom from something".
In general, you will find that compound noun phrases whose head is "freedom" are instinctively eschewed by native speakers of English, even though they are grammatical. For instance "freedom of speech" and "freedom from oppression" are not called "speech freedom" and "oppression freedom". The meaning could be worked out from context ("speech freedom" probably isn't "freedom from speech", and "oppression freedom" isn't "freedom to oppress") but the forms are simply not euphonic. Even if that is merely from disuse, it is the way it is.
Academic papers in CS are also written for a world audience which includes non-native English speakers. If you're able, then write like a native English speaker.
You probably want "orthogonality". It seems to fit your definition exactly.