Title: Organizing Software Development Using Competitions

Speaker: Karl Lieberherr, College of Computer and Information Science, Northeastern University, Boston.

Abstract

We start from software requirements written as interpreted logic statements, for example, by expressing preconditions and postconditions. We use side-choosing games associated with interpreted logic statements as the foundation for supporting the process of developing code. Developers create software for strategies that play the side-choosing game on their behalf. These strategies contain components for solving the given computational problem as well as for testing the strategies of others during competitions. The overall process makes development a fun activity which has a collaborative and competitive nature.

We call our approach the Scientific Community Game (SCG). SCG generalizes the approach of TopCoder. Our new competition design is desirable from two viewpoints. (1) We minimize the effort on the competition administration by distributing the work of evaluation among participants while avoiding unfair evaluation. (2) We minimize collusion so that the strong participants cannot be outnumbered by colluding participants. Our design is axiomatic in that we formulate axioms (including a collusion-resistant axiom) for ranking functions and we prove a representation theorem.

We describe a proof of concept implementation of SCG which uses a modular construct, called a lab, to group related requirements and to solve labs incrementally through lab relations, which are themselves captured as labs. We report on the usage of earlier versions of SCG for teaching software development and algorithms (2007-2014).

In addition to software development, SCG and its theoretical foundation is also useful for pushing the state-of-the-art in formal sciences and in education in formal sciences. Indeed, the system was developed in the context of education (Algorithms and Software Development Courses) to facilitate fair peer grading and focused communication among students.

Joint work with Ahmed Abdelmeged and Ruiyang Xu.