An IDE with intelligent biofeedback highlighting using wearable devices
Áreas de especialidade
Engenharia de Software
Local do Estágio
The proposed thesis is part of the on-going FCT-funded project BASE - Biofeedback Augmented Software Engineering. The main goal is to research software bugs in a new perspective using physiological response, software reliability engineering, and Artificial Intelligence 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 and cognitive overload.
This biofeedback 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 (e.g., iWatch, eye trackers, etc), in order to identifying conditions (and corresponding code locations) that may precipitate programmers making bugs or bugs escaping human attention.
TThe goal of this MSc thesis is to enhance a selected IDE (Integrated Development Environment), Eclipse, to integrate the data from wearable devices (iWatch to provide HRV data and Tobii 4C to provide eye tracking) in real-time. This goal is divided in the following subobjectives:
• While a programmer writes code it is necessary to register all the operations performed in the editor (add, modify, delete). This task will be made using the Eclipse Fluorite plugin. The goal is to adapt this plugin to synchronize the operations done by the programmer with the bio-signals gathered from the iWatch and Tobii 4C.
• The bio-signals obtained from the programmer must be registered, namely HRV obtained from the iWatch and eye-tracking from Tobii 4C, while writing code. The algorithms that process the HRV and the data from the eye tracking to extract information on the programmers’cognitive load and stress must be optimized (starting from algorithms developed in MatLab) and integrated in the IDE.
• The final code written by the programmer should be annotated with meta-data capable of classifying each symbol in the code with the bio-signs recorded during the writing process.
• To view this classification, it is necessary to adapt a plugin for the Eclipse to allow "biofeedback highlighting" of the code (for analogy with the current "syntax highlighting"). The highlighting represents cognitive load and stress felt by the programmer while writing/analysing such code lines.
Plano de Trabalhos - Semestre 1
• Study of the selected IDE (Integrated Development Environment) —Eclipse— that will be adapted to implement the BASE technology.
• Desing and development of the modules that collect data from the iWatch and Tobii 4C using the SDK and APIs available to interact with these devices.
• Adaptation of the Eclipse Fluorite plugin and definition of the data format to represent the programmer’s actions and to store the data collected from the iWatch and Tobii 4C, including dealing with synchronization issues and issues related to handling with potentially large quantities of data that may be involved.
Plano de Trabalhos - Semestre 2
• Adaptation of the experimental algorithms developed in MatLab (that will be compiled into C) that extract the information about the programmers’ cognitive load and stress.
• Adaptation of the Eclipse plugin to perform "biofeedback highlighting".
• Test the system and evaluation of in realistic conditions.
• Write the MSc thesis.
The student will have a space in one of the rooms of the Grupo SSE (Software and Systems Engineering), at DEI-CISUC.
This thesis will have a grant from the BASE project.
- Henrique Madeira
- Raul Barbosa
The student will be integrated in the BASE project team and will benefit from the cooperation and advice from the team members. In particular, for this master thesis, the following members will be directly involved:
- Paulo de Carvalho
- João Durães