Buggy technology is indistinguishable from malware
maxhodak.com
maxhodak.com
Beyond the philosophical, software correctness is a deeply interesting problem with many different angles of attack. The most recent ray of hope for me has been learning TLA+. It answers so many questions about the complexity of software, and has such a relentlessly elegant design that simplifies so many aspects of understanding software. Software behavior is a sequence of states - nothing more.
When we write code, we’re attempting to encode all possible state sequences, the number of which can be astronomical, as this article references. But it’s quantifiably large - we can know the exact size of the state space. Software is not some metaphysical phenomenon that is beyond mastery.
It can be built to work correctly, it just requires a desire to move beyond the current tools that we have which are focused on easy construction. We’ve focused all of our energy on just enabling the construction of any software in the past 60 years - we need to now move on to enabling correct software.