SearcharxivSearch

arXiv subjects

Kleinner Farias

Publications and source records attributed to Kleinner Farias.

11 recordsLinked to original sources

An Event-Driven Tool for Context-Aware Code Smell Detection Using SmellDSL

Code smells signal violations of design principles that degrade the internal quality of evolving software systems. Although many tools detect such anomalies using static metrics, they often ignore the development context in which smells arise and are resolved. This limitation can lead to misleading warnings and weak support for refactoring decisions. To address this problem, we present SmellHunter, a context-aware tool that interprets scripts written in the SmellDSL domain-specific language to detect and contextualize code smells. SmellHunter integrates static code metrics with contextual information (such as team characteristics, project stage, and geographic metadata) to produce richer, more actionable analyses. The tool adopts an event-driven architecture in which a service bus orchestrates validation, interpretation, and persistence services through asynchronous events. This architecture enables scalable analysis while minimizing disruption to developers' workflows. SmellHunter is integrated into the Eclipse development environment via a dedicated plugin and provides aggregated insights via a mobile application, allowing developers to explore smell occurrences by type, severity, and location. By linking smell detection with contextual data and collaborative visualization, SmellHunter supports developers acting as smell hunters, helping teams identify recurring quality issues emerging from a particular location and assign refactoring tasks to developers with relevant expertise. We describe the architecture of SmellHunter, the interpretation process of SmellDSL scripts, and the integration of contextual data to support more informed refactoring decisions in modern software development environments.

cs.SE

Understanding the Role of Large Language Models in Software Engineering: Evidence from an Industry Survey

The rapid advancement of Large Language Models (LLMs) is reshaping software engineering by profoundly influencing coding, documentation, and system maintenance practices. As these tools become deeply embedded in developers' daily workflows, understanding how they are used has become essential. This paper reports an empirical study of LLM adoption in software engineering, based on a survey of 46 industry professionals with diverse educational backgrounds and levels of experience. The results reveal positive perceptions of LLMs, particularly regarding faster resolution of technical questions, improved documentation support, and enhanced source code standardization. However, respondents also expressed concerns about cognitive dependence, security risks, and the potential erosion of technical autonomy. These findings underscore the need for critical and supervised use of LLM-based tools. By grounding the discussion in empirical evidence from industry practice, this study bridges the gap between academic discourse and real-world software development. The results provide actionable insights for developers and researchers seeking to adopt and evolve LLM-based technologies in a more effective, responsible, and secure manner, while also motivating future research on their cognitive, ethical, and organizational implications.

cs.SE

MoT: A Model-Driven Low-Code Approach for Simplifying Cloud-of-Things Application Development

The integration of cloud computing and the Internet of Things (IoT) is essential for scalable, intelligent systems. However, developing cloud-of-things (CoT) applications remains challenging. It requires significant technical expertise and lacks standardized, model-driven methodologies. Current approaches fail to ensure interoperability, automation, and efficiency. This study introduces the Model of Things (MoT), a model-based approach that incorporates low-code principles to simplify CoT development. MoT reduces technical barriers by providing a custom UML profile designed for IoT and cloud services. To evaluate MoT, we conducted a case study and a Technology Acceptance Model (TAM) questionnaire. The results confirmed MoT's feasibility, demonstrating that it streamlines CoT application development and deployment. Users found MoT accessible, even with limited IoT experience, and reported high perceived ease of use and usefulness. Qualitative feedback highlighted MoT's ability to reduce complexity and speed up development. MoT offers a promising, model-driven solution for CoT application development. By lowering entry barriers and promoting automation, it enhances both efficiency and flexibility. This study represents a step toward a more user-friendly framework, enabling broader adoption of CoT technologies.

cs.SE

Event-Driven Inconsistency Detection Between UML Class and Sequence Diagrams

Modeling is a central and demanding activity in software engineering that requires skills such as abstraction, consistency maintenance, and precise communication. These skills are difficult to master and even harder to teach effectively. Educators and students often struggle to understand and manage inconsistencies that arise during the modeling process. To address this challenge, we present \texttt{Harmony Validator}, a tool integrated as a plugin for the Papyrus modeling environment, designed to automatically detect and report inconsistencies in UML models, including class and sequence diagrams. The tool adopts an event-driven architecture that continuously monitors modeling actions and notifies users of emerging inconsistencies in real time. This approach enhances awareness of model integrity and supports the iterative refinement of design artifacts. The paper describes the architecture, detection mechanisms, and usage scenarios of Harmony Validator. It also includes a case study conducted with students in a software engineering course to evaluate the perceived usefulness and benefits of UML modeling in teaching and learning. Our results indicate that Harmony Validator fosters a better understanding of model consistency and promotes reflective learning practices in software modeling education.

cs.SE

WebSPL: A Software Product Line for Web Applications

Companies developing Web applications have faced an increasing demand for high-quality products with low cost and production time ever smaller. However, developing such applications is still considered a time-consuming and error-prone task, mainly due to the difficulty of promoting the reuse of features (or functionalities) and modules, and the heterogeneity of Web frameworks. Nowadays, companies must face ever-changing requirements. Software product lines emerged as an alternative to face this challenge by creating a collection of applications from a core of software assets. Despite the potential, the current literature lacks works that propose a product line for Web applications. This paper, therefore, presents WebSPL, a product line for Web applications that supports the main features found in Wed applications in real-world settings. The proposed WebSPL was evaluated by comparing it with a Web application developed based on a traditional approach. A case study that involves the development of two Web applications enabled data collection. Two Web applications were developed -- one with and another without the support of the proposed WebSPL. We compared these two applications using software design metrics, including complexity, size, duplicate lines, and technical debt. The initial results were encouraging and showed the potential for using WebSPL to support the development of Web applications.

cs.SE

Uncovering the Hidden Potential of Event-Driven Architecture: A Research Agenda

Event-driven architecture has been widely adopted in the software industry, emerging as an alternative to modular development to support rapid adaptations of constantly evolving systems. However, little is known about the effects of event-driven architecture on performance, stability, and software monitoring, among others. Consequently, professionals end up adopting it without any empirical evidence about its impact. Even worse, the current literature lacks studies that point to which emerging research directions need to be explored. This article proposes an agenda for future research based on the scarcity of literature in the field of event-oriented architecture. This agenda was derived from a literature review and a case study carried out, as well as from the authors' experience. Eight main topics were explored in this work: performance analysis, empirical studies, architectural stability, challenges to adopting, monitoring event streams, effects on software performance, broader challenges for adoption, and better monitoring of event-driven architecture. The findings reported help the researchers and developers in prioritizing the critical difficulties for uncovering the hidden potential of event-driven architecture. Finally, this article seeks to help researchers and professionals by proposing an agenda as a starting point for their research.

cs.SE

An exploratory study on the effects of event-driven architecture on software modularity

Event-driven architecture has been widely adopted in the software industry, emerging as an alternative to the development of enterprise applications based on the REST architectural style. However, little is known about the effects of event-driven architecture on modularity while enterprise applications evolve. Consequently, practitioners end up adopting it without any empirical evidence about its impacts on essential indicators, including separation of concerns, coupling, cohesion, complexity and size. This article, therefore, reports an exploratory study comparing event-driven architecture and REST style in terms of modularity. A real-world application was developed using an event-driven architecture and REST through five evolution scenarios. In each scenario, a feature was added. The generated versions were compared using ten metrics. The initial results suggest that the event-driven architecture improved the separation of concerns, but was outperformed considering the metrics of coupling, cohesion, complexity and size. The findings are encouraging and can be seen as a first step in a more ambitious agenda to empirically evaluate the benefits of event-driven architecture against the REST style.

cs.SE

Evaluation of the impacts of decomposing a monolithic application into microservices: A case study

Monolithic applications are being decomposed to a microservices architecture, aiming to improve maintainability, performance and modularization. Although such decompositions have now been widely carried out in the industry, little is reported in the literature about the impacts of these decompositions. This work, therefore, reports a case study carried out to investigate the impacts of the decomposition of a real industry application for microservices architecture. The target application of the study refers to a raid operation, performed by a financial institution, which was extracted from a monolithic application to an application based on microservices. In particular, metrics were applied to monolithic and microservice-based applications, aiming to quantify coupling, cohesion, CPU consumption and memory consumption. The results obtained show that the microservices architecture generated better results for the software modularity metrics, in addition to lower memory and CPU consumption. Finally, this work brings insight and points out challenges and future directions of research that need to be explored by academia and industry.

cs.SE

On the Usage of Psychophysiological Data in Software Engineering: An Extended Systematic Mapping Study

In recent years, many studies have applied wearable devices to capture psychophysiological data from software developers. However, the current literature lacks investigations that classify the studies and point out gaps to be explored. This article, therefore, seeks to present a comprehensive overview of the literature by classifying and creating a systematic map of the works. Besides, it seeks to pinpoint research gaps, challenges, and trends. Based on widely known guidelines, a systematic mapping of the literature was designed and run to answer eight research questions. After applying a careful filtering process, we selected 27 representative studies from a sample of 2,084 potentially relevant works retrieved from seven digital libraries. The main results are: a classification scheme of the published studies was produced; there is no predominance of the devices used to capture psychophysiological data; over 50% of the studies have explored indicators related to mental states and neural activity; and 80% have analyzed composite data to understand the cognitive load and in the context of understanding debugging programs and strategies. Our findings can benefit researchers and students by creating a systematic map of the literature, being a starting point for future research.

cs.SE

Parthenos: A Source Code Injection Approach for Software Transformation

Maintaining legacy enterprise information systems is a known necessity in companies. To date, it remains an expensive and time-consuming process, requiring high effort and cost to get small changes implemented. MITRAS seeks to reduce the maintenance cost by providing an automatic maintenance system model based on graph transformations. This article presents Parthenos, a different approach to MITRAS, whose goal is to guarantee the correctness of introduced modifications at a syntax and type semantics level of the source code. Along with that, it proposes an extensible architecture, which allows the most varied types of systems to carry out software maintenance. Parthenos was evaluated through functional tests to evaluate its effectiveness, using measures of precision, recall, and f-measure.

cs.SE

Empirical Evaluation of Effort on Composing Design Models

Model composition plays a central role in many software engineering activities such as evolving models to add new features and reconciling conflicting design models developed in parallel by different development teams. As model composition is usually an error-prone and effort-consuming task, its potential benefits, such as gains in productivity can be compromised. However, there is no empirical knowledge nowadays about the effort required to compose design models. Only feedbacks of model composition evangelists are available, and they often diverge. Consequently, developers are unable to conduct any cost-effectiveness analysis as well as identify, predict, or reduce composition effort. The inability of evaluating composition effort is due to three key problems. First, the current evaluation frameworks do not consider fundamental concepts in model composition such as conflicts and inconsistencies. Second, researchers and developers do not know what factors can influence the composition effort in practice. Third, practical knowledge about how such influential factors may affect the developers' effort is severely lacking. In this context, the contributions of this thesis are threefold: (i) a quality model for supporting the evaluation of model composition effort, (ii) practical knowledge, derived from a family of quantitative and qualitative empirical studies, about model composition effort and its influential factors, and (iii) insight about how to evaluate model composition efforts and tame the side effects of such influential factors.

cs.SE