Júlio Medeiros

Júlio Medeiros


Research Focus & Metrics

Academic Career Length

8Years (2019-Present)

(Calculated once Scilit publication data is synced: current year − year of first publication + 1)

Representative Publications

View All Publications
27 March 2021 in Sensors
Verified
Journal Article
Open access
PDF file
JMJúlio Medeiros
Júlio Medeiros
RCRicardo Couceiro
Ricardo Couceiro
GDGonçalo Duarte
Gonçalo Duarte
Joao DuraesJoao Duraes
Joao Duraes
Joao CastelhanoJoao Castelhano
Joao Castelhano
CTCesar Teixeira
Cesar Teixeira
An emergent research area in software engineering and software reliability is the use of wearable biosensors to monitor the cognitive state of software developers during software development tasks. The goal is to gather physiologic manifestations that can be linked to error-prone scenarios related to programmers’ cognitive states. In this paper we investigate whether electroencephalography (EEG) can be applied to accurately identify programmers’ cognitive load associated with the comprehension of code with different complexity levels. Therefore, a controlled experiment involving 26 programmers was carried. We found that features related to Theta, Alpha, and Beta brain waves have the highest discriminative power, allowing the identification of code lines and demanding higher mental effort. The EEG results reveal evidence of mental effort saturation as code complexity increases. Conversely, the classic software complexity metrics do not accurately represent the mental effort involved in code comprehension. Finally, EEG is proposed as a reference, in particular, the combination of EEG with eye tracking information allows for an accurate identification of code lines that correspond to peaks of cognitive load, providing a reference to help in the future evaluation of the space and time accuracy of programmers’ cognitive state monitored using wearable devices compatible with software development activities.

30 August 2022 in Sensors
Verified
Journal Article
Open access
PDF file
André BernardesAndré Bernardes
André Bernardes
RCRicardo Couceiro
Ricardo Couceiro
JMJúlio Medeiros
Júlio Medeiros
JHJorge Henriques
Jorge Henriques
CTCesar Teixeira
Cesar Teixeira
PCPaulo De Carvalho
Paulo De Carvalho
Ultra-short-term HRV features assess minor autonomous nervous system variations such as variations resulting from cognitive stress peaks during demanding tasks. Several studies compare ultra-short-term and short-term HRV measurements to investigate their reliability. However, existing experiments are conducted in low cognitively demanding environments. In this paper, we propose to evaluate these measurements’ reliability under cognitively demanding tasks using a near real-life setting. For this purpose, we selected 31 HRV features, extracted from data collected from 21 programmers performing code comprehension, and compared them across 18 different time frames, ranging from 3 min to 10 s. Statistical significance and correlation tests were performed between the features extracted using the larger window (3 min) and the same features extracted with the other 17 time frames. We paired these analyses with Bland–Altman plots to inspect how the extraction window size affects the HRV features. The main results show 13 features that presented at least 50% correlation when using 60-second windows. The HF and mNN features achieved around 50% correlation using a 30-second window. The 30-second window was the smallest time frame considered to have reliable measurements. Furthermore, the mNN feature proved to be quite robust to the shortening of the time resolution.

11 March 2022 in IEEE Transactions on Software Engineering
Verified
Journal Article
Open access
Haytham HijaziHaytham Hijazi
Haytham Hijazi
JDJoao Duraes
Joao Duraes
RCRicardo Couceiro
Ricardo Couceiro
JCJoao Castelhano
Joao Castelhano
RBRaul Barbosa
Raul Barbosa
HMHenrique Madeira
Henrique Madeira
Code review is an essential practice in software engineering to spot code defects in the early stages of software development. Modern code reviews (e.g., acceptance or rejection of pull requests with Git) have become less formal than classic Fagan's inspections, lightweight, and more reliant on individuals (i.e., reviewers). However, reviewers may encounter mentally demanding challenges during the code review, such as code comprehension difficulties or distractions that might affect the code review quality. This work proposes a novel approach that evaluates the quality of code reviews in terms of bug-finding effectiveness and provides the reviewers with a clear message of whether the review should be repeated, indicating the code regions that may not have been well-reviewed. The proposed approach utilizes biometric information collected from the reviewer during the review process using non-intrusive biofeedback devices (e.g., smartwatches). Biometric measures such as Heart Rate Variability (HRV) and task-evoked pupillary response are captured as a surrogate of the cognitive state of the reviewer (e.g., mental workload) and inexpensive desktop eye-trackers compatible with the software development settings. This work uses Artificial Intelligence techniques to predict the cognitive load from the extracted biomarkers and classify each code region according to a set of features. The final evaluation considers various factors such as code complexity, time of the code review, the experience level of the reviewer, and other factors. Our experimental results show the approach could predict the review quality with 87.77%4.65 accuracy and a Spearman correlation coefficient of 0.85 (p-value < 0.001) between the predicted and the actual review performance. This evaluation validates the cognitive load measurement using electroencephalography (EEG) signals as ground truth for the HRV and pupil signals.

1 October 2019
Verified
Conference Paper
Closed access
RCRicardo Couceiro
Ricardo Couceiro
RBRaul Barbosa
Raul Barbosa
JDJoáo DuráeS
Joáo DuráeS
GDGonçalo Duarte
Gonçalo Duarte
JCJoáo Castelhano
Joáo Castelhano
HMHenrique Madeira
Henrique Madeira
Recent studies have shown that programmers' cognitive load during typical code development activities can be assessed using wearable and low intrusive devices that capture peripheral physiological responses driven by the autonomic nervous system. In particular, measures such as heart rate variability (HRV) and pupillography can be acquired by nonintrusive devices and provide accurate indication of programmers' cognitive load and attention level in code related tasks, which are known elements of human error that potentially lead to software faults. This paper presents an experimental study designed to evaluate the possibility of using HRV and pupillography together with eye tracking to identify and annotate specific code lines (or even finer grain lexical tokens) of the program under development (or under inspection) with information on the cognitive load of the programmer while dealing with such lines of code. The experimental data is discussed in the paper to assess different alternatives for using code annotations representing programmers' cognitive load while producing or reading code. In particular, we propose the use of biofeedback code highlighting techniques to provide online programmer's warnings for potentially problematic code lines that may need a second look at (to remove possible bugs), and biofeedback-driven software testing to optimize testing effort, focusing the tests on code areas with higher bug probability

1 July 2019
Verified
Conference Paper
Closed access
JMJúlio Medeiros
Júlio Medeiros
CTC. Teixeira
C. Teixeira
RCRicardo Couceiro
Ricardo Couceiro
Joao CastelhanoJoao Castelhano
Joao Castelhano
Miguel Castelo-BrancoMiguel Castelo-Branco
Miguel Castelo-Branco
PCP. Carvalho
P. Carvalho
This paper provides a study using Electroencephalography (EEG) to investigate the brain activity during code comprehension tasks. Three different code complexity levels according to five complexity metrics were considered. The use of EEG for this purpose is relevant, since the existing studies were mostly focused on neuroimaging techniques. Using Leave-One-Subject-Out cross-validation procedure for 30 subjects, it was found that the features related with the Gamma activity were the most common in all the folds. Regarding the brain regions, right parietal was the most frequent region contributing with more features. A Linear Discriminant Analysis Classifier for task classification, obtained a F-Measure of 92.71% for Code complexity easy, 52.25% for Code complexity intermediate and 53.13% for Code complexity advanced, revealing an evidence of mental effort saturation with the code complexity degree. This suggests that current code complexity metrics do not capture cognitive load and might not be the best approach to assess bug risk.

25 February 2022 in IEEE Transactions on Neural Systems and Rehabilitation Engineering
Verified
Journal Article
Open access
FLFabio Lopes
Fabio Lopes
ALAdriana Leal
Adriana Leal
JMJúlio Medeiros
Júlio Medeiros
MPMauro F. Pinto
Mauro F. Pinto
Antonio DouradoAntonio Dourado
Antonio Dourado
CTCesar Teixeira
Cesar Teixeira
Objective: Independent component analysis (ICA) is commonly used to remove noisy artifacts from multi-channel scalp electroencephalogram (EEG) signals. ICA decomposes EEG into different independent components (ICs) and then, experts remove the noisy ones. This process is highly time-consuming and experts are not always available. To surpass this drawback, research is going on to develop models to automatically conduct IC classification. Current state-of-the-art models use power spectrum densities (PSDs) and topoplots to classify ICs. The performance of these methods may be limited by disregarding the IC time-series that would contribute to fully simulate the visual inspection performed by experts. Methods: We present a novel ensemble deep neural network that combines time-series, PSDs, and topoplots to classify ICs. Moreover, we study the ability to use our model in transfer learning approaches. Results: Experimental results showed that using time-series improves IC classification. Results also indicated that transfer learning obtained higher performance than simply training a new model from scratch. Conclusion: Researchers should develop IC classifiers using the three sources of information. Moreover, transfer learning approaches should be considered when producing new deep learning models. Significance: This work improves IC classification, enhancing the automatic removal of EEG artifacts. Additionally, since labelled ICs are generally not publicly available, the possibility of using our model in transfer learning studies may motivate other researchers to develop their own classifiers.