Daniel Coutinho

ORCID: 0000-0003-4226-2458
Publications
Citations
Views
---
Saved
---
About
Contact & Profiles
Research Areas
  • 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...

10.1109/msr52588.2021.00059 article EN 2021-05-01

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...

10.1145/3387904.3389264 article EN 2020-07-13

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...

10.1145/3422392.3422443 article EN 2020-10-21

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)...

10.1109/icsme52107.2021.00033 article EN 2021-09-01

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...

10.1145/3422392.3422439 article EN 2020-10-21

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...

10.1109/esem56168.2023.10304805 article EN 2023-10-26

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...

10.1109/expat.2019.8876486 article EN 2019-06-01

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,...

10.1109/saner53432.2022.00093 article EN 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) 2022-03-01

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...

10.1109/expat.2019.8876498 article EN 2019-06-01

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...

10.1109/scam.2019.00018 article EN 2019-09-01

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,...

10.3991/ijoe.v16i04.11871 article EN International Journal of Online and Biomedical Engineering (iJOE) 2020-04-08

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...

10.1109/msr59073.2023.00064 article EN 2023-05-01

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...

10.1145/3643750 article EN Proceedings of the ACM on software engineering. 2024-07-12

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...

10.5753/cbsoft_estendido.2024.4106 article PT 2024-09-30

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...

10.1145/3350768.3351800 article EN 2019-09-20

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.

10.5753/mssis.2019.7561 article PT 2019-09-13
Coming Soon ...