Scientists of the University of Coimbra create intelligent tools to help prevent computer errors
A project led by Henrique Madeira, full professor at the Department of Informatics Engineering (DEI) of the Faculty of Sciences and Technology of the University of Coimbra (FCTUC), has proved that with the use of intelligent tools it is possible to detect whether or not a programmer is understanding the software he/she is reading, checking or building and, thus, help prevent possible bugs.
"Base - Biofeedback Augmented Software Engineering", is an interdisciplinary project that brings together researchers from various scientific fields, including neuroscience, biomedical and artificial intelligence, and software engineering. On the neuroscience side, the team, coordinated by Professor Miguel Castelo Branco, seeks to identify the brain areas involved in human error in the context of software development, trying to understand, for example, if there is a pattern of brain activation when a bug is discovered.
The biomedical and artificial intelligence group, led by Professor Paulo de Carvalho, studies non-intrusive processes for measuring the cognitive load of programmers, as well as assessing their cognitive states of stress, distraction or fatigue. The software engineering team of Professor Henrique Madeira is responsible for developing new tools to support the software programmer, i.e. tools that can predict the programmer's own errors.
According to Henrique Madeira, "the problem of lack of software quality has long been studied, but not from the perspective of the most important element in the process of software construction, the programmer". In this line of research, the BASE project has already obtained some solid results.
A first result was to show, in a practical way, that it is possible to " to give the software development environment new functionalities to help the programmer, particularly by pointing out the code that should be (re)looked at more carefully. The person is programming and the tool will mark, in yellow or red, the areas of code that should be reviewed", explains the researcher.
So, the team developed the "iReview" , an already patented tool that evaluates "the quality of reviews" of a programmer. For example, "a software module is developed by an author and then reviewed by another member of the team, who may detect errors and send it back to the author to be corrected, or on the contrary, not notice possible bugs and send the module back to development. The interaction between those who program and those who verify is extremely fallible, and iReview specifically aims to identify those flaws", adds Madeira.
More specifically, iReview assesses the quality of the reviewer's review, determining whether or not the review should be repeated. If it signals the need for it to be repeated, it points out which areas of the code need to be looked at more closely and explains why a second review is necessary.
As part of the project, the iMind tool is also being developed, which is a "generalisation" of iReview, designed to help individuals understand digital content, such as studying a foreign language. "The process is the same, but reading a text instead of reviewing software code. For example, if there is a part in the text that the person does not understand, the tool automatically shows the translation or gives a suggestion. We are still far from achieving this result, but at least we have already proved that the tool can tell if the person has understood a paragraph or not", he states.
In order to achieve these results, the BASE team started by studying the central element of the project - the programmer - from the perspective of neuroscience, because it is at a mental level that we make mistakes, to the manifestation of these mistakes at a physiological level, since these reactions can be translated into tools that help programmers.
For this purpose, there were several experiments with sophisticated equipment, involving the participation of dozens of volunteers. Basically, the groups of programmers performed typical software engineering tasks. "We did three types of experiments, using magnetic resonances, electroencephalograms, equipment for the autonomic nervous system, cardiac sensors and eye trackers, which basically allowed us to collect a huge amount of information during the moments in which they performed these tasks", describes the researcher, who believes that "the results of this project are going to have a great impact, at least the impact potential is quite big".
BASE is the result of a consortium between the Centre for Informatics and Systems of the University of Coimbra (CISUC), of the Department of Informatics Engineering of the FCTUC, the Coimbra Institute for Biomedical Imaging and Translational Research (CIBIT) of the University of Coimbra, and the Polytechnic of Milan, and was financed by the Foundation for Science and Technology (FCT), in the amount of 239 thousand Euros.
Henrique Madeira, Full Professor at the Department of Informatics Engineering | FCTUC
Original news article in Portuguese: Sara Machado | FCTUC
English version: Diana Taborda