Xylem: The Code of Plants is a quasi-casual math puzzle game with the goal of crowdsourcing formal software verification through the analysis of loop invariants. The game presents players with puzzles derived from data produced by loops in a particular piece of software. Solving these puzzles involves finding and expressing a loop invariant that holds for that set of data, which results in an annotation in the original code. In this way, players can contribute to the effort to formally verify a piece of software while enjoying mathematical puzzles.

Taking on the role of a botanist in 1921, the player catalogs new plant species by describing patterns in the plants’ morphology. While players solve puzzles and find patterns in fictional plants, they are simultaneously helping with real-world software security. As players solve puzzles, they are simultaneously providing loop invariants which in turn prove small pieces of the target software to be correct and free of possible common vulnerabilities. With many players contributing, the cost of doing formal verification is reduced by shifting work from highly-paid experts. This frees up these formal verification experts to focus on the harder, more interesting, problems or to prioritize the efforts of game players.

In order to find a loop invariant, players must first examine the different growth phases of a given plant species by comparing samples (growth phases) of that species side by side. The player’s job is to discover one mathematical rule that holds across every growth phase of that plant.

Once the player has intuited a solution that holds true for each growth phase, their task is to construct a mathematical equation that describes the pattern. The player is provided with a set of tool tiles that can be dragged into a central workspace and linked together to form these equations. If the created rule holds for a given growth phase, the background of the “slide” representing that growth phase turns green. The player has a successful solution when all slide backgrounds for a species turn green.

To attract as large a crowd of players for the game as possible, Xylem was originally designed with a wide audience in mind. Attention has been given to narrative and aesthetics which would appeal to a wide variety of people. Math skills required for success in the game have been limited to basic algebra whenever possible. Rather than approaching the game from the perspective of solving a science problem by adding game-like elements to a close mapping of the science involved, Xylem: The Code of Plants is an experiment in mapping a science problem to an alternate domain (in this case, botany) and in balancing game design and science concerns.