Interesting how the term "software correctness" keeps popping up in this column. What is correct software, and can it be achieved -- if so how? The Math CountS columns strive to provide some insights into answering the latter question. One example I used in my entry level classes was developing the software for a heart pacemaker. Pushing the popular develop and test analogy to its limit, the pacemaker developer would test the system on a patient. If problems arose, e.g., death, then debug and test again. Finding agreeable test candidates would be a key to this approach ** SMILE *.
/lp/association-for-computing-machinery/math-counts-software-correctness-and-a-sigcse-2008-bof-Pwp2eU4kH0