Here is the solution: The machine is used as a data-input device ONLY. This solves all the problems from earlier ways of voting, including “hanging chads” etc. It then prints out a paper ballot, filling in the voter’s choices from the touch-screen. The voter looks over the ballot and, if it has the right information, puts it into a separate ballot box. Then there is a way to PROVE how the voters voted. AND it doesn’t MATTER what software is on the machines.
I think this is exactly what should be done. And if one were clever, there would be a way the paper ballots could be optically scanned to speed the counting process.