VLDB 2026 Research / reviewers in the wild / expert
Davide Taibi 0001
dblp:68/732-1
· DBLP profile ↗
77ranked-venue papers
8as first author
41since 2021 · last 2026
—ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 68 · 5 first-author · 39 since 2021Applied, interdisciplinary, general and emerging computing · 8 · 3 since 2021Databases, data management, data science and information retrieval · 5 · 5 since 2021Artificial intelligence and machine learning · 2 · 1 since 2021Human-computer interaction and ubiquitous computing · 2 · 1 since 2021Security and privacy · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Can AI Agents Generate Microservices? How Far are We?abstractContext. LLMs have advanced code generation, but their use for generating microservices with explicit dependencies and API contracts remains understudied.Goal. We examine whether AI agents can generate functional microservices and how different forms of contextual information influence their performance.Method. We assess 144 generated microservices across 3 agents, 4 projects, 2 prompting strategies, and 2 scenarios. Incremental generation operates within existing systems and is evaluated with unit tests. Clean state generation starts from requirements alone and is evaluated with integration tests. We analyze functional correctness, code quality, and efficiency.Results. Minimal prompts outperformed detailed ones in incremental generation, with 50-76% unit test pass rates. Clean state generation produced higher integration test pass rates (81-98%), indicating strong API contract adherence. Generated code showed lower complexity than human baselines. Generation times varied widely across agents, averaging 6-16 minutes per service.Conclusions. AI agents can produce microservices with maintainable code, yet inconsistent correctness and reliance on human oversight show that fully autonomous microservice generation is not yet achievable. Bassam Adnan, Matteo Esposito 0001, Davide Taibi 0001, Karthik Vaidhyanathan |
ICSA | 3 |
| 2026 | Evaluating Large Language Models for Detecting Architectural Decision ViolationsabstractArchitectural Decision Records (ADRs) play a central role in maintaining software architecture quality, yet many decision violations go unnoticed because projects lack both systematic documentation and automated detection mechanisms. Recent advances in Large Language Models (LLMs) open up new possibilities for automating architectural reasoning at scale. We investigated how effectively LLMs can identify decision violations in open-source systems by examining their agreement, accuracy, and inherent limitations. Our study analyzed 980 ADRs across 109 GitHub repositories using a multi-model pipeline in which one LLM primary screens potential decision violations, and three additional LLMs independently validate the reasoning. We assessed agreement, accuracy, precision, and recall, and complemented the quantitative findings with expert evaluation. The models achieved substantial agreement and strong accuracy for explicit, code-inferable decisions. Accuracy falls short for implicit or deployment-oriented decisions that depend on deployment configuration or organizational knowledge. Therefore, LLMs can meaningfully support validation of architectural decision compliance; however, they are not yet replacing human expertise for decisions not focused on code. Ruoyu Su, Alexander Bakhtin, Noman Ahmad, Matteo Esposito 0001, Valentina Lenarduzzi, Davide Taibi 0001 |
ICSA | 6 |
| 2026 | Stop Comparing Apples and Oranges: Matching for Better Results in Mining Software Repositories StudiesabstractConfounders (or confounding variables) pose significant challenges to detecting reliable causal relationships in observational studies. When data are collected from naturally occurring phenomena—e.g., mining software repositories (MSR)—researchers cannot rely on randomization to control for confounders, leading to biased causal inferences. Alternative approaches are required to mitigate confounding bias when exploring causal inferences. This paper explains and exemplifies the use of matching in MSR. Sabato Nocera, Nyyti Saarimäki, Valentina Lenarduzzi, Davide Taibi 0001, Sira Vegas |
MSR | 4 |
| 2026 | SQuaD: The Software Quality DatasetabstractSoftware quality research increasingly relies on large-scale datasets that measure both the product and process aspects of software systems. However, existing resources often focus on limited dimensions, such as code smells, technical debt, or refactoring activity, thereby restricting comprehensive analyses across isolated quality dimensions. To address this gap, we present the Software Quality Dataset (SQuaD), a multi-dimensional, time-aware collection of software quality metrics extracted from 450 mature open-source projects across diverse ecosystems, including Apache, Mozilla, FFmpeg, and the Linux kernel. By integrating nine state-of-the-art static analysis tools, i.e., SonarQube, CodeScene, PMD, Understand, CK, JaSoMe, RefactoringMiner, RefactoringMiner++, and PyRef, our dataset unifies over 700 unique metrics at method, class, file, and project levels. Covering a total of 63,586 analyzed project releases, SQuaD also provides version control and issue-tracking histories, software vulnerability data (CVE/CWE), and process metrics proven to enhance Just-In-Time (JIT) defect prediction. The SQuaD enables empirical research on maintainability, technical debt, software evolution, and quality assessment at unprecedented scale. We also outline emerging research directions, including automated dataset updates and cross-project quality modeling to support the continuous evolution of software analytics. The dataset is publicly available on ZENODO (DOI: 10.5281/zenodo.17566690). Mikel Robredo, Matteo Esposito 0001, Davide Taibi 0001, Rafael Peñaloza, Valentina Lenarduzzi |
MSR | 3 |
| 2026 | Running Large Language Models at Scale for Mining Software Repositories: Lessons Learned from HPC-Based Batch InferenceabstractThe rapid diffusion of Large Language Models (LLMs) is fundamentally changing how Mining Software Repositories (MSR) research is conducted, particularly for studies that rely on unstructured textual artifacts such as commit messages, issue discussions, pull request reviews, and practitioner-generated content. While recent work has demonstrated the potential of LLMs to support classification, summarization, and qualitative analysis tasks, the majority of existing approaches rely on interactive or API-based executions [2, 3, 6]. Such execution models are poorly suited for large-scale empirical MSR studies, where thousands or hundreds of thousands of artifacts must be processed in a controlled, reproducible, and cost-aware manner. Ruoyu Su, Matteo Esposito 0001, Davide Taibi 0001, Valentina Lenarduzzi |
MSR | 3 |
| 2026 | Generative AI as an infrastructure copilot: automating Infrastructure-As-Code across the DevSecOps lifecycleabstractAbstract Practitioners and researchers continuously focus on developing automation strategies to cope with the exponentially demanding need for the timely deployment of software projects in tight release schedules. Such automation techniques include Infrastructure-as-Code (IaC) and the DevOps and DevSecOps cycles. Recent studies investigated generative AI (GenAI) for generating infrastructure as code scripts. However, no studies have focused on using GenAI to generate IaC scripts based on DevSecOps stage artifacts. Different IaC tools serve varied purposes, requiring specific infrastructure setups for different project stages. We envision GenAI models leveraging artifacts from each DevSecOps stage to create and refine IaC scripts. We trust our approach to have an impact on practitioners to leverage it as an automatic copilot for infrastructure design and deployment, and for researchers to build on our vision and future empirical validation. Matteo Esposito 0001, Mikel Robredo, Alexander Bakhtin, Davide Taibi 0001, Valentina Lenarduzzi |
Autom. Softw. Eng. | 4 |
| 2026 | Generative AI for software architecture. Applications, challenges, and future directions
Matteo Esposito 0001, Xiaozhou Li 0002, Sergio Moreschini, Noman Ahmad, Tomás Cerný, Karthik Vaidhyanathan, Valentina Lenarduzzi, Davide Taibi 0001 |
J. Syst. Softw. | 8 |
| 2026 | A Systematic Mapping of federated learning operations and features: Architecture, communication and aggregation modelsabstractFederated Learning (FL) is a collaborative learning paradigm in which multiple clients train a shared global model without exchanging data. Clients communicate only model updates with a central aggregator. In parallel, Machine Learning Operations (MLOps) streamline the development, deployment, and monitoring of ML systems, while their extension, Federated Learning Operations (FLOps), aims to bring the operational discipline to decentralized and privacy-sensitive settings. This study presents a systematic mapping study (SMS) on FL and FLOps, and clarifies foundational concepts and uncovers new perspectives within this evolving field. We focus on FLOps and FL features: architecture, communication and aggregation models. First research question (RQ) focuses on prevalent FL computing architectures. Second RQ covers data transfer between FL components. Third RQ determines breadth of FLOps application in the scientific literature. Fourth RQ identifies distinct approaches to global model aggregation. Our analysis reveals that Edge-based local training with Cloud-based aggregation is the most adopted architecture, combining Edge privacy and responsiveness with Cloud computational capacity. Communication is enabled through lightweight protocols such as Message Queuing Telemetry Transport (MQTT), but protocol choice depends on constraints. Notably, FLOps remains a rarely addressed topic, indicating a substantial gap in end-to-end support for FL pipelines. Federated Averaging (FedAvg) is the most employed aggregation approach, valued for its simplicity and effectiveness with heterogeneous data. These findings expose critical research gaps in architectural diversity, protocol selection, lifecycle integration and adaptive aggregation, highlighting the need for more cohesive and scalable FL system design in future work. Ari Kukkaro, Sergio Moreschini, Davide Taibi 0001, David Hästbacka |
J. Syst. Softw. | 3 |
| 2026 | Emerging trends in software architecture from the practitioner's perspective: A five-year review
Ruoyu Su, Noman Ahmad, Matteo Esposito 0001, Andrea Janes, Davide Taibi 0001, Valentina Lenarduzzi |
J. Syst. Softw. | 5 |
| 2025 | Centrality Change Proneness: An Early Indicator of Microservice Architectural Degradation
Alexander Bakhtin, Matteo Esposito 0001, Valentina Lenarduzzi, Davide Taibi 0001 |
ECSA | 4 |
| 2025 | Network Centrality as a New Perspective on Microservice ArchitectureabstractContext: Over the past decade, the adoption of Microservice Architecture (MSA) has led to the identification of various patterns and anti-patterns, such as Nano/Mega/Hub services. Detecting these anti-patterns often involves modeling the system as a Service Dependency Graph (SDG) and applying graph-theoretic approaches. Aim: While previous research has explored software metrics (SMs) such as size, complexity, and quality for assessing MSAs, the potential of graph-specific metrics like network centrality remains largely unexplored. This study investigates whether centrality metrics (CMs) can provide new insights into MSA quality and facilitate the detection of architectural anti-patterns, complementing or extending traditional SMs. Method: We analyzed 24 open-source MSA projects, reconstructing their architectures to study 53 microservices. We measured SMs and CMs for each microservice and tested their correlation to determine the relationship between these metric types. Results and Conclusion: Among 902 computed metric correlations, we found weak to moderate correlation in 282 cases. These findings suggest that centrality metrics offer a novel perspective for understanding MSA properties. Specifically, ratio-based centrality metrics show promise for detecting specific anti-patterns, while subgraph centrality needs further investigation for its applicability in architectural assessments. Alexander Bakhtin, Matteo Esposito 0001, Valentina Lenarduzzi, Davide Taibi 0001 |
ICSA | 4 |
| 2025 | Does microservice adoption impact the velocity? A cohort studyabstractAbstract [Context] Microservices enable the decomposition of applications into small, independent, and connected services. The independence between services could positively affect a project’s velocity, which is considered an important maintenance metric measuring the time taken to implement features and fix bugs. However, no studies have investigated the causal relationship between microservices and velocity. [Objective and Method] The goal of this study is to investigate the effect of microservices on velocity which is a common maintenance metric. The study compares projects on GitHub developed with microservices style from the beginning and similar projects using monolithic architectures. The study was conducted as a retrospective cohort study, which is a study type used to assess causality. [Results] The results did not find statistically significant differences in mean velocities in microservice-based and monolithic projects. Furthermore, the statistical adjustment performed to quantify the statistical impact of the use of microservices on velocity considering additional confounders did not find statistically significant impact from these. [Conclusions] The results did not indicate a difference between microservices-based projects and monolithic projects in terms of velocity. In addition, this study will contribute to the body of knowledge of empirical methods and be among the first works to adopt the methodology of the cohort study. Nyyti Saarimäki, Mikel Robredo, Valentina Lenarduzzi, Sira Vegas, Natalia Juristo Juzgado, Davide Taibi 0001 |
Empir. Softw. Eng. | 6 |
| 2025 | Comparison of static analysis architecture recovery tools for microservice applicationsabstractAbstract Architecture recovery tools help software engineers obtain an overview of the structure of their software systems during all phases of the software development life cycle. This is especially important for microservice applications because they consist of multiple interacting microservices, which makes it more challenging to oversee the architecture. Various tools and techniques for architecture recovery (also called architecture reconstruction) have been presented in academic and gray literature sources, but no overview and comparison of their accuracy exists. This paper presents the results of a multivocal literature review with the goal of identifying architecture recovery tools for microservice applications and a comparison of the identified tools’ architectural recovery accuracy. We focused on static tools since they can be integrated into fast-paced CI/CD pipelines. 13 such tools were identified from the literature and nine of them could be executed and compared on their capability of detecting different system characteristics. The best-performing tool exhibited an overall F1-score of 0.86. Additionally, the possibility of combining multiple tools to increase the recovery correctness was investigated, yielding a combination of four individual tools that achieves an F1-score of 0.91. Simon Schneider, Alexander Bakhtin, Xiaozhou Li 0002, Jacopo Soldani, Antonio Brogi, Tomás Cerný, Riccardo Scandariato, Davide Taibi 0001 |
Empir. Softw. Eng. | 8 |
| 2025 | Evaluating time-dependent methods and seasonal effects in code technical debt predictionabstractBackground: Code Technical Debt (Code TD) prediction has gained significant attention in recent software engineering research. However, no standardized approach to Code TD prediction fully captures the factors influencing its evolution. Objective: Our study aims to assess the impact of time-dependent models and seasonal effects on Code TD prediction. It evaluates such models against widely used Machine Learning models also considering the influence of seasonality on prediction performance. Methods: We trained 11 prediction models with 31 Java open-source projects. To assess their performance, we predicted future observations of the SQALE index. To evaluate the practical usability of our TD forecasting model and their impact on practitioners, we surveyed 23 software engineering professionals. Results: Our study confirms the benefits of time-dependent techniques, with the ARIMAX model outperforming the others. Seasonal effects improved predictive performance, though the impact remained modest. ARIMAX/SARIMAX models demonstrated to provide well-balanced long-term forecasts. The survey highlighted strong industry interest in short- to medium-term TD forecasts. Conclusions: Our findings support using techniques that capture time dependence in historical software metric data, particularly for Code TD. Effectively addressing this evidence requires adopting methods that account for temporal patterns. Mikel Robredo, Nyyti Saarimäki, Matteo Esposito 0001, Davide Taibi 0001, Rafael Peñaloza, Valentina Lenarduzzi |
J. Syst. Softw. | 4 |
| 2024 | Temporal Community Detection in Developer Collaboration Networks of Microservice Projects
Alexander Bakhtin, Xiaozhou Li 0002, Davide Taibi 0001 |
ECSA | 3 |
| 2024 | Beyond Words: On Large Language Models Actionability in Mission-Critical Risk AnalysisabstractContext. Risk analysis assesses potential risks in specific scenarios. Risk analysis principles are context-less; the same methodology can be applied to a risk connected to health and information technology security. Risk analysis requires a vast knowledge of national and international regulations and standards and is time and effort-intensive. A large language model can quickly summarize information in less time than a human and can be fine-tuned to specific tasks. Matteo Esposito 0001, Francesco Palagiano, Valentina Lenarduzzi, Davide Taibi 0001 |
ESEM | 4 |
| 2024 | 6GSoft: Software for Edge-to-Cloud ContinuumabstractIn the era of 6G, developing and managing software requires cutting-edge software engineering (SE) theories and practices tailored for such complexity across a vast number of connected edge devices. Our project aims to lead the development of sustainable methods and energy-efficient orchestration models specifically for edge environments, enhancing architectural support driven by AI for contemporary edge-to-cloud continuum computing. This initiative seeks to position Finland at the forefront of the 6G landscape, focusing on sophisticated edge orchestration and robust software architectures to optimize the performance and scalability of edge networks. Collaborating with leading Finnish universities and companies, the project emphasizes deep industry-academia collaboration and international expertise to address critical challenges in edge orchestration and software architecture, aiming to drive significant advancements in software productivity and market impact. Muhammad Azeem Akbar, Matteo Esposito 0001, Sami Hyrynsalmi, Karthikeyan Dinesh Kumar, Valentina Lenarduzzi, Xiaozhou Li 0002, Ali Mehraj, Tommi Mikkonen, Sergio Moreschini, Niko Mäkitalo, Markku Oivo, Anna-Sofia Paavonen, Risha Parveen, Kari Smolander, Ruoyu Su, Kari Systä, Davide Taibi 0001, Zheying Zhang, Muhammad Zohaib |
SEAA | 17 |
| 2024 | Cohort Studies for Mining Software RepositoriesabstractMining Software Repositories studies have become increasingly popular over the years. However, a notable limitation is that they report correlational relationships rather than establishing causation. In contrast, certain disciplines (e.g. epidemiology) have developed specific methods to address this limitation. The goal of this tutorial is to introduce participants to one such method: cohort studies. By the end of the tutorial, participants will be familiar with the steps and techniques involved in designing and analyzing cohort studies. Nyyti Saarimäki, Sira Vegas, Valentina Lenarduzzi, Davide Taibi 0001, Mikel Robredo |
MSR | 4 |
| 2024 | A Dataset of Microservices-based Open-Source ProjectsabstractResearchers in the microservices community often resort to demonstrating the impact of their proposed advancements on custom-made microservices projects. This is a possible source of bias that can reduce the trustworthiness of the results. Moreover, it is hard to compare advances in small projects, often developed due to lack of time. It is common across disciplines to recognize benchmarks that mitigate bias and unify the advancements' impact. To facilitate the identification of available open-source microservice projects (OSS-MS), we performed a comprehensive study to identify, curate, and catalog OSS-MS. We started with 389559 projects and filtered them down to 3804 projects that we manually labeled. After manual labeling, our dataset contains 378 projects with three or more microservices and with over 100 commits. We document the projects from many perspectives, including project size, platform, number of contributors, project purpose, and foundation support. This dataset can serve researchers as a roadmap to identify benchmarks, as our dataset can be used to answer questions such as whether the number of services impacts the issue count. Dario Amoroso d'Aragona, Alexander Bakhtin, Xiaozhou Li 0002, Ruoyu Su, Lauren Adams, Ernesto Aponte, Francis Boyle, Patrick Boyle, Rachel Koerner, Joseph Lee, Fangchao Tian, Yuqing Wang 0002, Jesse Nyyssölä, Ernesto Quevedo Caballero, Md Shahidur Rahaman, Amr S. Abdelfattah, Mika Mäntylä, Tomás Cerný, Davide Taibi 0001 |
MSR | 19 |
| 2024 | Comparing Multivariate Time Series Analysis and Machine Learning Performance for Technical Debt Prediction: The SQALE Index CaseabstractPredicting Technical Debt has become a popular research niche in recent software engineering literature. However, there is no consistent approach yet that succeeds in entirely capturing the nature of this type of data. We applied each technique on a dataset consisting of the commit data of a total of 28 Java projects. We predicted the future values of the SQALE index to evaluate their predictive performance. Using these techniques we confirmed the predictive power of each of them with the same commit data. We aim to investigate further the time-dependent nature of other types of commit data to validate the existing prediction techniques. Mikel Robredo, Nyyti Saarimäki, Rafael Peñaloza, Davide Taibi 0001, Valentina Lenarduzzi |
TechDebt@ICSE | 4 |
| 2024 | Architectural support for software performance in continuous software engineering: A systematic mapping studyabstractThe continuous software engineering paradigm is gaining popularity in modern development practices, where the interleaving of design and runtime activities is induced by the continuous evolution of software systems. In this context, performance assessment is not easy, but recent studies have shown that architectural models evolving with the software can support this goal. In this paper, we present a mapping study aimed at classifying existing scientific contributions that deal with the architectural support for performance-targeted continuous software engineering. We have applied the systematic mapping methodology to an initial set of 215 potentially relevant papers and selected 66 primary studies that we have analyzed to characterize and classify the current state of research. This classification helps to focus on the main aspects that are being considered in this domain and, mostly, on the emerging findings and implications for future research. Editor’s note: Open Science material was validated by the Journal of Systems and Software Open Science Board. (see [https://www.sciencedirect.com/science/article/pii/S0164121221002168] for an example for where to place the statement and how to format it). Romina Eramo, Michele Tucci 0001, Daniele Di Pompeo, Vittorio Cortellessa, Antinisca Di Marco, Davide Taibi 0001 |
J. Syst. Softw. | 6 |
| 2024 | Edge to cloud tools: A Multivocal Literature ReviewabstractEdge-to-cloud computing is an emerging paradigm for distributing computational tasks between edge devices and cloud resources. Different approaches for orchestration, offloading, and many more purposes have been introduced in research. However, it is still not clear what has been implemented in the industry. This work aims to merge this gap by mapping the existing knowledge on edge-to-cloud tools by providing an overview of the current state of research in this area and identifying research gaps and challenges. For this purpose, we conducted a Multivocal Literature Review (MLR) by analyzing 40 tools from 1073 primary studies (220 PS from the white literature and 853 PS from the grey literature). We categorized the tools based on their characteristics and targeted environments. Overall, this systematic mapping study provides a comprehensive overview of edge-to-cloud tools and highlights several opportunities for researchers and practitioners for future research in this area. Editor’s note: Open Science material was validated by the Journal of Systems and Software Open Science Board. Sergio Moreschini, Elham Younesian, David Hästbacka, Michele Albano, Jiri Hosek, Davide Taibi 0001 |
J. Syst. Softw. | 6 |
| 2024 | Technical debt in AI-enabled systems: On the prevalence, severity, impact, and management strategies for code and architectureabstractArtificial Intelligence (AI) is pervasive in several application domains and promises to be even more diffused in the next decades. Developing high-quality AI-enabled systems — software systems embedding one or multiple AI components, algorithms, and models — could introduce critical challenges for mitigating specific risks related to the systems’ quality. Such development alone is insufficient to fully address socio-technical consequences and the need for rapid adaptation to evolutionary changes. Recent work proposed the concept of AI technical debt, a potential liability concerned with developing AI-enabled systems whose impact can affect the overall systems’ quality. While the problem of AI technical debt is rapidly gaining the attention of the software engineering research community, scientific knowledge that contributes to understanding and managing the matter is still limited. In this paper, we leverage the expertise of practitioners to offer useful insights to the research community, aiming to enhance researchers’ awareness about the detection and mitigation of AI technical debt. Our ultimate goal is to empower practitioners by providing them with tools and methods. Additionally, our study sheds light on novel aspects that practitioners might not be fully acquainted with, contributing to a deeper understanding of the subject. We develop a survey study featuring 53 AI practitioners, in which we collect information on the practical prevalence, severity, and impact of AI technical debt issues affecting the code and the architecture other than the strategies applied by practitioners to identify and mitigate them. The key findings of the study reveal the multiple impacts that AI technical debt issues may have on the quality of AI-enabled systems (e.g., the high negative impact that Undeclared consumers has on security, whereas Jumbled Model Architecture can induce the code to be hard to maintain) and the little support practitioners have to deal with them, limited to apply manual effort for identification and refactoring. We conclude the article by distilling lessons learned and actionable insights for researchers. Gilberto Recupito, Fabiano Pecorelli, Gemma Catolino, Valentina Lenarduzzi, Davide Taibi 0001, Dario Di Nucci, Fabio Palomba |
J. Syst. Softw. | 5 |
| 2023 | Comparing 2D and Augmented Reality Visualizations for Microservice System Understandability: A Controlled ExperimentabstractMicroservice-based systems are often complex to understand, especially when their sizes grow. Abstracted views help practitioners with the system understanding from a certain perspective. Recent advancement in interactive data visualization begs the question of whether established software engineering models to visualize system design remain the most suited approach for the service-oriented design of microservices. Our recent work proposed presenting a 3D visualization for microservices in augmented reality. This paper analyzes whether such an approach brings any benefits to practitioners when dealing with selected architectural questions related to system design quality. For this purpose, we conducted a controlled experiment involving 20 participants investigating their performance in identifying service dependency, service cardinality, and bottlenecks. Results show that the 3D enables novices to perform as well as experts in the detection of service dependencies, especially in large systems, while no differences are reported for the identification of service cardinality and bottlenecks. We recommend industry and researchers to further investigate AR for microservice architectural analysis, especially to ease the onboarding of new developers in microservice projects. Amr S. Abdelfattah, Tomás Cerný, Davide Taibi 0001, Sira Vegas |
ICPC | 3 |
| 2023 | Metrics and Models for Developer Collaboration Analysis in Microservice-Based Systems. A Systematic Mapping Study
Xiaozhou Li 0002, Amr S. Abdelfattah, Ruoyu Su, Joseph Lee, Ernesto Aponte, Rachel Koerner, Tomás Cerný, Davide Taibi 0001 |
IWSM-Mensura | 8 |
| 2023 | Evaluating Microservice Organizational Coupling Based on Cross-Service Contribution
Xiaozhou Li 0002, Dario Amoroso d'Aragona, Davide Taibi 0001 |
PROFES (1) | 3 |
| 2023 | Exploring the Personality Design Space of Robots : Personalities and Design Implications for Non-Anthropomorphic Wellness RobotsabstractNon-anthropomorphic robots can be cost-effective and efficient choice in certain context in comparison to social or humanoid robots. However, introduction of nonanthropomorphic robots can evoke uncertainty and anxiety due to novelty of technology. The goal of this paper is to explore personality design space for non-anthropomorphic wellness robots in office environment to foster acceptance among users. Through Participatory Design approach, we explored appropriate personalities for a well-being robot, which would detect employees’ sitting posture and suggest small wellness interventions. We addressed the following research questions: (i) How can personalities be designed and integrated to non-anthropomorphic wellness robots to promote users’ acceptance? (ii) How do the users perceive designed personalities of non-anthropomorphic wellness robot in the office context? We conducted one contextual inquiry (n=5) and one co-design workshop (n=15) followed by evaluation (n=5) in IT office environment with office employees. As a contribution to the paper, we present personalities and design implications for non-anthropomorphic wellness robot in the office context. Our contribution will serve as a guideline for designers to explore and expand their knowledge on designing robot personalities for non-anthropomorphic robots in the context. Aparajita Chowdhury, Aino Ahtinen, Chia-Hsin Wu, Kaisa Väänänen, Davide Taibi 0001, Roel Pieters |
RO-MAN | 5 |
| 2023 | Resolving Security Issues via Quality-Oriented Refactoring: A User StudyabstractSoftware quality is crucial in software development: if not addressed in early phases of the software development life cycle, it may even lead to technical bankruptcy, i.e., a situation in which modifications cost more than redeveloping the application from scratch. In addition, code security must also be addressed to reduce software vulnerabilities and to comply with legal requirements. In this work, we aim to investigate the relationship between refactoring code quality and software security, with the purpose of understanding whether and to what extent improving software quality could have a positive impact on software security as well. Specifically, we investigate to what extent rule violations of a software quality tool such as SonarQube overlap with rule violations of a software vulnerability tool like Fortify Static Code Analyzer. We first compared the rules encoded in the quality models of both tools, to discover possible overlapping cases. Later, we compared the issues raised by both tools on a set of open source Java projects; we also investigated the cases in which a quality refactoring process impacts over software security (thus removing one or more vulnerabilities). We furthermore validated our results statistically. Our results show that resolving software quality issues might also resolve security issues but only in part: many security issues still persist in the source code; also, some quality aspects are more likely to be improved in respect to others. In addition, this empirical study uncovers rule co-occurrences between the two tools. This study confirms the need for using a security-oriented static analysis tool to enforce software security instead of relying only on a quality-oriented one. Results have highlighted important insights for practitioners. Domenico Gigante, Fabiano Pecorelli, Vita Santa Barletta, Andrea Janes, Valentina Lenarduzzi, Davide Taibi 0001, Maria Teresa Baldassarre |
TechDebt@ICSE | 6 |
| 2023 | Technical Debt Diffuseness in the Apache Ecosystem: A Differentiated ReplicationabstractTechnical debt management is a critical activity that is gaining the attention of both practitioners and researchers. Several tools providing automatic support for technical debt management have been introduced over the last years. SonarQube is one of the most widely applied tools to automatically measure technical debt in software systems. SonarQube has been adopted to quantify the diffuseness of technical debt in projects of the Apache Software Foundation ecosystem. Lenarduzzi et al. [1] found that the vast majority of technical debt issues in the code are code smells and that, surprisingly, developers tend to take more time to remove severe issues than the less-severe ones. While this study provides very interesting insights both for researchers and practitioners interested in technical debt management, we identified some major limitations that could have led to results that do not perfectly reflect reality. This study aims to address such limitations by presenting a differentiated replication study. Our findings have pointed out significant differences with the reference work. The results show that technical debt issues appear much more rarely than what the reference work reported.In this study, we implemented a new methodology to calculate the diffuseness of SonarQube issues at project and commit level, based on the reconstruction of the SonarQube quality profile in order to understand how the quality profile has evolved and to compare the number of active rules per category and severity level with the respective number of issues found. The results show that over 50% of rules active in the quality profile, are Code Smell rules and that over 90% of the issues belong to Code Smell category. Furthermore, analyzing the life span of the issues, we found that developers take into account the level of severity of the issues only for the Bug category, thus fixing the issues starting from the most severe, which is not the case for the other categories. Dario Amoroso d'Aragona, Fabiano Pecorelli, Maria Teresa Baldassarre, Davide Taibi 0001, Valentina Lenarduzzi |
SANER | 4 |
| 2023 | Catalog and detection techniques of microservice anti-patterns and bad smells: A tertiary studyabstractVarious works investigated microservice anti-patterns and bad smells in the past few years. We identified seven secondary publications that summarize these, but they have little overlap in purpose and often use different terms to describe the identified anti-patterns and smells. This work catalogs recurring bad design practices known as anti-patterns and bad smells for microservice architectures, and provides a classification into categories as well as methods for detecting these practices. We conducted a systematic literature review in the form of a tertiary study targeting secondary studies identifying poor design practices for microservices. We provide a comprehensive catalog of 58 disjoint anti-patterns, grouped into five categories, which we derived from 203 originally identified anti-patterns for microservices. The results provide a reference to microservice developers to design better-quality systems and researchers who aim to detect system quality based on anti-patterns. It also serves as an anti-pattern catalog for development-aiding tools, which are not currently available for microservice system development but could mitigate quality degradation throughout system evolution. Tomás Cerný, Amr S. Abdelfattah, Andrea Janes, Davide Taibi 0001 |
J. Syst. Softw. | 5 |
| 2023 | The anatomy of a vulnerability database: A systematic mapping studyabstractSoftware vulnerabilities play a major role, as there are multiple risks associated, including loss and manipulation of private data. The software engineering research community has been contributing to the body of knowledge by proposing several empirical studies on vulnerabilities and automated techniques to detect and remove them from source code. The reliability and generalizability of the findings heavily depend on the quality of the information mineable from publicly available datasets of vulnerabilities as well as on the availability and suitability of those databases. In this paper, we seek to understand the anatomy of the currently available vulnerability databases through a systematic mapping study where we analyze (1) what are the popular vulnerability databases adopted; (2) what are the goals for adoption; (3) what are the other sources of information adopted; (4) what are the methods and techniques; (5) which tools are proposed. An improved understanding of these aspects might not only allow researchers to take informed decisions on the databases to consider when doing research but also practitioners to establish reliable sources of information to inform their security policies and standards. Xiaozhou Li 0002, Sergio Moreschini, Zheying Zhang, Fabio Palomba, Davide Taibi 0001 |
J. Syst. Softw. | 5 |
| 2022 | Knowledge Management Challenges for AI QualityabstractDeveloping an AI-based system is uniquely challenging as it requires knowledge across multiple domains. Though the project team is required to be versatile, it is possible that their repertoire cannot cover all of the requirements of the system, which results in damage to the software quality. Therefore, it is critical to have an effective team knowledge management (KM) strategy to detect the valuable “unknown”, optimize the “known” task assignment, and enlarge the team knowledge base. Moreover, it is more effective to support the process with data-driven approaches. Xiaozhou Li 0002, Sergio Moreschini, Aleksandra Filatova, Davide Taibi 0001 |
SANER | 4 |
| 2022 | On the Benefits of the Accelerate Metrics: An Industrial Survey at VendastaabstractThe popularity of the Accelerate metrics is increasing in the industry. The Accelerate metrics are four key metrics to evaluate the software delivery performance: lead time for changes, deployment frequency, mean time to recover, change fail rate. However, their benefits in monitoring the development process performance of microservice-based systems have not been evaluated. In this study, we analyze the case of Vendasta, a Canadian company that migrated to microservices two years ago and adopted the Accelerate metrics to monitor their development process. Our goal is to understand whether these metrics are beneficial in the microservices context from the practitioners' point of view. Therefore, we surveyed employees from different teams and obtained 62 responses. Our results show that the Accelerate metrics provide a good overview of the process issues and are particularly helpful for a high-level representation of the process performances. Furthermore, the Accelerate metrics also enabled the teams to improve their productivity, significantly reducing service outages. Francesco Lomio, Zadia Codabux, Dale Birtch, Dale Hopkins, Davide Taibi 0001 |
SANER | 5 |
| 2022 | MLOps for evolvable AI intensive software systemsabstractDevOps practices are the de facto sandard when developing software. The increased adoption of machine learning (ML) to solve problems urges us to adapt all the current approaches to developing a new standard that can take full benefit from the new solution. In this work we propose a graphical representation for DevOps for ML-based applications, namely MLOps, and also outline open research challenges. The pipeline aims to get the best of both worlds by maintaining the simple and iconic pipeline of DevOps, yet improving it by adding new circular steps for ML incorporation. This aims to create an ML-based development subsystem that can be self-maintained, and is capable of evolving side-by-side with the software development. Sergio Moreschini, Francesco Lomio, David Hästbacka, Davide Taibi 0001 |
SANER | 4 |
| 2022 | Exploring factors and metrics to select open source software components for integration: An empirical studyabstractOpen Source Software (OSS) is nowadays used and integrated in most of the commercial products. However, the selection of OSS projects for integration is not a simple process, mainly due to a of lack of clear selection models and lack of information from the OSS portals. We investigate the factors and metrics that practitioners currently consider when selecting OSS. We also investigate the source of information and portals that can be used to assess the factors, as well as the possibility to automatically extract such information with APIs. We elicited the factors and the metrics adopted to assess and compare OSS performing a survey among 23 experienced developers who often integrate OSS in the software they develop. Moreover, we investigated the APIs of the portals adopted to assess OSS extracting information for the most starred 100K projects in GitHub. We identified a set consisting of 8 main factors and 74 sub-factors, together with 170 related metrics that companies can use to select OSS to be integrated in their software projects. Unexpectedly, only a small part of the factors can be evaluated automatically, and out of 170 metrics, only 40 are available, of which only 22 returned information for all the 100K projects. Therefore, we recommend project maintainers and project repositories to pay attention to provide information for the project they are hosting, so as to increase the likelihood of being adopted. OSS selection can be partially automated, by extracting the information needed for the selection from portal APIs. OSS producers can benefit from our results by checking if they are providing all the information commonly required by potential adopters. Developers can benefit from our results, using the list of factors we selected as a checklist during the selection of OSS, or using the APIs we developed to automatically extract the data from OSS projects. Xiaozhou Li 0002, Sergio Moreschini, Zheying Zhang, Davide Taibi 0001 |
J. Syst. Softw. | 4 |
| 2021 | Structural Coupling for MicroservicesabstractCloud-native Applications are 'distributed, elastic and horizontal-scalable systems composed of (micro)services which isolate states in a minimum of stateful components'. Hence, an important property is to ensure a low coupling and a high cohesion among the (micro)services composing the cloud-native application. Loosely coupled and highly cohesive services allow development teams to work in parallel, reducing the communication overhead between teams. However, despite both practitioners and researchers agree on the importance of this general property, there are no validated metrics to effectively measure or test the actual coupling level between services. In this work, we propose ways to compute and visualize the coupling between microservices, by extending and adapting the concepts behind the computation of the traditional structural coupling. We validate these measures with a case study involving 17 open-source projects and we provide an automatic approach to measure them. The results of this study highlight how these metrics provide to practitioners a quantitative and visual view of services compositions, which can be useful to conceive advanced systems to monitor the evolution of the service. Sebastiano Panichella, Mohammad Imranur Rahman, Davide Taibi 0001 |
CLOSER | 3 |
| 2021 | An Investigation on the Availability of Contribution Information in Open-Source ProjectsabstractOpen-source projects commonly receive new feature requests from different types of users from layperson end users to developers, who actively contribute code to the project. However, the submission of new feature requests and the processes adopted for handling them is not always clear. In this work, we aim at investigating the availability of the contribution information, and in particular on the new feature requests, on 66 out of the 100 most starred GitHub projects. We examined the contribution guidelines and other documentation from those 66 projects. We particularly searched for whether the projects openly welcomed new contributions, such as feature requests. Our finding shows that even the most starred GitHub projects are often not reporting information on how to contribute and, in particular, how new feature requests are managed. Zheying Zhang, Outi Sievi-Korte, Ulla-Talvikki Virta, Hannu-Matti Järvinen, Davide Taibi 0001 |
SEAA | 5 |
| 2021 | From monolithic systems to Microservices: An assessment frameworkabstractRe-architecting monolithic systems with Microservices-based architecture is a common trend. Various companies are migrating to Microservices for different reasons. However, making such an important decision like re-architecting an entire system must be based on real facts and not only on gut feelings. The goal of this work is to propose an evidence-based decision support framework for companies that need to migrate to Microservices, based on the analysis of a set of characteristics and metrics they should collect before re-architecting their monolithic system. We conducted a survey done in the form of interviews with professionals to derive the assessment framework based on Grounded Theory. We identified a set consisting of information and metrics that companies can use to decide whether to migrate to Microservices or not. The proposed assessment framework, based on the aforementioned metrics, could be useful for companies if they need to migrate to Microservices and do not want to run the risk of failing to consider some important information. Florian Auer, Valentina Lenarduzzi, Michael Felderer, Davide Taibi 0001 |
Inf. Softw. Technol. | 4 |
| 2021 | Motivations, benefits, and issues for adopting Micro-Frontends: A Multivocal Literature ReviewabstractMicro-Frontends are increasing in popularity, being adopted by several large companies, such as DAZN, Ikea, Starbucks and may others. Micro-Frontends enable splitting of monolithic frontends into independent and smaller micro applications. However, many companies are still hesitant to adopt Micro-Frontends, due to the lack of knowledge concerning their benefits. Additionally, provided online documentation is often times perplexed and contradictory. The goal of this work is to map the existing knowledge on Micro-Frontends, by understanding the motivations of companies when adopting such applications as well as possible benefits and issues. For this purpose, we surveyed the academic and grey literature by means of the Multivocal Literature Review process, analysing 173 sources, of which 43 reported motivations, benefits and issues. The results show that existing architectural options to build web applications are cumbersome if the application and development team grows, and if multiple teams need to develop the same frontend application. In such cases, companies adopted Micro-Frontends to increase team independence and to reduce the overall complexity of the frontend. The application of the Micro-Frontend, confirmed the expected benefits, and Micro-Frontends resulted to provide the same benefits as microservices on the back end side, combining the development team into a fully cross-functional development team that can scale processes when needed. However, Micro-Frontends also showed some issues, such as the increased payload size of the application, increased code duplication and coupling between teams, and monitoring complexity. Micro-Frontends allow companies to scale development according to business needs in the same way microservices do with the back end side. In addition, Micro-Frontends have a lot of overhead and require careful planning if an advantage is achieved by using Micro-Frontends. Further research is needed to carefully investigate this new hype, by helping practitioners to understand how to use Micro-Frontends as well as understand in which contexts they are the most beneficial. Severi Peltonen, Luca Mezzalira, Davide Taibi 0001 |
Inf. Softw. Technol. | 3 |
| 2021 | A systematic literature review on Technical Debt prioritization: Strategies, processes, factors, and toolsabstractSoftware companies need to manage and refactor Technical Debt issues. Therefore, it is necessary to understand if and when refactoring of Technical Debt should be prioritized with respect to developing features or fixing bugs. The goal of this study is to investigate the existing body of knowledge in software engineering to understand what Technical Debt prioritization approaches have been proposed in research and industry. We conducted a Systematic Literature Review of 557 unique papers published until 2020, following a consolidated methodology applied in software engineering. We included 44 primary studies. Different approaches have been proposed for Technical Debt prioritization, all having different goals and proposing optimization regarding different criteria. The proposed measures capture only a small part of the plethora of factors used to prioritize Technical Debt qualitatively in practice. We present an impact map of such factors. However, there is a lack of empirical and validated set of tools. We observed that Technical Debt prioritization research is preliminary and there is no consensus on what the important factors are and how to measure them. Consequently, we cannot consider current research conclusive. In this paper, we therefore outline different directions for necessary future investigations. Valentina Lenarduzzi, Terese Besker, Davide Taibi 0001, Antonio Martini 0001, Francesca Arcelli Fontana |
J. Syst. Softw. | 3 |
| 2021 | Does code quality affect pull request acceptance? An empirical studyabstractPull requests are a common practice for making contributions and reviewing them in both open-source and industrial contexts. Our goal is to understand whether quality flaws such as code smells, anti-patterns, security vulnerabilities, and coding style violations in a pull request’s code affect the chance of its acceptance when reviewed by a maintainer of the project. We conducted a case study among 28 Java open-source projects, analyzing the presence of 4.7 M code quality flaws in 36 K pull requests. We analyzed further correlations by applying logistic regression and six machine learning techniques. Moreover, we manually validated 10% of the pull requests to get further qualitative insights on the importance of quality issues in cases of acceptance and rejection. Unexpectedly, quality flaws measured by PMD turned out not to affect the acceptance of a pull request at all. As suggested by other works, other factors such as the reputation of the maintainer and the importance of the delivered feature might be more important than other qualities in terms of pull request acceptance. . Researchers have already investigated the influence of the developers’ reputation and the pull request acceptance. This is the first work investigating code style violations and specifically PMD rules. We recommend that researchers further investigate this topic to understand if different measures or different tools could provide some useful measures. Valentina Lenarduzzi, Vili Nikkola, Nyyti Saarimäki, Davide Taibi 0001 |
J. Syst. Softw. | 4 |
| 2020 | Patterns for Serverless Functions (Function-as-a-Service): A Multivocal Literature Reviewabstract[Context] Serverless is a recent technology that enables companies to reduce the overhead for provisioning, scaling and in general managing the infrastructure. Companies are increasingly adopting Serverless, by migrating existing applications to this new paradigm. Different practitioners proposed patterns for composing and managing serverless functions. However, some of these patterns offer different solutions to solve the same problem, which makes it hard to select the most suitable solution for each problem. [Goal] In this work, we aim at supporting practitioners in understanding the different patterns, by classifying them and reporting possible benefits and issues. [Method]We adopted a multivocal literature review process, surveying peer-reviewed and grey literature and classifying patterns (common solutions to solve common problems), together with benefits and issues. [Results] Among 24 selected works, we identified 32 patterns that we classified as orchestration, aggregation, event-management, availability, communication, and authorization. [Conclusion] Practitioners proposed a list of fairly consistent patterns, even if a small number of patterns proposed different solutions to similar problems. Some patterns emerged to circumvent some serverless limitations, while others for some classical technical problems (e.g. publisher/subscriber). Davide Taibi 0001, Nabil El Ioini, Claus Pahl, Jan Raphael Schmid Niederkofler |
CLOSER | 1 |
| 2020 | How long do Junior Developers take to Remove Technical Debt Items?abstractBackground. Software engineering is one of the engineering fields with the highest inflow of junior engineers. Tools that utilize source code analysis to provide feedback on internal software quality, i.e. Technical Debt (TD), are valuable to junior developers who can learn and improve their coding skills with minimal consultations with senior colleagues. Objective. We aim at understating which SonarQube TD items junior developers prioritize during the refactoring and how long they take to refactor them. Method. We designed a case study with replicated design and we conducted it with 185 junior developers in two countries, that developed 23 projects with different programming languages and architectures. Results. Junior developers focus homogeneously on different types of TD items. Moreover, they can refactor items in a fraction of the estimated time, never spending more than 50% of the time estimated by SonarQube. Conclusion. Junior Developers appreciate the usage of SonarQube and considered as a useful tool. Companies might ask junior developers to quickly clean their code. Valentina Lenarduzzi, Vladimir Mandic, Andrej Katin, Davide Taibi 0001 |
ESEM | 4 |
| 2020 | Cohort Studies in Software Engineering: A Vision of the FutureabstractBackground. Most Mining Software Repositories (MSR) studies cannot obtain causal relations because they are not controlled experiments. The use of cohort studies as defined in epidemiology could help to overcome this shortcoming. Nyyti Saarimäki, Valentina Lenarduzzi, Sira Vegas, Natalia Juristo Juzgado, Davide Taibi 0001 |
ESEM | 5 |
| 2020 | Open Source Software Evaluation, Selection, and Adoption: a Systematic Literature ReviewabstractBackground. Open Source Software (OSS) is experiencing an increasing popularity both in industry and in academia. Aim. We investigated models for the selection, evaluation, and adoption of OSS, focusing on factors that affect most the evaluation of OSS. Method. We conducted a Systematic Literature Review of 262 studies published until the end of 2019, to understand whether OSS selection is still an interesting topic for researchers, and which factors are considered by stakeholders and are assessed by the available models. Result. We selected 60 primary studies: 20 surveys and 5 lessons learned studies elicited the motivations for OSS adoption; 35 papers proposed several OSS evaluation models focusing on different technical aspects. This Systematic Literature Review provides an overview of the available OSS evaluation methods, highlighting their limits and strengths, based on the wide range of technicalities and aspects explored by the selected primary studies. Conclusion. OSS producers can benefit from our results by checking if they are providing all the information commonly required by potential adopters. Users can learn how models work and which models cover the relevant characteristics of OSS they are most interested in. Valentina Lenarduzzi, Davide Taibi 0001, Davide Tosi, Luigi Lavazza, Sandro Morasca |
SEAA | 2 |
| 2020 | Towards microservice smells detectionabstractWith the adoption of microservices architectural styles, practitioners started noticing increasing pitfalls in managing and maintaining such architectures, with the risk of introducing architectural debt. Previous studies identified different microservice smells (also named anti-patterns) that harm microservices architectures. However, according to our knowledge, there are no tools that can automatically detect microservice smells, so their identification is left to the experience of the developer. In this paper, we extend an existing tool developed for the detection of architectural smells to explore microservices architecture through the detection of three microservice smells: Cyclic Dependencies, Hard-Coded Endpoints, and Shared Persistence. We detected the smells on five open-source projects implemented with microservices and manually validated the precision of the detection results. This work aims to open new perspectives on facing and studying architectural debt in the field of microservices architectures. Ilaria Pigazzini, Francesca Arcelli Fontana, Valentina Lenarduzzi, Davide Taibi 0001 |
TechDebt@ICSE | 4 |
| 2020 | OpenSZZ: A Free, Open-Source, Web-Accessible Implementation of the SZZ AlgorithmabstractThe accurate identification of defect-inducing commits represents a key problem for researchers interested in studying the naturalness of defects and defining defect prediction models. To tackle this problem, software engineering researchers have relied on and proposed several implementations of the well-known Sliwerski-Zimmermann-Zeller (SZZ) algorithm. Despite its popularity and wide usage, no open-source, publicly available, and web-accessible implementation of the algorithm has been proposed so far. In this paper, we prototype and make available one such implementation for further use by practitioners and researchers alike. The evaluation of the proposed prototype showed competitive results and lays the foundation for future work. This paper outlines our prototype, illustrating its usage and reporting on its evaluation in action. Valentina Lenarduzzi, Fabio Palomba, Davide Taibi 0001, Damian A. Tamburri |
ICPC | 3 |
| 2020 | On the Link Between Refactoring Activity and Class Cohesion Through the Prism of Two Cohesion-Based MetricsabstractThe practice of refactoring has evolved over the past thirty years to become standard developer practice; for almost the same amount of time, proposals for measuring object-oriented cohesion have also been suggested. Yet, we still know very little about their inter-relationship empirically, despite the fact that classes exhibiting low cohesion would be strong candidates for refactoring. In this paper, we use a large set of refactorings to understand the characteristics of two cohesion metrics from a refactoring perspective. Firstly, through the well-known LCOM metric of Chidamber and Kemerer and, secondly, the C3 metric proposed more recently by Marcus et al. Our research question is motivated by the premise that different refactorings will be applied to classes with low cohesion compared with those applied to classes with high cohesion. We used three open-source systems as a basis of our analysis and on data from the lower and upper quartiles of metric data. Results showed that the set of refactoring types across both upper and lower quartiles was broadly the same, although very different in actual numbers. The `rename method' refactoring stood out from the rest, being applied over three times as often to classes with low cohesion than to classes with high cohesion. Steve Counsell, Giuseppe Destefanis, Steve Swift, Mahir Arzoky, Davide Taibi 0001 |
QRS | 5 |
| 2020 | Are SonarQube Rules Inducing Bugs?abstractThe popularity of tools for analyzing Technical Debt, and particularly the popularity of SonarQube, is increasing rapidly. SonarQube proposes a set of coding rules, which represent something wrong in the code that will soon be reflected in a fault or will increase maintenance effort. However, our local companies were not confident in the usefulness of the rules proposed by SonarQube and contracted us to investigate the fault-proneness of these rules. In this work we aim at understanding which SonarQube rules are actually fault-prone and to understand which machine learning models can be adopted to accurately identify fault-prone rules. We designed and conducted an empirical study on 21 well-known mature open-source projects. We applied the SZZ algorithm to label the fault-inducing commits. We analyzed the fault-proneness by comparing the classification power of seven machine learning models. Among the 202 rules defined for Java by SonarQube, only 25 can be considered to have relatively low fault-proneness. Moreover, violations considered as “bugs” by SonarQube were generally not fault-prone and, consequently, the fault-prediction power of the model proposed by SonarQube is extremely low. The rules applied by SonarQube for calculating technical debt should be thoroughly investigated and their harmfulness needs to be further confirmed. Therefore, companies should carefully consider which rules they really need to apply, especially if their goal is to reduce fault-proneness. Valentina Lenarduzzi, Francesco Lomio, Heikki Huttunen, Davide Taibi 0001 |
SANER | 4 |
| 2020 | Does migrating a monolithic system to microservices decrease the technical debt?
Valentina Lenarduzzi, Francesco Lomio, Nyyti Saarimäki, Davide Taibi 0001 |
J. Syst. Softw. | 4 |
| 2020 | Some SonarQube issues have a significant but small effect on faults and changes. A large-scale empirical study
Valentina Lenarduzzi, Nyyti Saarimäki, Davide Taibi 0001 |
J. Syst. Softw. | 3 |
| 2019 | From Monolithic Systems to Microservices: A Decomposition Framework based on Process MiningabstractDecomposition is one of the most complex tasks during the migration from monolithic systems to microservices, generally performed manually, based on the experience of the software architects. In this work, we propose a 6-step framework to reduce the subjectivity of the decomposition process. The framework provides software architects with a set of decomposition options, together with a set of measures to evaluate and compare their quality. The decomposition options are identified based on the independent execution traces of the system by means of the application of a process-mining tool to the log traces collected at runtime. We validated the process, in an industrial project, by comparing the proposed decomposition options with the one proposed by the software architect that manually analyzed the system. The application of our framework allowed the company to identify issues in their software that the architect did not spot manually, and to discover more suitable decomposition options that the architect did not consider. The framework could be very useful also in other companies to improve the quality of the decomposition of any monolithic system, identifying different decomposition strategies and reducing the subjectivity of the decomposition process. Moreover, researchers could extend our approach increasing the support and further automating the decomposition support. Davide Taibi 0001, Kari Systä |
CLOSER | 1 |
| 2019 | On the Relationship Between Coupling and Refactoring: An Empirical ViewpointabstractBackground: Refactoring has matured over the past twenty years to become part of a developer's toolkit. However, many fundamental research questions still remain largely unexplored. Aim: The goal of this paper is to investigate the highest and lowest quartile of refactoring-based data using two coupling metrics - the Coupling between Objects metric and the more recent Conceptual Coupling between Classes metric to answer this question. Can refactoring trends and patterns be identified based on the level of class coupling? Method: In this paper, we analyze over six thousand refactoring operations drawn from releases of three open-source systems to address one such question. Results: Results showed no meaningful difference in the types of refactoring applied across either lower or upper quartile of coupling for both metrics; refactorings usually associated with coupling removal were actually more numerous in the lower quartile in some cases. A lack of inheritance-related refactorings across all systems was also noted. Conclusions: The emerging message (and a perplexing one) is that developers seem to be largely indifferent to classes with high coupling when it comes to refactoring types - they treat classes with relatively low coupling in almost the same way. Steve Counsell, Mahir Arzoky, Giuseppe Destefanis, Davide Taibi 0001 |
ESEM | 4 |
| 2019 | An Empirical Study on Technical Debt in a Finnish SMEabstractBackground. The need to release our products under tough time constraints has required us to take shortcuts during the implementation of our products and to postpone the correct implementation, thereby accumulating Technical Debt. Objective. In this work, we report the experience of a Finnish SME in managing Technical Debt (TD), investigating the most common types of TD they faced in the past, their causes, and their effects. Method. We set up a focus group in the case-company, involving different roles. Results. The results showed that the most significant TD in the company stems from disagreements with the supplier and lack of test automation. Specification and test TD are the most significant types of TD. Budget and time constraints were identified as the most important root causes of TD. Conclusion. TD occurs when time or budget is limited or the amount of work are not understood properly. However, not all postponed activities generated ”debt”. Sometimes the accumulation of TD helped meet deadlines without a major impact, while in other cases the cost for repaying the TD was much higher than the benefits. From this study, we learned that learning, careful estimations, and continuous improvement could be good strategies to mitigate TD These strategies include iterative validation with customers, efficient communication with stakeholders, meta-cognition in estimations, and value orientation in budgeting and scheduling. Valentina Lenarduzzi, Teemu Orava, Nyyti Saarimäki, Kari Systä, Davide Taibi 0001 |
ESEM | 5 |
| 2019 | Architectural smells detected by tools: a catalogue proposalabstractArchitectural smells can negatively impact on different software qualities and can represent a relevant source of architectural debt. Several architectural smells have been defined by different researchers. Moreover, both academia and industry proposed several tools for software quality analysis, but it is not always clear to understand which tools provide also support for architectural smells detection and if the tools developed for this specific purpose are effectively available or not. In this paper we propose a catalogue of architectural smells for which, at least one tool able to detect the smell exists. We outline the main differences in the detection techniques exploited by the tools and we propose a classification of these architectural smells according to the violation of three design principles. Umberto Azadi, Francesca Arcelli Fontana, Davide Taibi 0001 |
TechDebt@ICSE | 3 |
| 2019 | On the diffuseness of code technical debt in Java projects of the apache ecosystemabstractBackground. Companies commonly invest major effort into removing, respectively not introducing, technical debt issues detected by static analysis tools such as SonarQube, Cast, or Coverity. These tools classify technical debt issues into categories according to severity, and developers commonly pay attention to not introducing issues with a high level of severity that could generate bugs or make software maintenance more difficult. Objective. In this work, we aim to understand the diffuseness of Technical Debt (TD) issues and the speed with which developers remove them from the code if they introduced such an issue. The goal is to understand which type of TD is more diffused and how much attention is paid by the developers, as well as to investigate whether TD issues with a higher level of severity are resolved faster than those with a lower level of severity. We conducted a case study across 78K commits of 33 Java projects from the Apache Software Foundation Ecosystem to investigate the distribution of 1.4M TD items. Results. TD items introduced into the code are mostly related to code smells (issues that can increase the maintenance effort). Moreover, developers commonly remove the most severe issues faster than less severe ones. However, the time needed to resolve issues increases when the level of severity increases (minor issues are removed faster that blocker ones). Conclusion. One possible answer to the unexpected issue of resolution time might be that severity is not correctly defined by the tools. Another possible answer is that the rules at an intermediate severity level could be the ones that technically require more time to be removed. The classification of TD items, including their severity and type, require thorough investigation from a research point of view. Nyyti Saarimäki, Valentina Lenarduzzi, Davide Taibi 0001 |
TechDebt@ICSE | 3 |
| 2019 | Are architectural smells independent from code smells? An empirical study
Francesca Arcelli Fontana, Valentina Lenarduzzi, Riccardo Roveda, Davide Taibi 0001 |
J. Syst. Softw. | 4 |
| 2018 | Making the Cloud Work for Software Producers: Linking Architecture, Operating Cost and RevenueabstractCloud migration is concerned with moving an on-premise software system into the cloud. In this paper we focus on software producers adopting the cloud to provide their solutions to enterprise customers. Their challenge is to migrate a software product, developed in-house and traditionally delivered on-premise, to an Infrastructure-as-a-Service or Platform-as-a-Service solution, while also mapping an existing traditional licensing model on to a cloud monetization model. The analysis of relevant cost types and factors of cloud computing generate relevant information for the software producers when deciding to adopt cloud computing, and defining software pricing. We present an integrated framework for informing cloud monetization based on operational cost factors for migrating to the cloud and test it in a real-life case study. Differences between basic virtualization of the software product and using fully cloud-native platform services for re-architecting the product in question are discussed. Pierangelo Rosati, Frank Fowley, Claus Pahl, Davide Taibi 0001, Theo Lynn |
CLOSER | 4 |
| 2018 | Architectural Patterns for Microservices: A Systematic Mapping StudyabstractMicroservices is an architectural style increasing in popularity. However, there is still a lack of understanding how to adopt a microservice-based architectural style.\nWe aim at characterizing different microservice architectural style patterns and the principles that guide their definition.\nWe conducted a systematic mapping study in order to identify reported usage of microservices and based on these use cases extract common patterns and principles.\nWe present two key contributions.\nFirstly, we identified several agreed microservice architecture patterns that seem widely adopted and reported in the case studies identified.\nSecondly, we presented these as a catalogue in a common template format including a summary of the advantages, disadvantages, and lessons learned for each pattern from the case studies.\nWe can conclude that different architecture patterns emerge for different migration, orchestration, storage and deployment settings for a set of agreed principles. Davide Taibi 0001, Valentina Lenarduzzi, Claus Pahl |
CLOSER | 1 |
| 2018 | Lessons Learned on Communication Channels and Practices in Agile Software DevelopmentabstractCommunication plays an important role in Agile Software Development (ASD).In each ASD practice (e.g., standup or retrospective meetings), different communication practices and channels are adopted by different companies.Several works have analyzed the impact of communication channels and practices.However, there are no secondary studies summarizing their impact on ASD.This study presents a Systematic Mapping Study (SMS) that aggregates, summarizes, and discusses the results of 25 relevant primary studies concerning the impact of communication channels and practices in ASD.We followed the well-known systematic mapping methodology in software engineering and analyzed empirical studies published before the end of June 2018.The results of our study have yielded several strategies that can be adopted by practitioners.Communication practices are context dependent.In the case of a distributed team, blended usage of rich-media communication tools, such as shared mind-map tools, videoconferencing, and promoting the exchange of team members between teams, is beneficial.In conclusion, communication can be expensive if teams do not apply the right strategies.Future research direction is to understand how to maximize product quality while reducing communication cost and how to identify the most beneficial communication strategy for the different stages of ASD. Muhammad Ovais Ahmad, Valentina Lenarduzzi, Markku Oivo, Davide Taibi 0001 |
FedCSIS | 4 |
| 2018 | Exploring information from OSS repositories and platforms to support OSS selection decisions
Nesrine Sbai, Valentina Lenarduzzi, Davide Taibi 0001, Sihem Ben Sassi, Henda Ben Ghézala |
Inf. Softw. Technol. | 3 |
| 2017 | Comparing Communication Effort within the Scrum, Scrum with Kanban, XP, and Banana Development Processesabstract[Context]: Communication plays an important role in any development process. However, communication overhead has been rarely compared among development processes. [Objective]: The goal of this work is to compare the communication overhead and the different channels applied in three agile processes (XP, Scrum, Scrum with Kanban) and in an unstructured process. [Method]: We designed an empirical study asking four teams to develop the same application with the four development processes, and we compare the communication overhead among them. [Results]: As expected, face-to-face communication is most frequently employed in the teams. Scrum with Kanban turned out to be the process that requires the least communication. Unexpectedly, despite requiring much more time to develop the same application, the unstructured process required comparable communication overhead (25% of the total development time) as the agile processes. Davide Taibi 0001, Valentina Lenarduzzi, Muhammad Ovais Ahmad, Kari Liukkunen |
EASE | 1 |
| 2017 | Operationalizing the Experience Factory for Effort Estimation in Agile Processesabstract[Background] The effort required to systematically collect historical data is not always allocable in agile processes and historical data management is usually delegated to the developers' experience, who need to remember previous project details. However, even if well trained, developers cannot precisely remember a huge number of details, resulting in wrong decisions being made during the development process. [Aims] The goal of this paper is to operationalize the Experience Factory in an agile way, i.e., defining a strategy for collecting historical project data using an agile approach. [Method] We provide a mechanism for understanding whether a measure must be collected or not, based on the Return on Invested Time (ROIT). In order to validate this approach, we instantiated the factory with an exploratory case study, comparing four projects that did not use our approach with one project that used it after 12 weeks out of 37 and two projects that used it from the beginning. [Results] The proposed approach helps developers to constantly improve their estimation accuracy with a very positive ROIT of the collected measure. [Conclusions] From this first experience, we can conclude that the Experience Factory can be applied effectively to agile processes, supporting developers in improving their performance and reducing potential decision mistakes. Davide Taibi 0001, Valentina Lenarduzzi, Philipp Diebold, Maria Ilaria Lunesu |
EASE | 1 |
| 2017 | Comparing Requirements Decomposition Within the Scrum, Scrum with Kanban, XP, and Banana Development ProcessesabstractContext: Eliciting requirements from customers is a complex task. In Agile processes, the customer talks directly with the development team and often reports requirements in an unstructured way. The requirements elicitation process is up to the developers, who split it into user stories by means of different techniques. Objective: We aim to compare the requirements decomposition process of an unstructured process and three Agile processes, namely XP, Scrum, and Scrum with Kanban. Method: We conducted a multiple case study with a replication design, based on the project idea of an entrepreneur, a designer with no experience in software development. Four teams developed the project independently, using four different development processes. The requirements were elicited by the teams from the entrepreneur, who acted as product owner and was available to talk with the four groups during the project. Results: The teams decomposed the requirements using different techniques, based on the selected development process. Conclusion: Scrum with Kanban and XP resulted in the most effective processes from different points of view. Unexpectedly, decomposition techniques commonly adopted in traditional processes are still used in Agile processes, which may reduce project agility and performance. Therefore, we believe that decomposition techniques need to be addressed to a greater extent, both from the practitioners’ and the research points of view. Davide Taibi 0001, Valentina Lenarduzzi, Andrea Janes, Kari Liukkunen, Muhammad Ovais Ahmad |
XP | 1 |
| 2017 | How developers perceive smells in source code: A replicated study
Davide Taibi 0001, Andrea Janes, Valentina Lenarduzzi |
Inf. Softw. Technol. | 1 |
| 2016 | MVP Explained: A Systematic Mapping Study on the Definitions of Minimal Viable ProductabstractContext: One of the most important steps of the Lean Startup methodology is the definition of Minimum Viable Product (MVP), needed to start the learning process by integrating the early adopters' feedbacks as soon as possible. Objective: This study aims at identifying the common definitions of MVP proposed and the key factors identified to help entrepreneurs efficiently define their MVP, reducing errors due to unconsidered unknown factors. Method: We identified the MVP definitions and key factors by means of a systematic mapping study, defining the research questions and the protocol to be used. We selected the bibliographic sources, the keywords, and the selection criteria for searching the relevant papers. Results: We found 97 articles and, through inclusion and exclusion criteria, removed 75 articles, which reduced the total to 22 at the end of the process. The results are a classification schema for characterizing the definition of Minimum Viable Product in Lean Startups and a set of common key factors identified in the MVP definitions. Conclusion: The identified key factors are related to technical characteristics of the product as well as market and customer aspects. We found a positive improvement of the state of the art of MVP and the definition of Minimum. Valentina Lenarduzzi, Davide Taibi 0001 |
SEAA | 2 |
| 2016 | Towards Component-Aware Function Point MeasurementabstractBackground. Function Point Analysis is the most used technique for sizing software functional specifications. Function Point measures are widely used to estimate the effort needed to develop software, hence the cost of software. However, Function Point Analysis adopts the point of view of the end user, and-consistently-considers a software application as a whole. This approach does not allow for assessing the role of reusable components in software development. In fact, reusing available components decreases the cost of software development, but standard Function Point measures are not able to account for the savings deriving from component reuse. Objective. We aim at modifying the definition of Function Point Analysis so that the role of components can be taken into account. More specifically, we redefine the measurement so that when no components are used the resulting measure is the same yielded by the standard measurement process, but in presence of components, our modified measure is less than the standard measure (the bigger the role of components, the smaller the measure). Method. Components partly support the realization of elementary processes. Therefore, we split elementary processes into sub-processes, such that each sub-process is either totally supported by a component or it is not supported at all by any component, the size of the elementary process is defined to be inversely proportional to the size of sub-processes supported by components. Results. The proposed approach was applied to a Web application, which was developed in two versions: one from scratch and one using available components. As expected, the 'component-aware' measures obtained are smaller than the standard measures. We also compared the reduction in size with the reduction in development effort. Conclusions. The proposed method proved effective in taking into account the usage of components in the development of the considered application. However, the observed decrease in size is smaller than the decrease of development effort. The latter result suggests that this initial proposal needs further experimentation to support accurate effort estimation. Luigi Lavazza, Valentina Lenarduzzi, Davide Taibi 0001 |
IWSM-Mensura | 3 |
| 2016 | Towards a Lean Approach to Reduce Code Smells Injection: An Empirical StudyabstractSoftware Quality Assurance is a complex and time-expensive task. In this study we want to observe how agile developers react to just-in-time metrics about the code smells they introduce, and how the metrics influence the quality of the output. Davide Taibi 0001, Andrea Janes, Valentina Lenarduzzi |
XP | 1 |
| 2015 | Functional Size Measures and Effort Estimation in Agile Development: A Replicated Study
Valentina Lenarduzzi, Maria Ilaria Lunesu, Martina Matta, Davide Taibi 0001 |
XP | 4 |
| 2014 | Controlled experiments comparing fault-tree-based safety analysis techniquesabstractThe capability to model dynamic aspects of safety-critical systems, such as sequence or stochastic dependence of events, is one important requirement for safety analysis techniques. State Event Fault Tree Analysis, Dynamic Fault Tree Analyis, and Fault Tree Analysis combined with Markov Chains Analysis have been developed to fulfill these requirements, but they are still not widely accepted and used in practice. In order to investigate the reasons behind this low usage, we conducted two controlled experiments. The goal of the experiments was to analyze and compare applicability and efficiency in State Event Fault Tree analysis versus Dynamic Fault Tree Analyis and Fault Tree Analysis combined with Markov Chains Analysis. The results of both experiments show that, notwithstanding the power of State Event Fault Tree Analysis, Dynamic Fault Tree Analyis is rated by participants as more applicable and is more efficient compared to State Event Fault Tree Analysis, which, in turn, is rated as more applicable but is less efficient than Fault Tree Analysis combined with Markov Chains Analysis. Two of the reasons investigated are the complexity of the notations used and the lack of tool support. Based on these results, we suggest strategies for enhancing State Event Fault Tree Analysis to overcome its weaknesses and increase its applicability and efficiency in modeling dynamic aspects of safety-critical systems. Adrien Mouaffo Tiadjio, Davide Taibi 0001, Kavyashree Jamboti |
EASE | 2 |
| 2014 | Interoperability-Related Architectural Problems and Solutions in Information Systems: A Scoping Study
Hadil Abukwaik, Davide Taibi 0001, H. Dieter Rombach |
ECSA | 2 |
| 2012 | On the definition of dynamic software measuresabstractThe quantification of several software attributes (e.g., size, complexity, cohesion, coupling) is usually carried out in a static fashion, and several hundreds of measures have been defined to this end. However, static measurement may only be an approximation for the measurement of these attributes during software use. The paper proposes a theoretical framework based on Axiomatic Approaches for the definition of sensible dynamic software measures that can dynamically capture these attributes. Dynamic measures based on this framework are defined for dynamically quantifying size and coupling. In this paper, we also compare dynamic measures of size and coupling against well-known static measures by correlating them with fault-pronenesses of four case studies. Davide Tosi, Luigi Lavazza, Sandro Morasca, Davide Taibi 0001 |
ESEM | 4 |
| 2011 | A probability-based approach to modeling the risk of unauthorized propagation of information in on-line social networksabstractThe unauthorized propagation of information is an important problem in the Internet, especially because of the increasing popularity of On-line Social Networks. To address this issue, many access control mechanisms have been proposed so far, but there is still a lack of techniques to evaluate the risk of unauthorized flow of information within social networks. This paper introduces a probability-based approach to modeling the likelihood that information propagates from one social network user to users who are not authorized to access it. The approach is demonstrated via an example, to show how it can be applied in practical cases. Barbara Carminati, Elena Ferrari 0001, Sandro Morasca, Davide Taibi 0001 |
CODASPY | 4 |
| 2011 | OP2A - Assessing the Quality of the Portal of Open Source Software Products
Gabriele Basilico, Luigi Lavazza, Sandro Morasca, Davide Taibi 0001, Davide Tosi |
WEBIST | 4 |
| 2010 | Predicting OSS trustworthiness on the basis of elementary code assessmentabstractBackground. Open Source Software (OSS) provides increasingly serious and viable alternatives to traditional closed source software. The number of OSS users is continuously growing, as is the number of potential users that are interested in evaluating the quality of OSS. The latter would greatly benefit from simple methods for evaluating the trustworthiness of OSS. Luigi Lavazza, Sandro Morasca, Davide Taibi 0001, Davide Tosi |
ESEM | 3 |
| 2010 | Application of AC/DC/AC converter for sensorless nonlinear control of permanent magnet synchronous motorabstractIn this paper, a nonlinear controller is presented for permanent magnet synchronous motor (PMSM) sensorless drives. The nonlinear controller is designed based on input-output feedback linearization control technique. The extended Kalman filter is used to estimate the speed, position and load torque. The PMSM is fed from indirect power electronics converter. This indirect converter is controlled by the sliding mode technique. This control technique allows the minimization of harmonics introduced by the line converter, including the control of power factor and DC-link voltage. We study the robustness of the overall system using simulation for different operating modes and parameters variation. A. Titaouine, Fateh Benchabane, O. Bennis, K. Yahia, Davide Taibi 0001 |
SMC | 5 |
| 2010 | Applying SCRUM in an OSS Development Process: An Empirical Evaluation
Luigi Lavazza, Sandro Morasca, Davide Taibi 0001, Davide Tosi |
XP | 3 |