AWS BugBust is a global competition for Java and Python developers to identify and fix 1 million bugs. Announced last June 24th, AWS BugBust is currently available in few US Regions and additional regions will come soon.
This contest is fed with bugs, but you may wonder where they do come from ? They are simply extracted from two AWS tools :
CodeGuru, a code-review tool based on machine-learning that identifies bugs, AWS issues, and security best practices in the code, and is also capable of suggesting corrections. Could be seen as linter.
CodeGuru Profiler, which continuously inspects your application in production and identifies expensive pieces of code, and helps to reduce CPU or Memory consumption. .
BugBust invites you to create events, where you’re free to invite developers (called players), and fix the prizes and awards. Only players invited by the event administrators will be allowed to participate in the event. You must have configured CodeGuru in your AWS account so that at least one repository is scanned for bugs detection.
Note that your repository should be either GitHub, GitHub Enterprise, Bitbucket or AWS CodeCommit repositories.
Once ready, develops from around the world can join the challenge.
The whole process is summarized in this picture :
Once an administrator has made bugs available to players, each player can claim up to 3 bugs at a time to try fix them. If the bug has not been fixed within 2 hours, other players will be able to claim it.
To fix bugs, players can create pull requests with their code change, and if CodeGuru does not detect anymore the bug, it’s consider fixed and points are awarded. The bug category will determine the score (number of points to reward). For instance, “Regular expressions” bugs worths 1 point while “Security” issues reward players with 5 points.
AWS clearly gamifies the bug resolution process and challenges are collaborative. Developers earn points with their team and can reach milestones. Gamification will be a key factor to reach the expected 1 million bugs. AWS itself delivers prices depending on the level of points earned, going from a T-shirt to a paid trip to the conference re:Invent2021.
This claim may sound like a buzz word but this 1 million bugs goal is expected to save 100 M$. Indeed, this contest also targets to help organizations to improve code quality and reduces technical debt. This is of course an estimation. As we said previously, each bug is associated with a point value. A dollar equivalent, ranging from $769 to $10,000 is assigned based on the point value. Based on this FAQ extract :
“Estimated dollar savings are calculated by converting points awarded for a bug fix to a dollar equivalent as follows, based on the Systems Science Institute at IBM’s findings that it can cost up to 100 times more to fix a bug, depending on how far in the software lifecycle development the bug is identified, than during the initial design phase (International Journal Of Engineering And Computer Science, Study of Software Quality and Risk Estimation and Quality Cost Analysis using Empirical Study, July 2015)”
We can assume that the highest point for a bug, which is 13, can reward up to 10,000$ but this is the worst case. The best case could be 100$. Multiply by 1 million bugs and you’ll get the correct number. Again, this is an assumption, don’t take this for granted.
Last years more and more projects based on Artificial Intelligence developed tools based in order to help software developers and testers with their daily work. We could mention Aifex, an open-source tool for exploratory testing involving Promyze’s co-founder Xavier Blanc. We could also mention Sourcery, a refactoring tool for Python.
AWS BugBust claims that : “Developers can spend less time on cumbersome and arduous inspection processes that are critical, and more time having fun innovating and building together”
Tomorrow, if AI identifies all code issues, will developers still need to learn coding best practices, clean code principles, architecture patterns like domain-driven design? From our point of view, developers will still need to have control and master their code, and continuously discuss and improve their best practices, through a framework like Craft Workshops for instance. Coding is teamwork, and communication is the key for projects to succeed.
AWS BugBust may be a way for CodeGuru to learn and train itself thanks to bug corrections analysis. No doubt that 1,000,000 input data could help.
Promyze, the collaborative platform dedicated to improve developers’ skills through best practices sharing and definition.
Crafted from Bordeaux, France.