Titulo Estágio
Online programmers’ advice modules of the BASE technology
Áreas de especialidade
Engenharia de Software
Sistemas Inteligentes
Local do Estágio
DEI
Enquadramento
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 online bug warning features as planned in the BASE project.
• Design the approach to provide different levels of bug waring and programmers’ support using PBM entries, complexity metrics of the related code lines, and programmers’ history of past mistakes and bugs.
• Develop models to generate bug waring and programmers’ support hits, including advice for breaks when not only the code quality is doubtful but, above all, programmers’ mental well-being must be protected.
• Implement the bug warning and programmers’ support functionalities in the enhanced IDE.
• Verify and validate the bug warning and programmers’ support features of the enhanced 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 the approach and define the modules needed to provide different levels of bug waring and programmers’ support using PBM entries, complexity metrics of the related code lines, and programmers’ history of past mistakes and bugs.
Plano de Trabalhos - Semestre 2
• Implementation of the key modules to provide the bug warning and programmers’ support functionalities and integrate such modules in the enhanced IDE.
• Verification and testing of developed modules and their integration in the enhanced IDE.
• Evaluation of the accuracy and precision of the bug warning and programmers’ support functionalities 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 📩