Quick Event is an orienteering event management application. On the competition day it is a key part of data collection and results lists generation. A typical Czech orienteering event has anywhere between 400 and 1500 runners whose data must be processed in approximately four hour long window at the competition site. This task demands reliable software as failures have potential for making large number of people irritated and damaging organizing club's reputation.

What has been done so far:

  • The original author ran Quick Event through Valgrind and Clang
  • I ran Quick Event with GCC Address Sanitizer without any crashes
  • I set up Coverity Scan for the project (https://scan.coverity.com/projects/quickbox)
  • Coverity didn't identify any severe bugs, most of the medium and low severity defects have been fixed

Overall assessment so far is that the project is in good shape in terms of reliability but the code in some places is ugly.

Next steps:

  • Use other GCC features to spot errors - Undefined Behavior Sanitizer, extra warnings
  • Create unit tests and start refactoring the worst looking parts of code (https://github.com/fvacek/quickbox/blob/master/libqf/libqfcore/src/model/sqltablemodel.cpp#L138, https://github.com/fvacek/quickbox/blob/master/quickevent/app/plugins/qml/Receipts/src/receiptsprinter.cpp#L300)
  • Document the code
  • After basic hardening is done, extend the functionality:
    • Allow processing event info from SI box backup memory readout
    • Support bar code / QR code tagged paper punch cards

Looking for mad skills in:

qt c++

This project is part of:

Hack Week 14

Activity

  • almost 3 years ago: LPechacek added keyword "c++" to Hardening Quick Event
  • almost 3 years ago: LPechacek added keyword "qt" to Hardening Quick Event
  • almost 3 years ago: LPechacek originated Hardening Quick Event
  • Show History

    Comments

    Be the first to comment!

    Similar Projects

    This project is one of its kind!