On Aug 28, 2012, at 08:35 , John Kasunich wrote: > I want to raise a red flag about XP and other test driven development > methods. They work fine for deterministic situations, but you can't > use testing to prove the absence of race conditions and other rare > bugs that can occur when doing realtime programming. It is very > easy to write code that will work fine until one instance of the > program happens to interrupt another during that single line of code > that isn't properly re-entrant. Said interrupt may happen once a > year, or less, and testing will never find it.
I agree with this. Test suites are necessary but not sufficient. Additional quality assurance is needed. There are tools that help find race conditions - static analyzers are getting really good. The buildbot is currently running every commit through Clang (http://buildbot.linuxcnc.org/clang/), it's not the best SA tool but it's free and open source. We also have access to Coverity's "Prevent" tool, which is the best SA tool I've ever used. Coverity gives free access to Prevent to open-source groups via their "Scan" project. Prevent can detect many race conditions. Prevent analysis of LinuxCNC has not been automated yet, each run is done manually (by me) so it doesn't happen very often. The most recent run was back in February… Coverity has been changing and upgrading their Scan infrastructure and it was often kind of broken during 2011, but it seems like maybe it's stabilizing now. The last run I did did not find any races (but lots of other defects). They've since upgraded their version of Prevent in Scan to 6.0, so I should run it again and see if it sees anything new… BTW, anyone who wants access to our Prevent results via the Coverity web UI should mail me the username you want, the email address you want to use to register, and your first and last name, and I'll make you an account. -- Sebastian Kuzminsky ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
