7 ms·
You want to have examples for assertions? Consistency between arguments: memcpy "The memory areas must not overlap." Dependency of return value on arguments:
by qznc 12y ago
You want to have examples for assertions?
Consistency between arguments: memcpy "The memory areas must not overlap."
Dependency of return value on arguments: max returns one of its arguments. r = max(x,y); assert (r == x || r == y);
Effect on global state: printf might change the global errno variable.
- jraedisch 12y agoSo this means embedding small tests into the production code itself while accepting minor performance loss? And you somehow get a feeling for when this will help through experience? I wonder, whether this impacts all programming languages the same.
- qznc 12y agoIt is not necessarily about runtime tests. Often assertions are only used for debug builds. Java requires an extra flag to enable assert statements. Alternatively, assertions could be invariants or pre/post conditions for your formal proofs of correctness. I'm too lazy to check the actual paper, if they clarify their understanding. ;)