Titulo Estágio
Programmer’s Biofeedback Metadata (PBM) modules of the BASE technology
Áreas de especialidade
Engenharia de Software
Sistemas Inteligentes
Local do Estágio
DEI
Enquadramento
Programmer’s Biofeedback Metadata (PBM) modules of the BASE technology: shape a new software development paradigm using biofeedback.
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 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 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, in order to identifying conditions (and corresponding code locations) that may precipitate programmers making bugs or bugs escaping human attention.
The overall BASE 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, among other radically new features.
Objetivo
The BASE technology represents a drastic change in the current software development paradigms through the introduction of a strong new element: the programmers’ biofeedback. The vision is to monitor neuroscience informed autonomic physiologic manifestations (established in previous research) from the programmers through wearable devices (aka smart watches and low intrusive sensors) and other programmers’ biofeedback sources compatible with the software development activities (e.g., mouse/keystroke dynamics, computer camera, eye tracking, pupil size changes, etc.), to provide direct indication of potential bug making/discovery conditions. This will allow enriching the software code under development with metadata about the programmers’ cognitive and emotional states (stress, attention, mental effort level, cognitive overload,...), opening radically new possibilities to improve software code quality, as well as the wellbeing of programmers and testers.
The data representing the cognitive and emotional state of the programmer, collected in real-time using wearable devices and other sources available, will be processed using multi-parametric models and machine learning algorithms capable of filter out the (noisy) data gathered by wearable sensors and accurately identify the conditions (and the corresponding code locations in the SW under development) that may precipitate programmers making bugs or bugs escaping human attention. We call this data (already processed) as Programmer’s Biofeedback Metadata (PBM).
The goal of this MSc thesis involves the design, development, and validation of central modules of the BASE pilot system, including the following sub-goals:
• Enhance a selected IDE (Integrated Development Environment) to integrate the PBM in real-time.
• Design the approach to establish the accurate links between PBM entries, representing the cognitive and emotional state of the programmer in each moment, and the corresponding code lines written, read or modified by the programmer in the same timeframe.
• Develop the basic functionalities do link the PBM entries to the code under development, considering both space (i.e., code lines) and time (i.e., timestamps related to programmers’ actions over such code lines), and taking into account the need to keep such links updated. These functionalities should work with and without eye tracking support (obviously, providing different levels of accuracy).
• Verify and validate the enhanced features of the IDE
Plano de Trabalhos - Semestre 1
• Study of the selected IDE (Integrated Development Environment) that will be adapted to implement the BASE technology.
• Participation in the definition of the metadata format for the PBM (PBM represents the cognitive and emotional state of the programmer, as inferred, through multi-parametric models, from the signals obtained from the wearable devices and other sources available at the IDE level).
• Design of the enhanced IDE including the new architectural modules and their integration with the original IDE.
• Participation in the definition of the strategies to link the PBM entries with the code under development in both space and time (i.e., code lines annotated with timestamps related to programmers’ activity related to such code lines), with and without eye tracking support.
Plano de Trabalhos - Semestre 2
• Implementation of the key modules of the enhanced IDE, with focus on the PBM related modules.
• Verification and testing of developed modules and their integration in the enhanced IDE.
• Validation of the enhanced IDE using a set of realistic software development task designed to validate the BASE features of the enhanced IDE.
• Writing a research paper and the master thesis
Condições
The student will have a space in one of the rooms of the Grupo SSE (Software and Systems Engineering), at DEI-CISUC.
This thesis might be allocated a grant from the BASE project.
Observações
Advisors:
- 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
Orientador
Henrique Madeira
henrique@dei.uc.pt 📩