NASA pioneered a lot of what underpins modern design of critical computer systems. Voyager's systems are impressively robust. As far as I know, they can patch it by directly sending up new assembly instructions that are written into its memory, and doing a warm reboot to get it to start executing new instructions without powering down anything. They had the foresight to make their software highly editable, while also having multiple redundancy and emergency systems. Despite this, I wonder how much pressure the people writing this software feel. Even with all the simulators and months of rigorous testing, sending up something that can (in the worst case) break the probe has to be terrifying.