In recent years there have been significant advances in autonomous systems. Because they operate in complex and dynamic environments, they often integrate machine learning (ML)- based components, especially at the perception level. However, high-performance ML solutions require considerable amounts of data, and the resulting models are highly dependent on the data used for training. These models often also leve...
Although human factors (e.g., cognitive functions, behaviors and skills, human error models, etc.) are key elements to improve software development productivity and quality, the role of software developers' emotions and their personality traits in software engineering still needs to be studied. A major difficulty is in assessing developers' emotions, leading to the classic problem of having difficulties underst...
Complexity is the key element of software quality. This article investigates the problem of measuring code complexity and discusses the results of a controlled experiment to compare different views and methods to measure code complexity. Participants (27 programmers) were asked to read and (try to) understand a set of programs, while the complexity of such programs is assessed through different methods and pers...
The neural correlates of software programming skills have been the target of an increasing number of studies in the past few years. Those studies focused on error-monitoring during software code inspection. Others have studied task-related cognitive load as measured by distinct neurophysiological measures. Most studies addressed only syntax errors (shallow level of code monitoring). However, a recent functional...
Many organizations are moving their systems to the cloud, where providers consolidate multiple clients using virtualization, which creates challenges to business-critical applications. Research has shown that hypervisors fail, often causing common-mode failures that may abruptly disrupt dozens of virtual machines simultaneously. We hypothesize and empirically show that a significant percentage of virtual machin...
Assessing comprehension difficulties requires the ability to assess cognitive load. Changes in cognitive load induced by comprehension difficulties could be detected with an adequate time resolution using different biofeedback measures (e.g., changes in the pupil diameter). However, identifying the Spatio-temporal sources of content comprehension difficulties (i.e., when, and where exactly the difficulty occurs...
Software programming is a modern activity that poses strong challenges to the human brain. The neural mechanisms that support this novel cognitive faculty are still unknown. On the other hand, reading and calculation abilities represent slightly less recent human activities, in which neural correlates are relatively well understood. We hypothesize that calculus and reading brain networks provide joint underpinn...
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 ...
Authors' manuscript. Published in IEEE Access 2020. The final publication is available at IEEE via http://dx.doi.org/10.1109/ACCESS.2020.3032239; Blockchain has become particularly popular due to its promise to support business-critical services in very different domains (e.g., retail, supply chains, healthcare). Blockchain systems rely on complex middleware, like Ethereum or Hyperledger Fabric, that allow runn...
Este artigo visa apresentar um caso de estudo de um problema de decisão real, com o objetivo principal de auxiliar uma empresa de produção animal sobre a instalação uma nova fábrica de produção de rações. Na avaliação das diversas alternativas, as organizações procuram critérios claros, objetivos e, se possível, representados matematicamente. No entanto, a tomada de decisão envolve um processo mental cognitiv...