Alberto Luiz Oliveira Tavares de Souza

dblp:278/0527 · DBLP profile ↗
← Back
5ranked-venue papers
1as first author
4since 2021 · last 2023
0000-0002-8520-7005ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 5 · 1 first-author · 4 since 2021
YearPublicationVenuePosition
2023 Understanding Self-Efficacy in Software Engineering Industry: An Interview study
abstract
CONTEXT: Self-efficacy is a concept researched in various areas of knowledge that impacts various factors such as performance, satisfaction, and motivation. In Software Engineering, it has mainly been studied in the academic context, presenting results similar to other areas of knowledge. However, it is also important to understand its impact in the industrial context. OBJECTIVE: Therefore, this study aims to understand the impact on the software development context with a focus on understanding the behavioral signs of self-efficacy in software engineers and how self-efficacy can impact the work-day of software engineers. METHOD: A qualitative research was conducted using semi-structured questionnaires with 31 interviewees from a software development company located in Brazil. The interviewees participated in a Bootcamp and were later assigned to software development teams. Thematic analysis was used to analyze the data. RESULTS: In the perception of the interviewees, 21 signs were found that are related to people with high and low self-efficacy. These signs were divided into two dimensions: social and cognitive. Also, 18 situations were found that can lead to an increase or decrease of self-efficacy of software engineers. Finally, 12 factors were mentioned that can impact software development teams. CONCLUSION: This work evidences a set of behavioral signs that can help team leaders to better perceive the self-efficacy of their members. It also presents a set of situations that both leaders and individuals can use to improve their self-efficacy in the development context, and finally, factors that can be impacted by self-efficacy in the software development context are also presented. Finally, this work emphasizes the importance of understanding self-efficacy in the industrial context.
Danilo Monteiro Ribeiro, Rayfran Rocha Lima, A. César C. França, Alberto Luiz Oliveira Tavares de Souza, Isadora Cardoso, Gustavo Pinto 0001
EASE4
2023 Cognitive Driven Development helps software teams to keep code units under the limit!
Gustavo Pinto 0001, Alberto Luiz Oliveira Tavares de Souza
J. Syst. Softw.2
2022 To What Extent Cognitive-Driven Development Improves Code Readability?
abstract
Background: Cognitive-Driven Development (CDD) is a coding design technique that aims to reduce developers’ cognitive effort in understanding a given code unit (e.g., a class). By following CDD design practices, it is expected that the coding units to be smaller and, thus, easier to maintain and evolve. However, it is so unknown whether these smaller code units coded using CDD standards are easier to understand. Aims: This work aims to assess how much CDD improves code readability. Method: To achieve this goal, we conducted a two-phase study. We start by inviting professional software developers to vote (and justify their rationale) on the most readable pair of code snippets (from a set of 10 pairs); one of the pairs was coded using CDD practices. We received 133 answers. In the second phase, we applied the state-of-the-art readability model to the 10-pairs of CDD-driven refactorings. Results: We observed some conflicting results. On the one hand, developers perceived that seven (out of 10) CDD-driven refactorings were more readable than their counterparts; for two other CDD-driven refactorings, developers were undecided, while only in one of the CDD-driven refactorings, developers preferred the original code snippet. On the other hand, we noticed that only one CDD-driven refactorings has better performance readability, assessed by state-of-the-art readability models. Conclusions: Our results provide initial evidence that CDD could be an exciting approach for software design.
Leonardo Ferreira Barbosa, Victor H. S. C. Pinto, Alberto Luiz Oliveira Tavares de Souza, Gustavo Pinto 0001
ESEM3
2021 Cognitive-Driven Development: Preliminary Results on Software Refactorings
Victor H. S. C. Pinto, Alberto Luiz Oliveira Tavares de Souza, Yuri Matheus Barboza de Oliveira, Danilo Monteiro Ribeiro
ENASE2
2020 Toward a Definition of Cognitive-Driven Development
abstract
Software separation into components is a recognition that human work can be improved by focus on a limited set of data. The growing complexity of software has always been a challenge to industry. Several approaches have been proposed to support code design based on architectural styles and code quality metrics. However, most research involving human cognition in software engineering is focused on the evaluation of programs and learning instead of how the source code could be developed under this perspective. This paper presents an approach called Cognitive-Driven Development (CDD) that is based on cognitive complexity measurements and Cognitive Load Theory. This strategy can reduce the cognitive overload of the developers through the limitation of intrinsic complexity points from source code. Some cognitive complexity metrics has been extended and guidelines are presented to calculate the intrinsic complexity points and how their limit can be adapted under certain quality criteria. Experimental studies are currently being conducted to evaluate the CDD. Preliminary results indicate that the approach can reduce the future effort for maintenance and fixing software faults.
Alberto Luiz Oliveira Tavares de Souza, Victor H. S. C. Pinto
ICSME1