4Experts: A Task Recommendation Approach Using Machine Learning and Biometric Data
ResumoContext: The identification of skills and technical competences that a developer has and assigning tasks according to their abilities can improve task execution and reduce negative emotional aspects such as frustration. Problem: The assignment of coding tasks that require skills and technical competences greater than the competences of a developer can contribute to the expansion of the effort to perform a task and the generation of negative emotions such as frustration. Soluction:This study presents 4Experts, an approach to recommend software tasks, using machine learning and biometric data collected by an electroencephalogram (EEG), related to the brain activities of developers. IS Theory: This study was conceived under the aegis of the Cognitive Load Theory, related to the treatment of working memory by structuring information so that the individual can develop schemes and rules that allow storing learning in long-term memory, improving knowledge acquisition and performance. Method: The research has a prescriptive character, and its evaluation was carried out through proof of concept and controlled experiment. The results were analyzed using a quantitative approach. Summary of Results: In the experiments carried out, the 4Experts presented an accuracy of 83% in the prediction of the developer’s expertise and an adherence to the use of the approach by 68% of the participants. Contributions and Impact in IS area: The main contribution of this approach is to recommend tasks through the use of biometric data that assess the developer’s cognitive load, contributing to the acquisition of knowledge and performance in the construction of IS.
John Anvik and Gail C. Murphy. 2011. Reducing the effort of bug report triage: Recommenders for development-oriented decisions. ACM Transactions on Software Engineering and Methodology 20, 3 (2011). https://doi.org/10.1145/2000791.2000794
Atlassian. 2004. Jira. https://www.atlassian.com/software/jira
Clodis Boscarioli, Renata Araujo, and Rita Suzana. 2017. I GranDSI-BR Grand Research Challenges in Information Systems in Brazil 2016-2026 Organized by.
Igor Crk, Timothy Kluthe, and Andreas Stefik. 2015. Understanding Programming Expertise. ACM Transactions on Computer-Human Interaction 23, 1 (2015), 1–29. https://doi.org/10.1145/2829945
Edgewall. 2004. Trac. https://trac.edgewall.org/
Janet Feigenspan, Christian Kastner, Jorg Liebig, Sven Apel, and Stefan Hanenberg. 2012. Measuring programming experience. 2012 20th IEEE International Conference on Program Comprehension (ICPC) 2005 (2012), 73–82. https://doi.org/10.1109/ICPC.2012.6240511
MK Gonçalves, LRB de Souza, and VM González. 2011. Collaboration, Information Seeking and Communication: An Observational Study of Software Developers’ Work Practices. J. Ucs 17, 14 (2011), 1913–1930.
Denys Poshyvanyk2 Huzefa Kagdi1, Malcom Gethers2 and Maen Hammad. 2011. Assigning change requests to software developers. Journal of Software: Evolution and Process 26, 12 (2011), 1172–1192. https://doi.org/10.1002/smr
Manoel Limeira de Lima Júnior, Daricélio Moreira Soares, Alexandre Plastino, and Leonardo Murta. 2018. Automatic assignment of integrators to pull requests: The importance of selecting appropriate attributes. Journal of Systems and Software 144, May 2017 (2018), 181–196. https://doi.org/10.1016/j.jss.2018.05.065
Arthur E Kramer. 1990. Physiological Metrics of Mental Workload: A Review of Recent Progress.
Jean-Philippe Lang. 2006. Redmine. https://www.redmine.org/
Seolhwa Lee, Danial Hooshyar, Hyesung Ji, Kichun Nam, and Heuiseok Lim. 2017. Mining biometric data to predict programmer expertise and task difficulty. Cluster Computing January (2017), 1–11. https://doi.org/10.1007/s10586-017-0746-2
Walid Maalej and Hans-Jorg Happel. 2009. From work to word: How do software developers describe their work?. In 6th IEEE International Working Conference on Mining Software Repositories. 121–130.
Nikola Marangunić and Andrina Granić. 2015. Technology acceptance model: a literature review from 1986 to 2013. Universal Access in the Information Society 14, 1 (2015), 81–95.
Dominique Matter, Adrian Kuhn, and Oscar Nierstrasz. 2009. Assigning bug reports using a vocabulary-based expertise model of developers. Proceedings of the 2009 6th IEEE International Working Conference on Mining Software Repositories, MSR 2009 (2009), 131–140. https://doi.org/10.1109/MSR.2009.5069491
Juliano Paulo Menzen, Kleinner Farias, and Vinicius Bischoff. 2021. Using biometric data in software engineering: a systematic mapping study. Behaviour & Information Technology 40, 9 (2021), 880–902. https://doi.org/10.1080/0144929X.2020.1734086
Andre N. Meyer, Laura E. Barton, Gail C. Murphy, Thomas Zimmermann, and Thomas Fritz. 2017. The Work Life of Developers: Activities, Switches and Perceived Productivity. IEEE Transactions on Software Engineering 43, 12 (dec 2017), 1178–1193. https://doi.org/10.1109/TSE.2017.2656886
Sebastian Müller. 2016. Using Biometric Sensors to Increase Developers’ Productivity. Ph. D. Dissertation. University of Zurich.
Sebastian C. Müller and Thomas Fritz. 2015. Stuck and frustrated or in flow and happy: Sensing developers’ emotions and progress. Proceedings - International Conference on Software Engineering 1, May (2015), 688–699. https://doi.org/10.1109/ICSE.2015.334
Sebastian C. Müller and Thomas Fritz. 2016. Using (bio)metrics to predict code quality online. In Proceedings of the 38th International Conference on Software Engineering - ICSE ’16. ACM Press, New York, New York, USA, 452–463. https://doi.org/10.1145/2884781.2884803
Jan-Peter Ostberg, Daniel Graziotin, Stefan Wagner, and Birgit Derntl. 2017. Towards the Assessment of Stress and Emotional Responses of a SalutogenesisEnhanced Software Tool Using Psychophysiological Measurements. 2nd International Workshop on Emotion Awareness in Software Engineering SEmotion (2017), 2–5.
Apel Peitek, Siegmund. 2018. A Look into Programmers’ Heads. IEEE Transactions on Software Engineering (2018), 1–1. https://doi.org/10.1109/tse.2018.2863303
Norman Peitek, Janet Siegmund, Chris Parnin, Sven Apel, and André Brechmann. 2018. Toward conjoint analysis of simultaneous eye-tracking and fMRI data for program-comprehension studies. Proceedings of the Workshop on Eye Movements in Programming - EMIP ’18 (2018), 1–5. https://doi.org/10.1145/3216723.3216725
M P Robillard, R Walker, and T Zimmermann. 2010. Recommendation Systems for Software Engineering. IEEE Software 27, 4 (2010), 80–86.
Pierre N. Robillard. 1999. The role of knowledge in software development. Commun. ACM 42, 1 (1999), 87–92.
Janet Siegmund, Norman Peitek, Chris Parnin, Sven Apel, Johannes Hofmeister, Christian Kästner, Andrew Begel, Anja Bethmann, and André Brechmann. 2017. Measuring neural efficiency of program comprehension. Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering - ESEC/FSE 2017 11 (2017), 140–150. https://doi.org/10.1145/3106237.3106268
Michal R. Wrobel. 2013. Emotions in the software development process. 6th International Conference on Human System Interactions (HSI) June 2013 (2013), 518–523.
Wenjin Wu, Wen Zhang, Ye Yang, and Qing Wang. 2011. DREX: Developer recommendation with K-nearest-neighbor search and EXpertise ranking. AsiaPacific Software Engineering Conference, APSEC (2011), 389–396. https://doi.org/10.1109/APSEC.2011.15
Tao Zhang and Byungjeong Lee. 2012. How to recommend appropriate developers for bug fixing? Proceedings - International Computer Software and Applications Conference (2012), 170–175. https://doi.org/10.1109/COMPSAC.2012.27