Thomas LaToza, a postdoctoral research associate, and André van der Hoek, an ISR Professor, have been awarded $1.4M by the National Science Foundation to investigate “Crowd Programming,” applying ideas from microtask crowdsourcing to software development.
Microtask crowdsourcing (“microtasking”) has had extraordinary success in solving a diverse set of problems, ranging from digitization of libraries and translation of the Internet, to scientific challenges such as classifying elements in the galaxy or determining the 3D shape of an enzyme. By leveraging the power of the masses, microtasking systems have demonstrated that it is feasible to complete tasks in mere days and sometimes even hours, and to take on tasks that were previously impossible because of their sheer scale.
LaToza and van der Hoek seek to address the question of whether the same kinds of successes that microtasking is having in revolutionizing other domains can be brought to software development. As compared to microtasking in other domains, however, software is particularly challenging to microtask: it is inherently non-uniform, steeped with dependencies, difficult to describe in terms of the functionality desired, and can be implemented in any number of ways. The fundamental question they seek to address is how the nature of software impacts what may and may not be possible in terms of microtasking. To investigate this, they are developing (1) theoretical understandings of crowd programming in terms of whether it can be achieved, in which form(s), under what conditions, and with which benefits and drawbacks, and (2) a microtasking platform, CrowdCode, that offers a tool set specifically designed to address the intricacies of crowd programming.
In their current work, LaToza and van der Hoek have focused on two aspects of software development: programming and software design. In a paper to appear at the ACM Symposium on User Interface Systems and Technology, LaToza and van der Hoek, together with Ben Towne, Carnegie Mellon University and Ph.D. student Christian Adriano, investigated the initial feasibility of programming with microtasks. They designed an initial environment for programming, enabling developers to write code, write tests, respond to changes, and debug through only local self-contained microtasks, and devised a technique for the system to automatically generate these microtasks. In a small lab study, they found that 12 “workers” were able to successfully write 480 lines of code and 61 unit tests through 265 individual microtasks. In another study, LaToza and van der Hoek, together with visiting masters students Micky Chen and Luxi Jiang, investigated the use of software design competitions, and found that enabling designers to “steal” ideas from others, thereby creating a recombination process, enables higher quality designs to be produced.
For more information on LaToza and van der Hoek’s crowdsourcing research, visit the Software Design and Collaboration Laboratory website: http://sdcl.ics.uci.edu and see our spotlight on “Microtasking Software Development."