ABSTRACT
Previous research has motivated the idea of automatically determining when programmers are having difficulty, provided an initial algorithm (unimplemented in an actual system), and performed a small student-based evaluation to justify the viability of this concept. We have taken the next step in this line of research by designing and developing two-different systems that incorporate variations of the algorithm, implementing a tool that allows independent observers to code recorded sessions, and performing studies involving both student and industrial programmers. Our work shows that (a) it is possible to develop an efficient and reusable architecture for predicting programmer status, (b) the previous technique can be improved through aggregation of predicted status, (c) the improved technique correlates more with programmers' perception of whether they are stuck than that of observers manually watching the programmers, (d) the observers are quicker than the developers to conclude that programmers are stuck, (e) with appropriate training, the tool can be used to predict even the observers' perceptions, and (f) a group training model offers more accuracy than an individual one when the training and test exercises are the same and carried over a small time frame.
- Redmiles, D., et al. Continuous Coordination: A New Paradigm to Support Globally Distributed Software Development Projects. Wirtschaftsinformatik, 2007. 49 (Special Issue): p. 28--38.Google Scholar
- Sarma, A., D. Redmiles, and T.R. André van der Hoek., TR-UNL-CSE-2009-0017, 2009, The Coordination Pyramid: A Perspective on the State of the Art in Coordination Technology. 2009, UNL.Google Scholar
- Begel, A. and B. Simon. Novice software developers, all over again. in International Computing Education Research Workshop. 2008. Google ScholarDigital Library
- LaToza, T.D., Venolia, G., and Deline. R. Maintaining Mental Models: A Study of Developer Work Habits. in Proc. ICSE. 2006: IEEE. Google ScholarDigital Library
- Nawrocki, J. R., et al., Pair Programming vs. Side-by-Side Programming, in Software Process Improvement. 2005, Springer Berlin / Heidelberg. p. 28--38. Google ScholarDigital Library
- Dewan, P., et al. Experiments in Distributed Side-by-Side Software Development. In IEEE CollaborateCom. 2009.Google ScholarCross Ref
- Carter, J. and P. Dewan. Are You Having Difficulty? In Proc CSCW. 2010. Google ScholarDigital Library
- Herbsleb, J. D., et al. Distance, dependencies, and delay in a global collaboration. In Proc. CSCW. 2000. Google ScholarDigital Library
- Cataldo, M. Sources of Errors in Distributed Development Projects: Implications for Collaborative Tools. In Proc. CSCW. 2010. Google ScholarDigital Library
- Teasley, S., et al. How does radical collocation help a team succeed? In Proc. CSCW. 2000. Google ScholarDigital Library
- Cockburn, A. and L. Williams, The Costs and Benefits of Pair Programming. Extreme Programming Examined. 2001: Addison Wesley. Google ScholarDigital Library
- Williams, L., et al. Building Pair Programming Knowledge through a Family of Experiments. in IEEE ISESE. 2003. Google ScholarDigital Library
- Herbsleb, J. and R. E. Grinter. Splitting the Organization and Integrating the Code: Conway's Law Revisited. Proceedings of International Conference on Software Engineering. 1999. Google ScholarDigital Library
- Hegde, R. and P. Dewan. Connecting Programming Environments to Support Ad-Hoc Collaboration. In Proc. IEEE/ACM ASE. 2008. Google ScholarDigital Library
- Hollan, J. and S. Stornetta. Beyond Being There. In Proc. CHI '92. Google ScholarDigital Library
- Kapoor, A., Burleson, et al., Automatic Prediction of Frustration. International Journal of Human-Computer Studies, 2007. 65(8). Google ScholarDigital Library
- Liu, Y., Stroulia, E. A Lightweight Project-Management Environment for Small Novice Teams. In Proc. of 3rd International Workshop on Adoption-Centric Software Engineering. 2003.Google Scholar
- Begole, J. B., et al., Work Rhythms: Analyzing Visualizations of Awareness Histories of Distributed Groups. In Proc. of CSCW. 2002. p. 334--343. Google ScholarDigital Library
- Fogarty, J., Ko, A., Aung. H. H., Golden E., Tang, K. and Hudson S. Examining Task Engagement in Sensor-Based Statistical Models of Human Interruptibility. In Proc. CHI, 331--340, 2005. Google ScholarDigital Library
- Tang, J. C., et al. Unobtrusive But Invasive: Using Screen Recording to Collect Field Data on Computer-Mediated Interaction. In Proc. CSCW. 2006. Google ScholarDigital Library
- Shrauger, J. S. and T. M. Osberg. The Relative Accuracy of Self-Predictions and Judgments by Others in Psychological Assessment. Psychological Bulletin, 1981. 90(2): p. 322--351.Google ScholarCross Ref
- Chawla, N. V., et. al., Smote: Synthetic minority over-sampling technique. Journal of Artificial Intelligence Research, 2002. 16. Google ScholarDigital Library
- Witten, I. H., Frank, E. Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations. 1999: Morgan Kaufmann. Google ScholarDigital Library
- Y. Sharon. Eclipseye - spying on eclipse. Bachelor's thesis, University of Lugano, 2007.Google Scholar
Index Terms
- Design, implementation, and evaluation of an approach for determining when programmers are having difficulty
Recommendations
Transductive Multilabel Learning via Label Set Propagation
The problem of multilabel classification has attracted great interest in the last decade, where each instance can be assigned with a set of multiple class labels simultaneously. It has a wide variety of real-world applications, e.g., automatic image ...
Semisupervised Regression with Cotraining-Style Algorithms
The traditional setting of supervised learning requires a large amount of labeled training examples in order to achieve good generalization. However, in many practical applications, unlabeled training examples are readily available but labeled ones are ...
Semi-supervised learning by disagreement
In many real-world tasks, there are abundant unlabeled examples but the number of labeled training examples is limited, because labeling the examples requires human efforts and expertise. So, semi-supervised learning which tries to exploit unlabeled ...
Comments