Programmer 2.0: shape a new S/W development paradigm using biofeedback Autonomic Nervous System Module
Áreas de especialidade
Local do Estágio
The proposed thesis is part of the on-going FCT-funded project BASE. The main goal is to research software bugs in a new perspective using physiological response and software reliability engineering in a tight interdisciplinary approach to understand the brain mechanisms involved in software error making and error discovery, in particular code errors due to lack of attention during logical reasoning.
This biosensing approach will allow the establishment of predictive relationships between brain activity related to bug making/discovery and measurable body response monitored by current wearable devices, in order to identifying conditions (and corresponding code locations) that may precipitate programmers making bugs or bugs escaping human attention.
The overall BASE Biofeedback Augmented Software Engineering approach will allow online bug warning, calling programmers’ attention to code areas that need a second look, and will establish radically new software testing strategies and bug prediction models.
Intellectual activities such as code comprehension and bug discovery invoke not only cognitive control (researched in the project using mainly fMRI, fNIRS and EEG) but also cause physiologic responses driven by the Autonomic Nervous System (ANS) that triggers variations in the heart rate, blood pressure, breathing rhythm and skin electrical characteristics. It is well known that these variations are related to individual emotional stress, environment tension, cognitive overload, difficulty in solving problems, as well as with relaxation and attention shift moments. There are many commercial smart watches and wearable devices that can monitor ANS driven response and surrogates such as heart rate variability (HRV), breathing rhythm and electrodermal activity (EDA), including sophisticated wearable devices equipped with photoplethysmography sensors (PPG), optical and pressure sensors balistocardiography, and even wearable versions of ECG that are compatible with daily activities of software developers and testers.
The overall research goal of this thesis involves the development and validation of new multi-parametric models and algorithms that allow to correlate the information gathered from the wearable devices with the previously collected fMRI/fNIRS and EEG results on the identification of the neuronal patterns associated to bug making/discovery.
The detailed goals are:
- Support data collection studies related to synchronised fMRI/fNIRS/EEG/ECG/PPG/EDA acquisition during code inspection and programming tasks
- Develop feature extraction solutions to assess patterns of sympathetic and parasympathetic activity of the autonomic nervous system as well as activity patterns of the central nervous system during code inspection and programming tasks
- Compare different sensor/algorithm setups and multi-parametric models to assess levels of stress, cognitive load and attention during code inspection and programming tasks
Plano de Trabalhos - Semestre 1
- Technical background on software faults (bugs) classification, software complexity metrics, and cognitive models of human error in software development
- Psycho-physiological background
- Technical background in time-frequency analysis, self-similarity, chaos, machine learning including deep learning
- State-of-the-art in using ANS and CNS surrogates for stress, cognitive load and attention assessment
- Support data collection studies during code inspection and programming tasks
Plano de Trabalhos - Semestre 2
- Develop feature extraction solutions to assess stress levels, cognitive load and attention during code inspection and programming tasks using ECG, PPG and EDA sensors. Traditional feature extraction techniques as well as more modern techniques such as autoencoders and deep learning will be applied.
- Develop feature extraction solutions to assess stress levels, cognitive load and attention during code inspection and programming tasks using mouse movement patterns, keystroke patterns and pupil/eye movement patterns.
- Compare effectiveness of different combinations of ANS and CNS features to assess stress levels, cognitive load and attention during code inspection and programming tasks
- Writing the thesis
This thesis might be allocated a grant from the BASE project.
- Paulo de Carvalho
- César Teixeira
- Henrique Madeira
Paulo de Carvalho