EAC - Voluntary Voting System Guidelines

Name : | Ron Crane
Organization : | N/A
Post Date : | 9/30/2005
Section Comments
Section : | .20.5.4.2
Page no. : |
Line no.: |
Comment : | 7e. e. Vol. II, §5.4.2(i-j) permit the use of code generators, and exempt code generated by "commercial code generators" from module-length and commenting rules. They do say that "if possible, a copy of the source code [be] provided to the test lab with the generated source code replaced with an unexpanded macro call or its equivalent;" The metacode ("unexpanded macro call or its equivalent") for some commercial code generators, like Rational Rose,11 is binary, and is useless if not viewed using the (expensive) generator itself. This expense will deter test labs from buying these generators, and will make it much more difficult for public-interest groups to do so. The end result may be that the "source code" submitted for review will be largely impenetrable, and the review, thus, ineffective.12 Further, Vol. II, §5.4.2 (j) could be read to permit even the use of non-commercial code generators, such as a vendor might write itself. Such tools, and also vendor-written compilers, linkers and the like (which the Guidelines also appear to allow ) permit an unscrupulous vendor to cheat to any desired extent. Finally, voting systems are not (or should not be) complex enough to justify the use of code generators. The bromide that standards should determine how a system performs, not how it is built, is a useful one - but not here. Security is paramount in voting, and certain procedures - such as the use of code generators - make it much more difficult to ensure. The Guidelines should ban the use of code generators, vendor-written compilers, interpreters, and linkers, and similar tools.