VIVA: vanb’s Input Verification Assistant

Jump to navigation Jump to search

VIVA: vanb’s Input Verification Assistant

David Van Brackle
Chief Judge, Southeast USA Region



Each year, as the Southeast USA Region prepares for its contest, the Chief Judge is tasked with constructing a problem set, and with it, the Judge’s Data that will be used to test contestants’ submissions. Ensuring the accuracy of this data can be a challenge. Each of the judges writes a solving program, to confirm the validity of the judge input and output, but even still, there are issues that can go undetected. Extra spaces, blank lines, values outside of specified ranges, and so on, can creep into the judge input. The judges are mainly former competitors who write very robust programs, which are immune to troubles caused by such formatting and constraint errors. However, these kinds of issues can cause problems with competitor’s code during the contest, causing, at best, extra effort and delays by the judges during the contest, and at worst, incorrect judge responses.

VIVA is a program to help verify that judge input conforms to the standards of a given contest, and that the data falls within the constraints specified in the problem statement. It reads a pattern specified in its own simple pattern specification language. It then reads input files, and determines if (and where) they violate the specified constraints.

This presentation will discuss the motivation behind VIVA with some specific examples encountered in past contests in the Southeast USA Region. It will then present the pattern specification language, construct by construct, with example contest problem input specifications. VIVA is a work in progress, and not all of the constructs have been implemented; the presentation will indicate which are available, and which are under development.