At the most basic, you just have N+1 copies of the program, and run whichever one is longest, since that must be the one with no missing characters.
The program itself then prints N+1 copies of itself...
You just need a little care about the start of the first program, since that is the 'entry point' - it needs to fall through to the 2nd program if the first is damaged.
Comments
At the most basic, you just have N+1 copies of the program, and run whichever one is longest, since that must be the one with no missing characters.
The program itself then prints N+1 copies of itself...
You just need a little care about the start of the first program, since that is the 'entry point' - it needs to fall through to the 2nd program if the first is damaged.
The code that checks which one is longest needs to be resilient to missing characters
Plus, a bit flip doesn’t necessarily remove a character..
The "radiation hardening" aspect is metaphorical, this is referring specifically to removing characters, not bit-flips from gamma rays.