Implementation [of conserved quantity test]

Whether a k-color cellular automaton with range r conserves total cell value can be determined from

Catch[Do[(If[Apply[Plus, CAStep[rule, #1] - #1] != 0, Throw[False]] & )[ IntegerDigits[i, k, m]], {m, w}, {i, 0, k^{m} - 1}]; True]

where w can be taken to be k^(2r), and perhaps smaller. Among the 256 elementary cellular automata just 5 conserve total cell value. Among the 2^{32} k=2, r=2 rules 428 do, and of these 2 are symmetric, and 6 are reversible, and all these are just shift and identity rules.