SearcharxivSearch

arXiv subjects

Denivan Campos

Publications and source records attributed to Denivan Campos.

4 recordsLinked to original sources

What Characterizes a Software Leader? Identifying Leadership Practices from Practitioners Social Media

Context: Leadership has been extensively studied in management and agile software development; however, prior research predominantly focuses on formal roles and predefined leadership models, offering limited insight into how leadership is experienced and demonstrated by software practitioners in everyday practice. Objective: Our goal is to identify and categorize leadership practices as perceived and reported by software development practitioners based on their professional experiences. Method: We conducted a content analysis of 116 practitioner-authored articles published on the Dev.to online community. Articles were systematically collected, screened, and coded, resulting in the extraction, correlation analysis and categorization of leadership practices grounded in practitioners narratives. Results: We identified 103 practices for software project leaders, distinguished between recommended and discouraged ones. These practices were organized into five categories: People Management & Development, Processes & Execution, Professional & Personal Growth, Communication & Articulation and Strategic Vision. The most recurrent recommended practices include Cultivating & Practicing Interpersonal Skills, Managing & Delegating Team Work, and Practicing & Developing Managerial Skills, whereas Micromanagement, Counterproductive Work Patterns, and Counterproductive Communication Styles emerged as the most frequent discouraged practices. We organized all practices into a conceptual map. Conclusion: The findings indicate that software leadership is mainly associated with managerial and interpersonal practices rather than technical expertise. The resulting conceptual map summarizes these practices and can serve as a reference for understanding leadership in software development contexts.

cs.SE

Identifying and Replicating Code Patterns Driving Performance Regressions in Software Systems

Context: Performance regressions negatively impact execution time and memory usage of software systems. Nevertheless, there is a lack of systematic methods to evaluate the effectiveness of performance test suites. Performance mutation testing, which introduces intentional defects (mutants) to measure and enhance fault-detection capabilities, is promising but underexplored. A key challenge is understanding if generated mutants accurately reflect real-world performance issues. Goal: This study evaluates and extends mutation operators for performance testing. Its objectives include (i) collecting existing performance mutation operators, (ii) introducing new operators from real-world code changes that impact performance, and (iii) evaluating these operators on real-world systems to see if they effectively degrade performance. Method: To this aim, we will (i) review the literature to identify performance mutation operators, (ii) conduct a mining study to extract patterns of code changes linked to performance regressions, (iii) propose new mutation operators based on these patterns, and (iv) apply and evaluate the operators to assess their effectiveness in exposing performance degradations. Expected Outcomes: We aim to provide an enriched set of mutation operators for performance testing, helping developers and researchers identify harmful coding practices and design better strategies to detect and prevent performance regressions.

cs.SE

Hearing the voice of experts: Unveiling Stack Exchange communities' knowledge of test smells

Refactorings are transformations to improve the code design without changing overall functionality and observable behavior. During the refactoring process of smelly test code, practitioners may struggle to identify refactoring candidates and define and apply corrective strategies. This paper reports on an empirical study aimed at understanding how test smells and test refactorings are discussed on the Stack Exchange network. Developers commonly count on Stack Exchange to pick the brains of the wise, i.e., to `look up' how others are completing similar tasks. Therefore, in light of data from the Stack Exchange discussion topics, we could examine how developers understand and perceive test smells, the corrective actions they take to handle them, and the challenges they face when refactoring test code aiming to fix test smells. We observed that developers are interested in others' perceptions and hands-on experience handling test code issues. Besides, there is a clear indication that developers often ask whether test smells or anti-patterns are either good or bad testing practices than code-based refactoring recommendations.

cs.SE

Developers perception on the severity of test smells: an empirical study

Unit testing is an essential component of the software development life-cycle. A developer could easily and quickly catch and fix software faults introduced in the source code by creating and running unit tests. Despite their importance, unit tests are subject to bad design or implementation decisions, the so-called test smells. These might decrease software systems quality from various aspects, making it harder to understand, more complex to maintain, and more prone to errors and bugs. Many studies discuss the likely effects of test smells on test code. However, there is a lack of studies that capture developers perceptions of such issues. This study empirically analyzes how developers perceive the severity of test smells in the test code they develop. Severity refers to the degree to how a test smell may negatively impact the test code. We selected six open-source software projects from GitHub and interviewed their developers to understand whether and how the test smells affected the test code. Although most of the interviewed developers considered the test smells as having a low severity to their code, they indicated that test smells might negatively impact the project, particularly in test code maintainability and evolution. Also, detecting and removing test smells from the test code may be positive for the project.

cs.SE