Correlates of Programmer Efficacy and Their Link to Experience: A Combined EEG and Eye-Tracking Study
This repository contains the replication package, analysis scripts, and additional information on our study on programmer efficacy and their link to experience.
Our paper was accepted at FSE 2022: Publication: Norman Peitek, Annabelle Bergum, Maurice Rekrut, Jonas Mucke, Matthias Nadig, Chris Parnin, Janet Siegmund, Sven Apel. Correlates of Programmer Efficacy and Their Link to Experience: A Combined EEG and Eye-Tracking Study. In Proceedings of the Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE) 2022 (preprint pdf).
Psychopy
Python 3/ Anaconda
- Jupyter
- requirements.txt
Matlab
- EEGLab
The requirements.txt provides all the dependencies for the project. It is recommended to use a separated environment to run the project. One can create suche a virtualenv with the command:
$ conda create -n your_env_name python=3.8
$ conda activate your_env_name
$ conda install pip
$ pip install -r requirements.txt
To create the Stimuli the following files where used:
- SnippetGneration_Lib.py
- SnippetGneration_JsonGenerators.ipynb
- SnippetGneration_ImageGeneration.ipynb
- SnippetGneration_ExcelConfig.ipynb
- In CodeSnippets one can find all Stimuli required by the Study and the Data Evaluation.
- In Study one can find the files for running the PsychoPy Study.
- In dataEvaluation one can find the files for running the data evaluation.
The CodeSnippets folder contains all the files regarding the Stimuli. The files are the following:
- Examples contains the trainings task of the study.
- fonts contains the fonts used in the Snippets.
- Labeled Generators contains the generators for the Labeled Snippets. These are based of Tokens and bigger syntactical structure.
- Unlabeled Generators contains the generators for the simple generating the Images of the Snippets.
- Snippets contains the Snippets as png.
- Source contains the source code of the Snippets.
- Syntax contains the Syntax tasks for the Study.
The Study folder contains of different file kinds. The files are organized in the following way:
- Study/libs are containing the .whl files needed for recording Eyetracking and EEG Data in Psychopy. Make Sure to install these .whl files to the PsychoPy environment.
- Study/Resources contains images and json files which help to run the study. These are Distraction Tasks, a training example, a test example, Helpers Images and the textbase for the study.
- several '*condtion.xlsx' files which are used for finding the stimuli with a relative path. These are also used for the pseudo randomization of the stimuli.
- Study.psyexp is the main file for running the study.
Before you start get the rawData (https://osf.io/4hjbd/) and put it into 'dataEvaluation/data/'
In Here you will find the files for running the data evaluation. These files are are named from Preporcessing01 to Preporcessing05. Execute them in order to get the data in the right format. After that you can run the data evaluation of RQ1 and RQ2. Make sure to have the EEGLab installed in the directory.
For further Information read the README.md of the data evaluation.
This repository is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
If you have questions, please contact me directly: peitek@cs.uni-saarland.de
. Thank you!