Towards a Fictional Collective Programming Scenario: an Approach Based on the EIF Loop

Inner Mongolia Normal University,Zhang Wei,Zhao Haiyan,Jin Zhi
DOI: https://doi.org/10.1007/s10664-020-09850-7
IF: 3.762
2020-01-01
Empirical Software Engineering
Abstract:In this paper, we base our research on a fictional collective programming scenario: A group of physically-distributed programmers try to collaboratively solve a programming problem in a web-based development environment, through a continually executing loop, consisting of three concurrent activities: exploration, integration, and feedback. In exploration , a programmer is freely to submit a sequence of gradually improved solutions until achieving a correct one. All programmers’ latest submissions are integrated into a collective artifact through integration . And through feedback , any programmer who hasn’t achieved a correct solution is continuously pushed with personalized feedback information from the collective artifact, to help the programmer improve her/his submission. In order to facilitate the realization of this fictional scenario, we narrow the target problems to those introductory programming problems, design a genetic algorithm to integrate a set of syntax-correct programs into a collective program dependence graph (CPDG), and propose an automatic feedback generation method based on the CPDG and a programmer’s latest submission. The key idea is to generate feedback from mutual inspiration: Any programmer’s submission (even not correct) may possess information that could provide inspiration for others. We evaluate the proposed approach through a set of simulated experiments, as well as a set of real experiments. The results show that our approach has a precision of 90% and a recall of 80% in randomly generated data sets on average, and a precision of 69% and a recall of 77% in real student submissions on average.
What problem does this paper attempt to address?