Overview

The build-it, break-it, fix-it (BIBIFI) contest takes place over three rounds. Each round is one weeks in length.

  • Round 1: Build-it teams build software according to a problem specification that is announced on the day the contest begins. To qualify, this software must pass a set of correctness tests that we will provide. It is scored based on its performance, and on how many optional features it implements.
  • Round 2: Break-it teams are given access to the source code of build-it submissions and they attempt to find correctness and security bugs (where the definition of the latter is problem specific). They submit test cases that provide evidence of these bugs, and these are vetted by our submission system. Teams receive points for each bug they find, and more points for security-relevant bugs.
  • Round 3: Build-it teams are given the test cases for bugs found against their submission, and may fix those bugs. If fixing a bug causes multiple test cases to pass (as is likely) then build-it teams earn points back for the duplicate tests (and break-it teams lose the corresponding points).

Registration

To participate in the contest, you need to:

  1. Create an account.
  2. Create a team, or join a team (your team leader can invite you).
  3. If you are the team leader, sign your team up for the contest.

Rules

General

  • Do not hack the contest's infrastructure, or you will be disqualified.
  • For any questions, please use the eCampus learning platform - by doing so, anyone with similar questions will benefit from the answer. Please refrain from emailing questions to the organizers directly.
  • Teams must do their own work and not share solutions with others.
  • Contest organizers reserve the right to use their discretion in making judgements.

Build-it

  • Do not obfuscate the source code in your submissions, or you will be disqualified.
  • Make sure that your build-it submissions do not time out. You will be given 10 minutes before a single test times out and 30 minutes for all tests to complete before timing out.
  • Beware of changing your build submission between the build-it and fix-it rounds because if you make changes, they will be considered as part of your first fix, which may end up disqualifying it.

Break-it

  • You will only be allowed to make 5 submissions against a single team.

Fix-it

  • Only fix a single bug (or vulnerability) at a time.