As software systems become ever more complex in both their feature set and their scale, the task of debugging them (the process of going through your code and eliminating bugs) multiplies also and costs a lot of money.
Traditional methods of debugging usually involve software testers to run the in-progress software in every scenario possible and detailing every time a bug pops up. These lists will go back to the development teams and as they work their way through these, slightly newer versions of the software get trialled by the testing teams. Sometimes fixing one bug will cause another to spring to life – and so this cycle can go on for a long time. Even with these processes, most software released has up to 5 bugs per 1,000 lines of code, with the paying users become the unsuspecting beta testers as their feedback is sent back to the programmers automatically by the application itself.
US Defence Advanced Research Project Agency (DARPA) funded a crowdsourcing project to tackle the issue of bug-riddled software recently.
One of the concepts to come out of this project came from SRI International, a non-profit research institute based in California. Their idea is to make squashing bugs fun by creating a video game, played by gamers but to help identify if a particular software application is bug free or not.
The game, ‘Binary Fission’ is a puzzle game where players set filters to separate different coloured objects. These objects represent genuine code not visible to the player and the filtering system represents the different computing tasks. The more people playing the game, the more data is collected, helping find bugs with the related code referenced.
In principle the idea of adding gamification (the process of applying video game-like qualities to other tasks) to debugging code has much merit. A lot of people spend considerable amounts of time playing similar puzzle games on the internet and If it was possible to apply this approach without directly intruding on the players’ entertainment then it’s a win-win for all involved.
It is still very early days but if a standard framework for this type of de-bug game could be applied to all types of applications in software development then we could see ad-riddled internet games replaced with ad-free versions, sponsored by the development houses, with playtime equalling debugging time on their code.
Microsoft are also in a unique position. If such a de-bugging software platform does take off, we may see MS Office being de-bugged behind the scenes, not just by preview members, but also the MS Xbox gaming community playing Microsoft published games to help identify the bugs.