Crowdsourcing program preconditions via a classification game

Daniel Fava, Dan Shapiro, Joseph Osborn, Martin Schäef, E. James Whitehead
2016 Proceedings of the 38th International Conference on Software Engineering - ICSE '16  
Invariant discovery is one of the central problems in software verification. This paper reports on an approach that addresses this problem in a novel way; it crowdsources logical expressions for likely invariants by turning invariant discovery into a computer game. The game, called Binary Fission, employs a classification model. In it, players compose preconditions by separating program states that preserve or violate program assertions. The players have no special expertise in formal methods
more » ... programming, and are not specifically aware they are solving verification tasks. We show that Binary Fission players discover concise, general, novel, and human readable program preconditions. Our proof of concept suggests that crowdsourcing o↵ers a feasible and promising path towards the practical application of verification technology.
doi:10.1145/2884781.2884865 dblp:conf/icse/FavaSOSW16 fatcat:3bpdnngzvrfj3f3aqdghq6eoem