| With the development of the software industry,more and more people are entering the software development industry.Researchers have also begun to conduct some research on developers,including their programming behavior patterns and their psychological state during work day.Business managers can use these conclusions to dynamically adjust the working hours and task load of developers,which can improve the working experience of developers and increase the team productivity at the same time.However,many related work mostly focuses on the programming behavior of developers,researches on their psychological state at work are not common.Most of these studies are carried out in laboratory scenarios,and the validity of their data cannot be guaranteed.Developers’ programming data collected in laboratory scenarios is often different from real enterprise scenarios,and the data processing methods are quite different.These factors affect the reliability of the final experimental results,which ultimately led to their conclusions unable to provide correct guidance for business managers.This paper focuses on the recognition of psychological state of software developers in real enterprise environment.An experimental program to recognize psychological state with the help of developer programming behavior data is proposed,and problems that may be encountered in conducting experiments in real enterprise environment are summarized.We analyze these problems one by one and propose a problem-solving framework,named EPRFML,which includes modules such as data collection,data processing,and recognition of psychological states with the help of machine learning methods.In order to ensure the quality of data,we propose a non-intrusive and privacypreserving data collection tool named Dev Act Rec.At the same time,we propose a set of standard data processing procedures,and conduct experimental research on the problem of ”engagement” state recognition.The specific implementation of the different modules in the technical framework given by us has formed a complete set of applications that recognize the different psychological state of developers.The experiments conducted on the recognition of the ”engagement” state have proved the effectiveness of our framework.In all,the contribution of this paper includes:1.We analyze the requirements of developers’ psychological state recognition problems in real enterprise environment,and propose a solution to recognize psychological states with the help of data from developers’ interaction with IDE,and integrate them into the framework EPRFML,which can support various psychological state recognition tasks.2.We propose two kind of data collection principles,non-intrusive and privacy protection,and develop a set of data collection tool Dev Act Rec in the form of IDE plug-in,which can collect all interaction data between developers and IDE,and regularly sample their psychological state in the form of questionnaires.3.We propose a conceptual model of data abstraction,which abstracts the original data into a sequence of behaviors with different granularities.We also give a data processing method for conducting psychological state recognition experiments.Finally,we select the ”engagement” state recognition problem to collect data and conduct experiment,which prove the effectiveness of the framework proposed in this paper.4.We summarize the team’s research work on developers’ psychological state recognition,and conduct experiments on it based on the EPRFML framework.Finally,the experimental results of the three kind of psychological state in the real enterprise environment were obtained.We integrate experiment data sets,experiment procedures and results,and obtained a benchmark suite that identify the mental state of developers,which provides a reference for related research work,and obtained a benchmark suite for the recognition of psychological mental state of developers. |