- Software Engineering Research
- Software Reliability and Analysis Research
- Open Source Software Innovations
- Software Engineering Techniques and Practices
- Air Quality Monitoring and Forecasting
- Natural Language Processing Techniques
- Software System Performance and Reliability
- Web Application Security Vulnerabilities
- Online Learning and Analytics
- Sentiment Analysis and Opinion Mining
- Air Quality and Health Impacts
- Innovative Teaching and Learning Methods
- Advanced Software Engineering Methodologies
- Computer Graphics and Visualization Techniques
- Advanced Malware Detection Techniques
- Multi-Agent Systems and Negotiation
- Topic Modeling
- Big Data and Business Intelligence
- Power Systems and Technologies
- Business Process Modeling and Analysis
- Innovative Approaches in Technology and Social Development
- 3D Shape Modeling and Analysis
- Advanced Vision and Imaging
- AI in Service Interactions
- Semantic Web and Ontologies
Pontifical Catholic University of Rio de Janeiro
2020-2024
Software (Spain)
2021
Universidade do Estado do Rio de Janeiro
2019-2021
Centro Tecnológico de Investigación, Desarrollo e Innovación en tecnologías de la Información y las Comunicaciones (TIC)
2021
Metrica (United States)
2021
University of Évora
2019-2020
Local Initiatives Support Corporation
2019
Universidade Federal do Rio de Janeiro
2017
Companies have adopted modern code review as a key technique for continuously monitoring and improving the quality of software changes. One main motivations this is early detection design impactful changes, to prevent that design-degrading ones prevail after each review. Even though degradation symptoms often lead changes' rejections, practices alone are actually not sufficient avoid or mitigate decay. Software degrades whenever one more poor structural decisions, usually represented by...
Program refactoring consists of code changes applied to improve the internal structure a program and, as consequence, its comprehensibility. Recent studies indicate that developers often perform composite refactorings, i.e., set two or more interrelated single refactorings. also recommend certain patterns refactorings fully remove poor structures, i.e, smells, thus further improving comprehension. However, other recent report fail smells. Given their failure achieve this purpose, these are...
The pull-based development model is widely used in source-code environments like GitHub. In this model, developers actively communicate and share their knowledge or opinions through the exchange of comments. Their goal to improve change under development, including its positive impact on design structure. context, two central social aspects may contribute combating adversely amplifying decay. First, decay be avoided, reduced accelerated depending whether communication dynamics among - who...
Recent studies have revealed that developers often apply composite refactorings (or, simply, composites). A consists of two or more interrelated applied together. Previous investigated the effect composites on code smells. is considered "complete" whenever it completely removes one target smell. They proposed descriptions complete with recommendations to remove certain smell types, such as Long Methods and Feature Envies. These also present different same type. However, these studies: (i)...
Developers need to consistently improve the internal structural quality of a program address its maintainability and possibly other non-functional concerns. Refactoring is main practice code quality. Typical refactoring factors, such as their complexity explicitness (i.e., self-affirmation), may influence effectiveness in improving key attributes, enhancing cohesion or reducing coupling, size. However, we still lack an understanding whether concerns factors play role on Thus, this paper...
Background: Code development is done collaboratively in platforms such as GitHub and GitLab, following a pull-based model. In this model, developers actively communicate share their knowledge through conversations. Pull request conversations are affected by social aspects communication dynamics among developers, discussion content, organizational dynamics. Despite prior studies indicating that indeed impact software quality, it still unknown to what extent influence design decay during...
The interest in the quality of air is likely to increase, as public concern for health and environmental issues on rise. So far, most data available comes from a small numbers government-owned sensors, lacking wide coverage entire reality. Improving amount thus involves reducing cost sensors make their readings accessible public. NanoSen-AQM project aims do precisely that. Create use vast low-cost nano-sensors, To achieve such an ambitious goal, will state-of-the-art techniques Machine...
Developers constantly perform code changes throughout the lifetime of a project. These may induce introduction design problems (design decay) over time, which be reduced or accelerated by interacting with different factors (e.g., refactorings) that underlie each change. However, existing studies lack evidence about how these interact and influence decay. Thus, this paper reports study aimed at investigating whether (associations of) process developer We studied seven software systems,...
With the raising concerns for environment, interest in monitoring air quality is likely to increase near future. However, most data comes from a limited number of government-owned sensors, which can only capture small fraction reality. Improving coverage thus involves reducing cost sensors and make widely available. For this, we will use very high low-cost as basis an platform, capable collecting, aggregating, storing displaying data. This platform stream-based technologies scaling large...
When creating their programs, developers usually have a preferred or standardized style of own to write code, known as coding style. Such code is stored in version control repository, through which collaborative work takes place. However, such setting, isolated attempts standardization can lead several styles coexisting the same project, causing opposite effect that intended. Besides increasing effort required understand conflicts may also clutter repository history change existing usual...
With the raising of environmental concerns regarding pollution, interest in monitoring air quality is increasing. However, pollution data mostly originated from a limited number government-owned sensors, which can only capture small fraction reality. Improving coverage in-volves reducing cost sensors and making widely available to public. To this end, NanoSen-AQM project proposes usage low-cost nano-sensors as basis for an platform, capa-ble collecting, aggregating, processing, storing,...
Modern programming languages, such as Java, use exception-handling mechanisms to guarantee the robustness of software systems. Although important, quality exception code is usually poor and neglected by developers. Indiscriminate changes (e.g., addition empty catch blocks) can indicate design decisions that negatively impact internal As it known in literature, multiple occurrences structures, namely smells, are strong indicators problems. Still, existing studies focus mainly on correlation...
Non-Functional Requirements (NFRs) should be defined in the early stages of software development process, driving developers to make important design decisions. Neglecting NFRs may lead create systems that are difficult maintain and do not meet users expectations. Despite their importance, discussion is often ad-hoc scattered through multiple sources, limiting developers' awareness NFRs. In scenario, Pull Request (PR) discussions provide a centralized platform for comprehensive NFR...
Ferramentas de análise sentimentos são amplamente usadas em SE para entender a comunicação desenvolvedores ambientes colaborativos, como o GitHub. Como as ferramentas ponta podem apresentar limitações desempenho, novos LLMs têm sido adotados, embora sejam computacionalmente caros. Este estudo avalia três modelos open-source: Lllama3, Gemma e Mistral. Utilizando dados discussões do GitHub, investigamos desempenho desses engenharia prompts impacta os resultados. Os resultados indicam que...
The advent of open source has changed the way developers reuse software. availability libraries and their corresponding code in public software repositories enables new forms analyzing project aspects that can provide clues on stability maintainability. However, literature lacks studies aiming to identify understand whether which repository features may correlate with likeliness usage a library. In this sense, we present factorial experiment using three different regression models - Multiple...
Documentar o raciocínio sobre decisões arquiteturais e de implementação em mensagens commit não é incomum. Tais são escritas formato não-estruturado conforme projeto atualizado. Poder classificá-las utilizá-las para melhorar a compreensão da arquitetura um pode trazer melhorias ao desenvolvimento. Este trabalho apresenta uma versão multiagente existente propõe modelo sistema autônomo extração classificação commits baseada palavras-chave projetos definidas pelo usuário.