Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Damian A. Tamburri

dblp:29/4648 · also Damian Andrew Tamburri, Damien A. Tamburri · DBLP profile ↗
← Back
103ranked-venue papers
19as first author
74since 2021 · last 2026
0000-0003-1230-8961ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 79 · 14 first-author · 55 since 2021Databases, data management, data science and information retrieval · 9 · 1 first-author · 8 since 2021Applied, interdisciplinary, general and emerging computing · 9 · 3 first-author · 8 since 2021Artificial intelligence and machine learning · 5 · 5 since 2021Security and privacy · 4 · 4 since 2021Systems, architecture and hardware · 3 · 3 since 2021Human-computer interaction and ubiquitous computing · 2 · 1 first-authorComputer networks · 1 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
14 papers
Empirical software engineering · 64% Software maintenance and evolution · 17% Requirements engineering and software design · 11%
Computer architecture, parallel and distributed computing, and storage systems
3 papers
Cloud and datacenter computing · 68% Performance modeling and evaluation · 25% Embedded and real-time systems · 7%
Network and information security
2 papers
Privacy and data protection · 90% Systems and software security · 10%
Artificial intelligence
1 paper
Language models and text generation · 77% Trustworthy machine learning · 23%

Topics — the 28 heaviest of 33, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Empirical software engineering
mining software repositories
2.042024
Automated Mapping of Vulnerability Advisories onto their Fix Commits in Open Source Repositories · ACM Trans. Softw. Eng. Methodol. 2024
In Search of Socio-Technical Congruence: A Large-Scale Longitudinal Study · IEEE Trans. Software Eng. 2022
Exploring Community Smells in Open-Source: An Automated Approach · IEEE Trans. Software Eng. 2021
Empirical software engineering › human factors in software engineering
socio-technical analysis
1.532025
Uncovering Community Smells in Machine Learning-Enabled Systems: Causes, Effects, and Mitigation Strategies · ACM Trans. Softw. Eng. Methodol. 2025
Exploring Community Smells in Open-Source: An Automated Approach · IEEE Trans. Software Eng. 2021
Beyond Technical Aspects: How Do Community Smells Influence the Intensity of Code Smells? · IEEE Trans. Software Eng. 2021
Empirical software engineering
developer studies
1.122025
Uncovering Community Smells in Machine Learning-Enabled Systems: Causes, Effects, and Mitigation Strategies · ACM Trans. Softw. Eng. Methodol. 2025
On the Relationship Between Organizational Structure Patterns and Architecture in Agile Teams · IEEE Trans. Software Eng. 2023
Privacy and data protection › differential privacy
synthetic data generation
1.012026
Addressing Data Scarcity with Synthetic Data: A Secure and GDPR-Compliant Cloud-Based Platform · ACM Trans. Softw. Eng. Methodol. 2026
Privacy and data protection › data publishing › privacy-preserving data publishing
synthetic data privacy
1.012026
Addressing Data Scarcity with Synthetic Data: A Secure and GDPR-Compliant Cloud-Based Platform · ACM Trans. Softw. Eng. Methodol. 2026
Empirical software engineering
AI for software engineering
0.912025
Software Engineering by and for Humans in an AI Era · ACM Trans. Softw. Eng. Methodol. 2025
Requirements engineering and software design
software architecture
0.822023
On the Relationship Between Organizational Structure Patterns and Architecture in Agile Teams · IEEE Trans. Software Eng. 2023
Providing Architectural Languages and Tools Interoperability through Model Transformation Technologies · IEEE Trans. Software Eng. 2010
Software maintenance and evolution › release engineering
continuous integration and deployment
0.712023
Continuous Integration and Delivery Practices for Cyber-Physical Systems: An Interview-Based Study · ACM Trans. Softw. Eng. Methodol. 2023
Cloud and datacenter computing › cloud deployment
cloud application deployment
0.712023
FOCloud: Feature Model Guided Performance Prediction and Explanation for Deployment Configurable Cloud Applications · IEEE Trans. Serv. Comput. 2023
Cloud and datacenter computing › cloud deployment
deployment configuration
0.712023
FOCloud: Feature Model Guided Performance Prediction and Explanation for Deployment Configurable Cloud Applications · IEEE Trans. Serv. Comput. 2023
Performance modeling and evaluation
performance prediction
0.712023
FOCloud: Feature Model Guided Performance Prediction and Explanation for Deployment Configurable Cloud Applications · IEEE Trans. Serv. Comput. 2023
Requirements engineering and software design
model-driven engineering
0.622021
StreamGen: Model-driven Development of Distributed Streaming Applications · ACM Trans. Softw. Eng. Methodol. 2021
Providing Architectural Languages and Tools Interoperability through Model Transformation Technologies · IEEE Trans. Software Eng. 2010
Empirical software engineering › mining software repositories
defect prediction
0.612022
Within-Project Defect Prediction of Infrastructure-as-Code Using Product and Process Metrics · IEEE Trans. Software Eng. 2022
Empirical software engineering › human factors in software engineering
socio-technical congruence
0.612022
In Search of Socio-Technical Congruence: A Large-Scale Longitudinal Study · IEEE Trans. Software Eng. 2022
Empirical software engineering › software metrics
software quality metrics
0.612022
In Search of Socio-Technical Congruence: A Large-Scale Longitudinal Study · IEEE Trans. Software Eng. 2022
Software maintenance and evolution
code smell
0.512021
Beyond Technical Aspects: How Do Community Smells Influence the Intensity of Code Smells? · IEEE Trans. Software Eng. 2021
Machine learning › Trustworthy machine learning › fairness
fairness and bias mitigation
0.312026
LLMOps in Action: A Framework for Designing, Deploying, and Governing Advanced Chatbots · IEEE Trans. Knowl. Data Eng. 2026
Cloud and datacenter computing
cloud platform
0.312026
Addressing Data Scarcity with Synthetic Data: A Secure and GDPR-Compliant Cloud-Based Platform · ACM Trans. Softw. Eng. Methodol. 2026
Empirical software engineering › software quality and productivity
software fairness
0.312025
Software Engineering by and for Humans in an AI Era · ACM Trans. Softw. Eng. Methodol. 2025
Systems and software security
vulnerability management
0.212024
Automated Mapping of Vulnerability Advisories onto their Fix Commits in Open Source Repositories · ACM Trans. Softw. Eng. Methodol. 2024
Empirical software engineering › qualitative research
interview study
0.212023
Continuous Integration and Delivery Practices for Cyber-Physical Systems: An Interview-Based Study · ACM Trans. Softw. Eng. Methodol. 2023
Cloud and datacenter computing › cloud service models
infrastructure as a service
0.212023
FOCloud: Feature Model Guided Performance Prediction and Explanation for Deployment Configurable Cloud Applications · IEEE Trans. Serv. Comput. 2023
Services computing and microservices › online service systems
service network
0.222013
Going global with agile service networks · ICSE 2012
Service networks for development communities · ICSE 2013
Empirical software engineering › software metrics
product and process metrics
0.212022
Within-Project Defect Prediction of Infrastructure-as-Code Using Product and Process Metrics · IEEE Trans. Software Eng. 2022
Data stream processing
distributed stream processing
0.112021
StreamGen: Model-driven Development of Distributed Streaming Applications · ACM Trans. Softw. Eng. Methodol. 2021
Requirements engineering and software design › model-driven engineering
model transformation
0.112010
Providing Architectural Languages and Tools Interoperability through Model Transformation Technologies · IEEE Trans. Software Eng. 2010
Empirical software engineering › developer studies
global software development
0.012012
Going global with agile service networks · ICSE 2012
Requirements engineering and software design › software architecture
architecture description
0.012010
Providing Architectural Languages and Tools Interoperability through Model Transformation Technologies · IEEE Trans. Software Eng. 2010

Methods — techniques the papers use, named apart from their topics

survey · 3.0retrieval-augmented generation · 2.0prompt engineering · 2.0fine-tuning · 2.0interviews · 1.5heuristic filtering · 1.5feature vector ranking · 1.5machine learning · 1.4roadmap analysis · 0.9questionnaire · 0.9partial least squares structural equation modeling · 0.9natural language processing · 0.8semi-structured interview · 0.7sampling · 0.7feature modeling · 0.7explainable AI · 0.7card sorting · 0.7model-driven engineering · 0.5
YearPublicationVenuePosition
2026 Architectural Design Decisions for Managing Features, Metadata, and Models in Machine Learning Platforms
Yikang Huang, Stefano Fossati, Filippo Scaramuzza, Indika Kumara, Dario Di Nucci, Damian A. Tamburri
ICSA6
2026 Architectural Design Decisions for Federated Computational Governance in Data Meshes
Marco Tonnarelli, Tom van Eijk, Indika Kumara, Dario Di Nucci, Damian A. Tamburri, Willem-Jan van den Heuvel
ICSA5
2026 How are MLOps Frameworks Used in Open Source Projects? An Empirical Characterization
abstract
Machine Learning (ML) Operations (MLOps) frameworks have been conceived to support developers and AI engineers in managing the lifecycle of their ML models. While such frameworks provide a wide range of features, developers may leverage only a subset of them, while missing some highly desired features. This paper investigates the practical use and desired feature enhancements of eight popular open-source MLOps frameworks. Specifically, we analyze their usage by dependent projects on GitHub, examining how they invoke the frameworks’ APIs and commands. Then, we qualitatively analyze feature requests and enhancements mined from the frameworks’ issue trackers, relating these desired improvements to the previously identified usage features. Results indicate that MLOps frameworks are rarely used out-of-the-box and are infrequently integrated into GitHub Workflows, but rather, developers use their APIs to implement custom functionality in their projects. Used features concern core ML phases and whole infrastructure governance, sometimes leveraging multiple frameworks with complementary features. The mapping with feature requests highlights that users mainly ask for enhancements to core features of the frameworks, but also better API exposure and CI/CD integration.
Fiorella Zampetti, Federico Stocchetti, Federica Razzano, Damian A. Tamburri, Massimiliano Di Penta
MSR4
2026 Pythonic vs Refactorable Pythonic: On the relationship between Pythonic idioms and code quality in machine learning projects
abstract
Python is increasingly becoming the lingua franca for developing Machine Learning (ML) systems, thanks to a rich ecosystem of libraries and an emphasis on readability. In this context, Pythonic idioms are seen as stylistic conventions that support maintainable and efficient code. Conversely, Refactorable-Pythonic idioms refer to patterns that can be refactored into more idiomatic Python, improving code quality in terms of maintainability, performance, and clarity. While the assumptions about idiomaticity are widely accepted in practice, the extent to which Pythonic or Refactorable-Pythonic idioms relate to software quality in ML projects has not been systematically validated. To address this lack of empirical evidence, this paper conducts a large-scale study to assess how Pythonic and Refactorable-Pythonic idioms are related to code quality in ML systems. We analyze 303 open-source Python projects from the NICHE dataset, distinguishing between “well-engineered” (i.e., projects that adopt structured development practices such as testing, CI, documentation, and packaging) and “non-engineered” (i.e., projects that lack such characteristics). Our analysis proceeds in two main phases: (i) idiom detection, where we extract Pythonic and Refactorable-Pythonic code patterns using a combination of existing and custom detectors; and (ii) quality assessment, where we detect Python-specific smells and relate them to code metrics and other quality indicators. Truth Value Test and Assign Multiple Targets are the most common Pythonic and Refactorable-Pythonic idioms, respectively. In “well-engineered” projects, both idiom types positively correlate with Python-specific code smells, suggesting that idiomatic usage does not always align with higher code quality. In contrast, in “non-engineered” projects, the presence of smells is more strongly influenced by structural factors such as the number of lines of code, complexity, and commit activity. We conclude by distilling lessons learned, implications, and future research directions.
Gerardo Festa, Giammaria Giordano, Valeria Pontillo, Massimiliano Di Penta, Damian A. Tamburri, Fabio Palomba
Inf. Softw. Technol.5
2026 A knowledge-based approach for guided development of Infrastructure as Code
abstract
Abstract Infrastructure as Code (IaC) uses versionable software code to define, deploy, and configure physical computational resources, software execution platforms, and applications. As a result, IaC enables the scalable management of complex computing environments while preventing environment drift. IaC frameworks typically offer specific languages such as the industrial Terraform, Ansible, Chef, or TOSCA—standing for Topology and Orchestration Specification for Cloud Applications—the OASIS (Organization for the Advancement of Structured Information Standards) open standard approach to IaC. Developing high-quality IaC for deploying and managing applications demands expertise and knowledge in specific IaC languages, infrastructure resources, resource providers, quality issues in IaC scripts, and so on. While several model-driven engineering (MDE) approaches have been proposed to simplify IaC development, they cannot capture and use expert knowledge to assist with modeling tasks and MDE processes by providing interactive recommendations. This paper presents a knowledge-based framework for guiding the model-driven development of IaC. We use TOSCA as the target IaC language as it is an open standard. We enable IaC and resource experts to share their IaC and resource-related knowledge with application operational experts to help simplify the development of application deployment models. We use an ontology to record the relevant deployment knowledge and ontology reasoning to implement modeling guidance capabilities such as TOSCA model auto-completion, code smell and error detection, and model element matchmaking. We show the flexibility of our methodology by applying it to three industrial applications, covering cloud, edge, and HPC (High-Performance Computing) domains. Moreover, we also assess the use acceptance of our approach and framework by conducting controlled experiments with expert and non-expert IaC users. The results indicate that our method can simplify IaC development by providing appropriate recommendations.
Zoe Vasileiou, Indika Kumara, Georgios Meditskos, Kamil Tokmakov, Dragan Radolovic, Jesús Gorroñogoitia, Elisabetta Di Nitto, Damian A. Tamburri, Willem-Jan van den Heuvel, Stefanos Vrochidis
Softw. Syst. Model.8
2026 Engineering AIOps Controllers for High-Performance Software Operations: An Action Design Research Study
abstract
Efficient memory allocation is critical for controlling and optimizing High-Performance Computing (HPC) infrastructures. This action design research study aims to identify the best principles, practices, and patterns for improving the precision and efficiency of control and optimization mechanisms in large-scale HPC infrastructure. To achieve this, we explore the use of Artificial Intelligence Operations (AIOps), which applies artificial intelligence to manage software infrastructure operations. In this context, we propose Job Prophet (JP), a machine-learning-based application. JP is designed to regulate and continuously optimize HPC resource management, enhancing operational efficiency and performance. The tool integrates continuous training, inference, monitoring, and CI/CD pipelines, ensuring adaptability to dynamic workloads. By leveraging historical execution data from heterogeneous sources, JP enhances scheduling efficiency while maintaining model reliability through continuous retraining and monitoring. We evaluate JP on real-world HPC workloads, demonstrating significant improvements in resource utilization and job performance. Our findings highlight the benefits of AI-driven memory allocation and provide insights into scalable, automated machine-learning integration within HPC environments.
Fernando Piris Font, Stefano Fossati, Marco Tonnarelli, Damian A. Tamburri, Roel Engelen
IEEE Trans. Cloud Comput.4
2026 LLMOps in Action: A Framework for Designing, Deploying, and Governing Advanced Chatbots
abstract
This paper presents a systematic literature review (SLR) focused on the implementation of chatbots using Large Language Models (LLMs), aimed at providing insights into the architectures, frameworks, best practices, and evaluation metrics that are shaping the field. By analyzing 39 primary studies, the review addresses six key research questions, exploring common architectures such as client-server and Retrieval-Augmented Generation (RAG), and identifying frequently utilized models, including the GPT family, BERT, and open-source models like LLaMA. The paper evaluates the performance of these models across various domains, emphasizing the impact of fine-tuning, prompt engineering, and embedding techniques on accuracy and domain-specific relevance. Additionally, it highlights the critical evaluation metrics used in LLM-based chatbot systems, including accuracy, user satisfaction, content quality, safety, and efficiency. Ethical considerations, including data governance, bias mitigation, and fairness audits, are also discussed to ensure responsible deployment of LLM chatbots. The review concludes with an exploration of the trade-offs between performance, cost-efficiency, and scalability, providing a comprehensive framework for future research and development of LLM-based chatbot applications.
Pradheepan Raghavan, Damian A. Tamburri, Stefano Fossati, Willem-Jan van den Heuvel
IEEE Trans. Knowl. Data Eng.2
2026 Addressing Data Scarcity with Synthetic Data: A Secure and GDPR-Compliant Cloud-Based Platform
abstract
This study presents a cloud-based platform for synthetic data generation, validation, and evaluation, developed to address data scarcity in the telecommunications sector while ensuring compliance with the General Data Protection Regulation (GDPR). In collaboration with a Dutch telecommunications provider facing data scarcity due to low user-consent rates, we developed a platform that allows synthetic data vendors to securely generate synthetic data based on schema input without accessing sensitive information. Vendors uploaded containerized executables for synthetic data generation and the platform automated infrastructure provisioning, ensuring no access to personal data. A validation mechanism minimized the risk of re-identification by ensuring that the synthetic data did not inadvertently replicate real data points. We mutually agreed with the vendors on five evaluation metrics and the platform logged and calculated performance for each, allowing them to refine their algorithms. To validate the platform’s performance, we conducted an offline study with the TV viewership team, using each vendor’s synthetic data to generate viewership categories. The vendor with the best evaluation metrics also produced categories most similar to the real data, confirming the platform’s effectiveness. This study, involving two vendors and a telecommunications company, demonstrated the platform’s applicability in addressing business challenges while ensuring privacy compliance.
Nemania Borovits, Gianluigi Bardelloni, Hossein Hashemi 0005, Masoom Tulsiani, Damian A. Tamburri, Willem-Jan van den Heuvel
ACM Trans. Softw. Eng. Methodol.5
2025 MLOps in Practice: Requirements and a Reference Architecture from Industry
Indika Kumara, Rowan Arts, Renato Cordeiro Ferreira, Dario Di Nucci, Rick Kazman, Damian A. Tamburri, Willem-Jan van den Heuvel
ECSA6
2025 "The Candle is Burning Out on its Own..": Modeling Fatigue and Empathy Among Chinese Developers
Damian A. Tamburri, Kelly Blincoe, Rick Kazman, Giammaria Giordano, Valeria Pontillo, Fabio Palomba
SEAA (3)1
2025 "Let it be Chaos in the Plumbing!" Usage and Efficacy of Chaos Engineering in DevOps Pipelines
abstract
Chaos Engineering (CE) has emerged as a proactive method to improve the resilience of modern distributed systems, particularly within DevOps environments. Originally pioneered by Netflix, CE simulates real-world failures to expose weaknesses before they impact production. In this paper, we present a systematic gray literature review that investigates how industry practitioners have adopted and adapted CE principles over recent years. Analyzing 50 sources published between 2019 and early 2024, we developed a comprehensive classification framework that extends the foundational CE principles into ten distinct concepts. Our study reveals that while the core tenets of CE remain influential, practitioners increasingly emphasize controlled experimentation, automation, and risk mitigation strategies to align with the demands of agile and continuously evolving DevOps pipelines. Our results enhance the understanding of how CE is intended and implemented in practice, and offer guidance for future research and industrial applications aimed at improving system robustness in dynamic production environments.
Stefano Fossati, Damian A. Tamburri, Massimiliano Di Penta, Marco Tonnarelli
ICSME2
2025 Business Process Discovery Through Agentic Generative AI
Pierre Lindenberg, Indika Kumara, Joshua Owotogbe, Willem-Jan van den Heuvel, Damian A. Tamburri
ICSOC (2)5
2025 Runtime defect prediction of industrial business processes: A focused look at real-life SAP systems
abstract
Business process operations are the dominant logic underpinning most of the service-based applications currently in use. Situated in the field of SAP business processes — commonly referred to as iFlows — and their integration, this paper looks into the defectiveness of such flows with a Machine-Learning approach. We propose to cluster and classify at runtime the Integration Flows of business processes during their orchestration; we do so by using metrics extracted from the Integration of 400+ complex business interaction and service orchestration Flows along with their metadata. Through a combined ensemble-based, clustering, and supervised learning exercise, we conclude that an AI-based approach for runtime defect prediction of iFlows shows considerable promise in providing actionable insights for better orchestration intelligence, especially in sight of self-aware business processes of the future.
Max Nijholt, Giovanni Quattrocchi, Damian A. Tamburri
J. Syst. Softw.3
2025 Data catalog tools: A systematic multivocal literature review
abstract
A data catalog enables an organization to maintain an inventory of its data assets by collecting and managing the relevant metadata. We conducted a systematic multi-vocal literature review on data catalogs to understand their features and usage. We systematically selected and analyzed 86 literature sources and 39 catalog tools. We first utilized the findings from the literature to develop a classification framework comprising 24 fine-grained and five high-level features, along with three maturity levels. Next, we analyzed 39 tools based on the classification framework. Organizations typically include a data catalog as a component in their big data platforms and use it to support the various phases of the metadata management lifecycle. Hence, we also mapped the catalog features to the requirements of metadata-driven big data architectures, namely data mesh, data lake, and data lakehouse. Moreover, the mappings of the features to the phases in a metadata management lifecycle were developed. Our findings shall aid organizations in making informed decisions when choosing data catalog tools and help researchers identify the critical research issues in data cataloging and metadata management. Editor’s note: Open Science material was validated by the Journal of Systems and Software Open Science Board .
Marco Tonnarelli, Indika Kumara, Stefan Driessen, Damian A. Tamburri, Willem-Jan van den Heuvel, Patrick Oor
J. Syst. Softw.4
2025 Reality Check on Formal Methods in Industry: A Study of Verum Dezyne
abstract
ABSTRACT Many of the classical questions reflecting the actionable use of formal methods in the software industry—“do they scale?” or “are they easily integrated?”—remain without a definitive answer, with many potentially adoptable formal notations being exploited in industry, but in a rather stove‐piped and siloed fashion, and with rather few, sometimes anecdotal, success stories to tell. In this article, we strive to provide some more answers to the aforementioned questions on formal methods adoption in industry. We focus our study on a widely adopted formal methods framework in Europe, that is, Verum Dezyne, employed by embedded‐computing and hardware‐programming companies including Thermo‐Fisher, Philips, and more. Results convey a rather interesting story—requiring further study into these matters—but also highlight practical insights for formal practitioners in the field, for example, that formal methods do not disrupt existing processes and scalability issues can be easily addressed by applying mainstream engineering practices, such as decomposition.
Michele Chiari, Matteo Camilli, Marcello M. Bersani, Rutger van Beusekom, Damian A. Tamburri
J. Softw. Evol. Process.5
2025 Engineering MLOps Pipelines With Data Quality: A Case Study on Tabular Datasets in Kaggle
abstract
ABSTRACT Ensuring high‐quality data is crucial for the successful deployment of machine learning models, thereby sustaining the operational pipelines around such models. However, a significant number of practitioners do not currently use data quality checks or measurements as gateways for their model construction and operationalization, indicating a need for greater awareness and adoption of these tools. In this study, we propose an automated approach for automating the process of architecting machine learning pipelines by means of (semi‐)automated data quality checks. We focus on tabular data as a representative of the most widely used structured data formats in said pipelines. Our work is based on a subset of metrics that are particularly relevant in MLOps pipelines, stemming from our engagement with expert practitioners in machine learning operations (MLOps). We selected Deepchecks, a well‐known tool for conducting data quality checks, from a cohort of similar tools to evaluate the quality of datasets collected from Kaggle, a widely used platform for machine learning competitions and data science projects. We also analyze the main features used by Kaggle to rank their datasets and used these features to validate the relevance of our approach. Our approach shows the potential for automated data quality checks to improve the efficiency and effectiveness of MLOps pipelines and their operation, by decreasing the risk of introducing errors and biases into machine learning models in production.
Matteo Pancini, Matteo Camilli, Giovanni Quattrocchi, Damian A. Tamburri
J. Softw. Evol. Process.4
2025 Software Engineering by and for Humans in an AI Era
abstract
The landscape of software engineering is undergoing a transformative shift driven by advancements in machine learning, Artificial Intelligence (AI), and autonomous systems. This roadmap article explores how these technologies are reshaping the field, positioning humans not only as end users but also as critical components within expansive software ecosystems. We examine the challenges and opportunities arising from this human-centered paradigm, including ethical considerations, fairness, and the intricate interplay between technical and human factors. By recognizing humans at the heart of the software lifecycle—spanning professional engineers, end users, and end user developers—we emphasize the importance of inclusivity, human-aligned workflows, and the seamless integration of AI-augmented socio-technical systems. As software systems evolve to become more intelligent and human-centric, software engineering practices must adapt to this new reality. This article provides a comprehensive examination of this transformation, outlining current trends, key challenges, and opportunities that define the emerging research and practice landscape, and envisioning a future where software engineering and AI work synergistically to place humans at the core of the ecosystem.
Silvia Abrahão, John C. Grundy, Mauro Pezzè, Margaret-Anne D. Storey, Damian A. Tamburri
ACM Trans. Softw. Eng. Methodol.5
2025 Uncovering Community Smells in Machine Learning-Enabled Systems: Causes, Effects, and Mitigation Strategies
abstract
Successful software development hinges on effective communication and collaboration, which are significantly influenced by human and social dynamics. Poor management of these elements can lead to the emergence of ‘community smells’, i.e., negative patterns in socio-technical interactions that gradually accumulate as ‘social debt’. This issue is particularly pertinent in machine learning-enabled systems, where diverse actors such as data engineers and software engineers interact at various levels. The unique collaboration context of these systems presents an ideal setting to investigate community smells and their impact on development communities. This article addresses a gap in the literature by identifying the types, causes, effects, and potential mitigation strategies of community smells in machine learning-enabled systems. Using Partial Least Squares Structural Equation Modeling (PLS-SEM), we developed hypotheses based on existing literature and interviews, and conducted a questionnaire-based study to collect data. Our analysis resulted in the construction and validation of five models that represent the causes, effects, and strategies for five specific community smells. These models can help practitioners identify and address community smells within their organizations, while also providing valuable insights for future research on the socio-technical aspects of machine learning-enabled system communities.
Giusy Annunziata, Stefano Lambiase, Damian A. Tamburri, Willem-Jan van den Heuvel, Fabio Palomba, Gemma Catolino, Filomena Ferrucci, Andrea De Lucia
ACM Trans. Softw. Eng. Methodol.3
2024 Copula-based Approaches for Anomaly Detection: a Case-study in Financial Forensics
abstract
Fraud detection is a critical challenge in various domains, necessitating accurate and reliable methods to distinguish between legitimate and fraudulent transactions. This work explores the application of copula-based models for anomaly detection in financial forensics. It focuses on their effectiveness in identifying fraudulent activities in a highly imbalanced dataset. Copula models are designed to capture the dependencies between continuous variables, providing a flexible framework for modeling the joint distribution of features. For instance, the variables in a dataset can follow different distributions and the copula is able to model how these variables jointly behave, particularly in extreme cases. In this work, we used a fraud dataset to calculate the copula-based probability of fraud and conditional Gaussian copula. Then, we derive the copula-based Generalized Linear Model (GLM) formula from the conditional copula which is essentially a GLM with probit link and transformed variables when the covariates are continuous. Finally, we compare the performance of these copula-based models with standard methods for predicting a binary variable like GLM with a probit link and logistic regression. Results indicate that copula-based probability and conditional copula formulas offer promising results, particularly in handling complex dependencies, but with a high computational time, while copula-based GLM, when combined with over-sampling, also outperforms traditional methods.
Vanessa Tenconi, Damian A. Tamburri, Giovanni Quattrocchi, Corrado Pellegrino, Giuseppe Cascavilla, Willem-Jan van den Heuvel
IEEE Big Data2
2024 Detecting Security Fixes in Open-Source Repositories using Static Code Analyzers
abstract
The sources of reliable, code-level information about vulnerabilities that affect open-source software (OSS) are scarce, which hinders a broad adoption of advanced tools that provide code-level detection and assessment of vulnerable OSS dependencies.
Therese Fehrer, Rocío Cabrera Lozoya, Antonino Sabetta, Dario Di Nucci, Damian A. Tamburri
EASE5
2024 Data Quality Assessment in the Wild: Findings from GitHub
abstract
Data quality is critical to make data-driven business decisions reliable, accurate, and complete. As a result, data quality assessment has become a prevalent topic among researchers and practitioners. Previous studies have surveyed data quality tools and used them in industrial projects. However, the practitioners’ adoption of data quality tools is mainly unexplored. In this study, we systematically selected the five widely used tools and analyzed 498 GitHub repositories that use those tools. Our findings show that practitioners increasingly use data quality tools to assess and improve the quality of their data. The most common use case is software development (49.2%), followed by learning (25.5%), teaching (9.2%), and research (0.4%). However, most repositories (69%) showed less activities and collaboration. The development projects, especially with industry-based owners, were the most active. The predominant use of the data quality tools was to assess the completeness of the data, followed by uniqueness, validity, and referential integrity.
Ipek Ustunboyacioglu, Indika Kumara, Dario Di Nucci, Damian A. Tamburri, Willem-Jan van den Heuvel
EASE4
2024 Electric Vehicle Fast-Charging Software: Architectural Considerations Towards Trustworthiness
Vick Dini, Damian A. Tamburri, Elisabetta Di Nitto
ECSA2
2024 Integrating Data Quality in Industrial Big Data Architectures: An Action Design Research Study
Ipek Ustunboyacioglu, Indika Kumara, Dario Di Nucci, Damian A. Tamburri, Willem-Jan van den Heuvel
ECSA4
2024 CRATOR a CRAwler for TOR: Turning Dark Web Pages into Open Source INTelligence
Daniel De Pascale, Giuseppe Cascavilla, Damian A. Tamburri, Willem-Jan van den Heuvel
ESORICS (2)3
2024 Architectural Design Decisions for Self-Serve Data Platforms in Data Meshes
abstract
Data mesh is an emerging decentralized approach to managing and generating value from analytical enterprise data at scale. It shifts the ownership of the data to the business domains closest to the data, promotes sharing and managing data as autonomous products, and uses a federated and automated data governance model. The data mesh relies on a managed data platform that offers services to domain and governance teams to build, share, and manage data products efficiently. However, designing and implementing a self-serve data platform is challenging, and the platform engineers and architects must understand and choose the appropriate design options to ensure the platform will enhance the experience of domain and governance teams. For these reasons, this paper proposes a catalog of architectural design decisions and their corresponding decision options by systematically reviewing 43 industrial gray literature articles on self-serve data platforms in data mesh. Moreover, we used semi-structured interviews with six data engineering experts with data mesh experience to validate, refine, and extend the findings from the literature. Such a catalog of design decisions and options drawn from the state of practice shall aid practitioners in building data meshes while providing a baseline for further research on data mesh architectures.
Tom van Eijk, Indika Kumara, Dario Di Nucci, Damian A. Tamburri, Willem-Jan van den Heuvel
ICSA4
2024 Violence Detection: A Serious-Gaming Approach
abstract
Widespread use of IoT, like surveillance cameras, raises privacy concerns in citizens’ lives. However, limited studies explore AI-based automatic recognition of criminal incidents due to a lack of real data, constrained by legal and privacy regulations, preventing effective training and testing of deep learning models. To address dataset limitations, we propose using generative technology and virtual gaming data, such as the Grand Theft Auto (GTA-V) platform. However, it’s unclear if synthetic data accurately mirrors real-world videos for effective deep learning model performance. This research aims to explore the potential of identifying criminal scenarios using deep learning models based on gaming data. We propose a deep-learning violence detection framework using virtual gaming data. The 3-stage deep learning model focuses on person identification and violence activity recognition. We introduce a new dataset for supervised training and find virtual persons closely resembling real-world individuals. Our research demonstrates a 15% higher accuracy in identifying violent scenarios compared to three established real-world datasets, showcasing the effectiveness of a serious gaming approach.
Derkjan Elzinga, Stan Ruessink, Giuseppe Cascavilla, Damian A. Tamburri, Francesco Leotta, Massimo Mecella, Willem-Jan van den Heuvel
SECRYPT4
2024 An Empirical Investigation Into the Influence of Software Communities' Cultural and Geographical Dispersion on Productivity
abstract
Estimating and understanding software development productivity represent crucial tasks for researchers and practitioners. Although different works focused on evaluating the impact of human factors on productivity, a few explored the influence of cultural/geographical diversity in software development communities. More particularly, all previous treatise addresses cultural aspects as abstract concepts without providing a quantitative representation. Improved knowledge of these matters might help project managers to assemble more productive teams and tool vendors to design software analytics toolkits that may better estimate productivity. This paper has the goal of enlarging the existing body of knowledge on the factors affecting productivity by focusing on cultural and geographical dispersion of a development community—namely, how diverse a community is in terms of cultural attitudes and geographical collocation of the members who belong to it. To reach this goal, we performed a mixed-method empirical study. First, we built a statistical model relating dispersion metrics with the productivity of 25 open-source communities on Github. Then, we performed a confirmatory survey with 140 practitioners. The key results of our study indicate that cultural and geographical dispersion considerably impact productivity, thus encouraging managers and practitioners to consider such aspects during all the phases of the software development lifecycle. We conclude our paper by elaborating on the main insights from our analyses and instilling implications that may drive further research.
Stefano Lambiase, Gemma Catolino, Fabiano Pecorelli, Damian A. Tamburri, Fabio Palomba, Willem-Jan van den Heuvel, Filomena Ferrucci
J. Syst. Softw.4
2024 Analyzing the Tower of Babel with Kaiaulu
Carlos V. Paradis, Rick Kazman, Damian A. Tamburri
J. Syst. Softw.3
2024 Towards efficient AutoML: a pipeline synthesis approach leveraging pre-trained transformers for multimodal data
abstract
Abstract This paper introduces an Automated Machine Learning (AutoML) framework specifically designed to efficiently synthesize end-to-end multimodal machine learning pipelines. Traditional reliance on the computationally demanding Neural Architecture Search is minimized through the strategic integration of pre-trained transformer models. This innovative approach enables the effective unification of diverse data modalities into high-dimensional embeddings, streamlining the pipeline development process. We leverage an advanced Bayesian Optimization strategy, informed by meta-learning, to facilitate the warm-starting of the pipeline synthesis, thereby enhancing computational efficiency. Our methodology demonstrates its potential to create advanced and custom multimodal pipelines within limited computational resources. Extensive testing across 23 varied multimodal datasets indicates the promise and utility of our framework in diverse scenarios. The results contribute to the ongoing efforts in the AutoML field, suggesting new possibilities for efficiently handling complex multimodal data. This research represents a step towards developing more efficient and versatile tools in multimodal machine learning pipeline development, acknowledging the collaborative and ever-evolving nature of this field.
Ambarish Moharil, Joaquin Vanschoren, Prabhant Singh, Damian A. Tamburri
Mach. Learn.4
2024 SolAR: Automated test-suite generation for solidity smart contracts
abstract
Smart contracts have rapidly gained popularity as self-contained pieces of code, especially those run on the Ethereum blockchain. On the one hand, smart contracts are immutable, have transparent workings, and execute autonomously. On the other hand, these qualities make it essential to properly test the behavior of a smart contract before deploying it. In this paper, we introduce SolAR, a tool and approach for Solidity Automated Test Suite GeneRation. SolAR allows smart contract developers to generate test suites for Solidity smart contracts optimized automatically for branch coverage using either a state-of-the-art genetic algorithm or a fuzzing approach. It enables a novel way to handle blockchain operations—or ChainOps—from a pipeline perspective, entailing a larger-scale as well as more manageable and maintainable service continuity.
Stefan Driessen, Dario Di Nucci, Damian A. Tamburri, Willem-Jan van den Heuvel
Sci. Comput. Program.3
2024 "Through the looking-glass ..." An empirical study on blob infrastructure blueprints in the Topology and Orchestration Specification for Cloud Applications
abstract
Abstract Infrastructure‐as‐code (IaC) helps keep up with the demand for fast, reliable, high‐quality services by provisioning and managing infrastructures through configuration files. Those files ensure efficient and repeatable routines for system provisioning, but they might be affected by code smells that negatively affect quality and code maintenance. Research has broadly studied code smells for traditional source code development; however, none explored them in the “Topology and Orchestration Specification for Cloud Applications” (TOSCA), the technology‐agnostic OASIS standard for IaC. In this paper, we investigate a prominent traditional implementation code smell potentially applicable to TOSCA: Large Class, or “Blob Blueprint” in IaC terms. We compare metrics‐based and unsupervised learning‐based detectors on a large dataset of manually validated observations related to Blob Blueprints. We provide insights on code metrics that corroborate previous findings and empirically show that metrics‐based detectors perform highly in detecting Blob Blueprints. We deem our results put forward a new research path toward dealing with this problem, for example, in the scope of fully automated service pipelines.
Stefano Dalla Palma, Chiel van Asseldonk, Gemma Catolino, Dario Di Nucci, Fabio Palomba, Damian A. Tamburri
J. Softw. Evol. Process.6
2024 RADF: Architecture decomposition for function as a service
abstract
Abstract As the most successful realization of serverless, function as a service (FaaS) brings in a novel cloud computing paradigm that can save operating costs, reduce management effort, enable seamless scalability, and augment development productivity. Migration of an existing application to the serverless architecture is, however, an intricate task as a great number of decisions need to be made along the way. We propose in this paper RADF, a semi‐automatic approach that decomposes a monolith into serverless functions by analyzing the business logic inherent in the interface of the application. The proposed approach adopts a two‐stage refactoring strategy, where a coarse‐grained decomposition is performed at first, followed by a fine‐grained one. As such, the decomposition process is simplified into smaller steps and adaptable to generate a solution at either microservice or function level. We have implemented RADF in a holistic DevOps methodology and evaluated its capability for microservice identification and feasibility for code refactoring. In the evaluation experiments, RADF achieves lower coupling and relatively balanced cohesion, compared to previous decomposition approaches.
Lulai Zhu, Damian A. Tamburri, Giuliano Casale
Softw. Pract. Exp.2
2024 Few Images, Many Insights: Illicit Content Detection Using a Limited Number of Images
abstract
The anonymity and untraceability benefits of the dark web increased its popularity exponentially. The cost of these technical benefits is that such anonymity has created a suitable womb for illicit activity. Hence—in collaboration with cybersecurity practitioners and law-enforcement agencies—the research community provided approaches for recognizing and classifying illicit activities. Most of these approaches exploit textual content from dark web markets, whereas few used images that originated from them. This article investigates alternative techniques for recognizing illegal activities from images. The significant contributions of our work are threefold: (a) We investigate label-agnostic learning techniques like One-Shot and Few-Shot learning that use Siamese Neural Networks. Our approach manages to handle small-scale datasets with promising accuracy. In particular, the Siamese Neural Network approach reaches 90.9% on 5-Shot experiments over a 10-class dataset. (b) This study’s satisfactory findings facilitate the creation of potent tools to assist authorities in identifying illicit content on the Web. Moreover, our proof-of-concept approach demonstrated the ability to recognize illegal images using a limited number of files, reducing the time constraint in collecting illegal images. (c) We provide a complete labeled dataset of 3,570 images from 55 different categories from dark web markets that can be used for future research activities.
Giuseppe Cascavilla, Gemma Catolino, Mauro Conti, Dimos Mellios, Damian A. Tamburri
ACM Trans. Intell. Syst. Technol.5
2024 Automated Mapping of Vulnerability Advisories onto their Fix Commits in Open Source Repositories
abstract
The lack of comprehensive sources of accurate vulnerability data represents a critical obstacle to studying and understanding software vulnerabilities (and their corrections). In this article, we present an approach that combines heuristics stemming from practical experience and machine-learning (ML)—specifically, natural language processing (NLP)—to address this problem. Our method consists of three phases. First, we construct an advisory record object containing key information about a vulnerability that is extracted from an advisory, such as those found in the National Vulnerability Database (NVD). These advisories are expressed in natural language. Second, using heuristics, a subset of candidate fix commits is obtained from the source code repository of the affected project, by filtering out commits that can be identified as unrelated to the vulnerability at hand. Finally, for each of the remaining candidate commits, our method builds a numerical feature vector reflecting the characteristics of the commit that are relevant to predicting its match with the advisory at hand. Based on the values of these feature vectors, our method produces a ranked list of candidate fixing commits. The score attributed by the ML model to each feature is kept visible to the users, allowing them to easily interpret the predictions. We implemented our approach and we evaluated it on an open data set, built by manual curation, that comprises 2,391 known fix commits corresponding to 1,248 public vulnerability advisories. When considering the top-10 commits in the ranked results, our implementation could successfully identify at least one fix commit for up to 84.03% of the vulnerabilities (with a fix commit on the first position for 65.06% of the vulnerabilities). Our evaluation shows that our method can reduce considerably the manual effort needed to search open-source software (OSS) repositories for the commits that fix known vulnerabilities.
Daan Hommersom, Antonino Sabetta, Bonaventura Coppola, Dario Di Nucci, Damian A. Tamburri
ACM Trans. Softw. Eng. Methodol.5
2023 BigData Fusion for Trajectory Prediction of Multi-Sensor Surveillance Information Systems
abstract
Video surveillance information systems assist forensics to examine and analyze the evidence from crime scenes to develop objective findings in the investigation of crime. Often, the existing surveillance information systems exploit an array of security cameras and IoT devices monitoring the same crime scene from different points of view while the crime unfolds over a range of time. However, none can automatically and selectively merge big data streams connected to such systems to provide a holistic, end-to-end safety picture.This work proposes a trajectory prediction architecture framework within a multi-sensor surveillance system. We developed a novel position measurement technique using monocular depth perception networks with multi-camera setup using triangulation. We tested and compared our technique with a single camera sensor in our first experiment and as the multi-camera setup determines the position of our target more accurately, we used our measurement function in our second experiment. In our second experiment, we employed the Unscented Kalman Filter (UKF) for predicting the trajectory of the target, and proved that UKF has good potential for being used in surveillance systems. Lastly, we designed a general architecture framework for big data analysis in multi-sensor surveillance systems consisting the four layers: the Sensor Layer, the Single Sensor Computation Layer, the Data Fusion and Interpretation Layer, and the Human Interaction Layer.
Giuseppe Cascavilla, Alfredo Cuzzocrea, Daniel De Pascale, Mandana Omidbakhsh, Damian A. Tamburri
IEEE Big Data5
2023 Architecting Artificial Intelligence for Autonomous Cars: The OpenPilot Framework
Luciano Baresi, Damian A. Tamburri
ECSA2
2023 QuantumShare: Towards an Ontology for Bridging the Quantum Divide
Julian Martens, Indika Kumara, Geert Monsieur, Willem-Jan van den Heuvel, Damian A. Tamburri
ER5
2023 Anonymization-as-a-Service: The Service Center Transcripts Industrial Case
Nemania Borovits, Gianluigi Bardelloni, Damian A. Tamburri, Willem-Jan van den Heuvel
ICSOC (2)3
2023 When the Few Outweigh the Many: Illicit Content Recognition with Few-Shot Learning
abstract
Online Appendix
Giuseppe Cascavilla, Gemma Catolino, Mauro Conti, Dimos Mellios, Damian A. Tamburri
SECRYPT5
2023 From ℓ1 subgradient to projection: A compact neural network for ℓ1-regularized logistic regression
Majid Mohammadi 0001, Amir Ahooye Atashin, Damian A. Tamburri
Neurocomputing3
2023 Counter-terrorism in cyber-physical spaces: Best practices and technologies from the state of the art
abstract
The demand for protection and security of physical spaces and urban areas increased with the escalation of terroristic attacks in recent years. We envision with the proposed cyber–physical systems and spaces, a city that would indeed become a smarter urbanistic object, proactively providing alerts and being protective against any threat. This survey intend to provide a systematic multivocal literature survey comprised of an updated, comprehensive and timely overview of state of the art in counter-terrorism cyber–physical systems, hence aimed at the protection of cyber–physical spaces. Hence, provide guidelines to law enforcement agencies and practitioners providing a description of technologies and best practices for the protection of public spaces. We analyzed 112 papers collected from different online sources, both from the academic field and from websites and blogs ranging from 2004 till mid-2022. (a) There is no one single bullet-proof solution available for the protection of public spaces. (b) From our analysis we found three major active fields for the protection of public spaces: Information Technologies, Architectural approaches, Organizational field. (c) While the academic suggest best practices and methodologies for the protection of urban areas, the market did not provide any type of implementation of such suggested approaches, which shows a lack of fertilization between academia and industry. The overall analysis has led us to state that there is no one single solution available, conversely, multiple methods and techniques can be put in place to guarantee safety and security in public spaces. The techniques range from architectural design to rethink the design of public spaces keeping security into account in continuity, to emerging technologies such as AI and predictive surveillance.
Giuseppe Cascavilla, Damian A. Tamburri, Francesco Leotta, Massimo Mecella, Willem-Jan van den Heuvel
Inf. Softw. Technol.2
2023 Real-world K-Anonymity applications: The KGen approach and its evaluation in fraudulent transactions
abstract
K-Anonymity is a property for the measurement, management, and governance of the data anonymization. Many implementations of k-anonymity have been described in state of the art, but most of them are not practically usable over a large number of attributes in a “Big” dataset, i.e., a dataset drawing from Big Data. To address this significant shortcoming, we introduce and evaluate KGen, an approach to K-anonymity featuring meta-heuristics, specifically, Genetic Algorithms to compute a permutation of the dataset which is both K-anonymized and still usable for further processing, e.g., for private-by-design analytics. KGen promotes such a meta-heuristic approach since it can solve the problem by finding a pseudo-optimal solution in a reasonable time over a considerable load of input. KGen allows the data manager to guarantee a high anonymity level while preserving the usability and preventing loss of information entropy over the data. Differently from other approaches that provide optimal global solutions compatible with smaller datasets, KGen works properly also over Big datasets while still providing a good-enough K-anonymized but still processable dataset. Evaluation results show how our approach can still work efficiently on a real world dataset, provided by Dutch Tax Authority, with 47 attributes (i.e., the columns of the dataset to be anonymized) and over 1.5K+ observations (i.e., the rows of that dataset), as well as on a dataset with 97 attributes and over 3942 observations.
Daniel De Pascale, Giuseppe Cascavilla, Damian A. Tamburri, Willem-Jan van den Heuvel
Inf. Syst.3
2023 Internet-of-things architectures for secure cyber-physical spaces: The VISOR experience report
abstract
Abstract Internet of things (IoT) technologies are becoming a more and more widespread part of civilian life in common urban spaces, which are rapidly turning into cyber–physical spaces. Simultaneously, the fear of terrorism and crime in such public spaces is ever‐increasing. Due to the resulting increased demand for security, video‐based IoT surveillance systems have become an important area for research. Considering the large number of devices involved in the illicit recognition task, we conducted a field study in a Dutch Easter music festival in a national interest project called VISOR to select the most appropriate device configuration in terms of performance and results. We iteratively architected solutions for the security of cyber–physical spaces using IoT devices. We tested the performance of multiple federated devices encompassing drones, closed‐circuit television, smart phone cameras, and smart glasses to detect real‐case scenarios of potentially malicious activities such as mosh pits and pick‐pocketing. Our results pave the way to select optimal IoT architecture configurations—that is, a mix of CCTV, drones, smart glasses, and camera phones in our case—to make safer cyber–physical spaces' a reality.
Daniel De Pascale, Giuseppe Cascavilla, Mirella Sangiovanni, Damian A. Tamburri, Willem-Jan van den Heuvel
J. Softw. Evol. Process.4
2023 Making service continuity smarter with artificial intelligence: An approach and its evaluation
abstract
Abstract Service continuity entails establishing an observable and explainable continuum between customer experience and service operations. Such continuum is currently established manually, via service customer management operations (such as service incident management (IM)) often resulting in time‐consuming, human‐detrimental, and error‐prone activities. Conversely, artificial intelligence (AI) is rapidly emerging as an automated enabler towards handling the discontinuities in the aforementioned critical business tasks. Consequently, the emerging topic of AI‐driven incident management (AIIM) addresses practices and tools to resolve incidents by means of AI‐enabled organizational processes and methodologies. Our conjecture is that AIIM could reduce unplanned interruptions of service and let customers resume their work as quick as possible. While several techniques were presented in the literature to automatically identify the problems described in incident tickets by customers, this article focuses on the qualitative analysis and feature extraction off of the provided descriptions. When an incident ticket does not describe properly the problem, the analyst must ask the customer for additional details which could require several long‐lasting interactions. This article proposes ACQUA , an AIIM approach to automatically assess the quality of ticket descriptions with the goals of removing the need of additional communications and guiding the customers to properly describe the incident. A preliminary evaluation of ACQUA was performed on a dataset provided by a large bank in Europe, showing promising results and a boost of 13% in ticket resolution times and connected service continuity.
Giovanni Quattrocchi, Damian A. Tamburri, Willem-Jan van den Heuvel
Softw. Pract. Exp.2
2023 Big Data for the Social Good: The Drought Early-Warning Experience Report
abstract
Data deluge is growing exponentially, but the consumption of the data is not growing at the same pace. DataOps is an emerging family of techniques and tools that harnesses the potential of data continuously whilst incrementally using complex cloud systems orchestration techniques. This paper offers a proof-of-concept implementation of a DataOps pipeline for the social good. Specifically, we prototype—using a combined field-lab Action Research and Design Science approach—a DataOps system to incrementally and iteratively mitigate the devastating effects of droughts for high-risk areas. The context of our study is a game reserve in the Waterberg area in the province Limpopo in South Africa. The objective of this paper is threefold: to (1) develop and study a proof of concept for DataOps, by (2) exploring the applicability of individual software components in a complex and large-scale continuous pipeline, and, finally (3) elaborate on the spatial classification of such components in a new-frontier Drought Early-Warning System (DEWS). As a result, we offer an overview of the challenges and opportunities laid bare by our experimentation in a complex societal scenario while combining Artificial Intelligence and DataOps technologies. We conclude that a combined model of local, regional, and global data performs best on all tests within a stakeholder-acceptable timeframe.
Damian A. Tamburri, Vincent R. van Mierlo, Willem-Jan van den Heuvel
IEEE Trans. Big Data1
2023 Continuous Integration and Delivery Practices for Cyber-Physical Systems: An Interview-Based Study
abstract
Continuous Integration and Delivery (CI/CD) practices have shown several benefits for software development and operations, such as faster release cycles and early discovery of defects. For Cyber-Physical System (CPS) development, CI/CD can help achieving required goals, such as high dependability, yet it may be challenging to apply. This article empirically investigates challenges, barriers, and their mitigation occurring when applying CI/CD practices to develop CPSs in 10 organizations working in eight different domains. The study has been conducted through semi-structured interviews, by applying an open card sorting procedure together with a member-checking survey within the same organizations, and by validating the results through a further survey involving 55 professional developers. The study reveals several peculiarities in the application of CI/CD to CPSs. These include the need for (i) combining continuous and periodic builds while balancing the use of Hardware-in-the-Loop and simulators, (ii) coping with difficulties in software deployment (iii) accounting for simulators and Hardware-in-the-Loop differing in their behavior, and (vi) combining hardware/software expertise in the development team. Our findings open the road toward recommenders aimed at supporting the setting and evolution of CI/CD pipelines, as well as university curricula requiring interdisciplinarity, such as knowledge about hardware, software, and their interplay.
Fiorella Zampetti, Damian A. Tamburri, Sebastiano Panichella, Annibale Panichella, Gerardo Canfora, Massimiliano Di Penta
ACM Trans. Softw. Eng. Methodol.2
2023 FOCloud: Feature Model Guided Performance Prediction and Explanation for Deployment Configurable Cloud Applications
abstract
The increasing heterogeneity of the VM offerings on public IaaS clouds gives rise to a very large number ofdeployment optionsfor constructing distributed, multi-component cloud applications. However, selecting an appropriatedeployment variant, i.e., a valid combination of deployment options, to meet required performance levels is non-trivial. The combinatorial explosion of thedeployment spacemakes it infeasible to measure the performance of all deployment variants to build a comprehensive empirical performance model. To address this problem, we proposeFeature-Oriented Cloud(FOCloud), a performance engineering approach for deployment configurable cloud applications. FOCloud (i) uses feature modeling to structure and constrain the valid deployment space by modeling the commonalities and variations in the different deployment options and their inter-dependencies, (ii) uses sampling and machine learning to incrementally and cost-effectively build a performance prediction model whose input variables are the deployment options, and the output variable is the performance of the resulting deployment variant, and (iii) uses Explainable AI techniques to provide explanations for the prediction outcomes of valid deployment variants in terms of the deployment options. We demonstrate the practicality and feasibility of FOCloud by applying it to an extension of the RuBiS benchmark application deployed on Google Cloud.
Indika Kumara, Mohamed Hameez Ariz, Mohan Baruwal Chhetri, Majid Mohammadi 0001, Willem-Jan van den Heuvel, Damian A. Tamburri
IEEE Trans. Serv. Comput.6
2023 On the Relationship Between Organizational Structure Patterns and Architecture in Agile Teams
abstract
Forming members of an organisation into coherent groups or teams is an important issue in any large-scale software engineering endeavour, especially so in agile software development where teams rely heavily on self-organisation and organisational flexibility. Butis there a recurrent organisational structure pattern in agile software engineering teams?and if sowhat does that pattern imply, in terms of software architecture quality?We address these questions using mixed-methods research in industry featuring interviews, surveys, and Delphi studies of real agile teams. In our study of 30 agile software teams we found that, out of seven organisational structure patterns that recur across our dataset, a single organisational pattern occurs over 37% of the time. This pattern: (a) reflects young communities (1-12 months old); (b) disappears in established ones (13+ months); and (c) reflects the highest number of architecture smells reported. Finally, we observe a negative correlation between a proposed organisational measure and architecture smells. On the one hand, these insights may serve to aid architects in designing not only their architectures but also their communities to best support their co-evolution. On the other hand, we observe that organisational structures in software engineering influence much more than simply software architectures, and we expect our results to lay the foundations of more structured and rigorous approaches to organisational structure studies and use in software engineering research and practice.
Damian A. Tamburri, Rick Kazman, Hamed Fahimi
IEEE Trans. Software Eng.1
2022 Explaining IoT Attacks: An Effective and Efficient Semi-Supervised Learning Framework
abstract
Cyber-attacks targeting Internet-of-Things (IoT) devices are prevalent due to the limited security resources of the target devices and their often limited connectivity. Explaining such attacks is therefore greatly important to construct countermeasures. Current methods of automated IoT attack analysis require either large amounts of labelled data for classification, or use clustering methods which can be inaccurate. However, when a desired grouping of the data, as well as some prior knowledge about some observations in the data is available, approximate semi-supervised learning methods may be used to create accurate cluster arrangements. We therefore investigated the use of semi-supervised clustering approaches for creating accurate clusters of IoT attack sessions based on their goals and characteristic commonalities. We first manually created a ground-truth grouping of recent IoT attacks based on their goal. We differentiated the goal of each session according to the purpose of the used commands and the taken approach, resulting in a total of five classes. We then automatically constructed a feature set suitable for clustering similar IoT attack sessions using a method proposed in recent literature, and passed it to two different semi-supervised clustering algorithms using either labelled data (SeededKMeans) or pairwise constraints (PCKMeans) as prior knowledge. We found that both semi-supervised approaches were able to create accurate cluster arrangements using only small amounts of prior knowledge. Moreover, they outperformed an entirely unsupervised KMeans algorithm in terms of accuracy.
Giuseppe Cascavilla, Reinier Zwart, Damian A. Tamburri, Alfredo Cuzzocrea
IEEE Big Data3
2022 "There and Back Again?" On the Influence of Software Community Dispersion Over Productivity
abstract
Estimating and understanding productivity still represents a crucial task for researchers and practitioners. Researchers spent significant effort identifying the factors that influence software developers’ productivity, providing several approaches for analyzing and predicting such a metric. Although different works focused on evaluating the impact of human factors on productivity, little is known about the influence of cultural/geographical diversity in software development communities. Indeed, in previous studies, researchers treated cultural aspects like an abstract concept without providing a quantitative representation. This work provides an empirical assessment of the relationship between cultural and geographical dispersion of a development community—namely, how diverse a community is in terms of cultural attitudes and geographical collocation of the members who belong to it—and its productivity. To reach our aim, we built a statistical model that contained product and socio-technical factors as independent variables to assess the correlation with productivity, i.e., the number of commits performed in a given time. Then, we ran our model considering data of 25 open-source communities on GitHub. Results of our study indicate that cultural and geographical dispersion impact productivity, thus encouraging managers and practitioners to consider such aspects during all the phases of the software development lifecycle.
Stefano Lambiase, Gemma Catolino, Fabiano Pecorelli, Damian A. Tamburri, Fabio Palomba, Willem-Jan van den Heuvel, Filomena Ferrucci
SEAA4
2022 A Multivocal Literature Review of MLOps Tools and Features
abstract
DevOps has become increasingly widespread, with companies employing its methods in different fields. In this context, MLOps automates Machine Learning pipelines by applying DevOps practices. Considering the high number of tools available and the high interest of the practitioners to be supported by tools to automate the steps of Machine Learning pipelines, little is known concerning MLOps tools and their functionalities. To this aim, we conducted a Multivocal Literature Review (MLR) to (i) extract tools that allow for and support the creation of MLOps pipelines and (ii) analyze their main characteristics and features to provide a comprehensive overview of their value. Overall, we investigate the functionalities of 13 MLOps Tools. Our results show that most MLOps Tools support the same features but apply different approaches that can bring different advantages, depending on user requirements.
Gilberto Recupito, Fabiano Pecorelli, Gemma Catolino, Sergio Moreschini, Dario Di Nucci, Fabio Palomba, Damian A. Tamburri
SEAA7
2022 "When the Code becomes a Crime Scene" Towards Dark Web Threat Intelligence with Software Quality Metrics
abstract
The increasing growth of illegal online activities in the so-called dark web—that is, the hidden collective of internet sites only accessible by a specialized web browsers—has challenged law enforcement agencies in recent years with sparse research efforts to help. For example, research has been devoted to supporting law enforcement by employing Natural Language Processing (NLP) to detect illegal activities on the dark web and build models for their classification. However, current approaches strongly rely upon the linguistic characteristics used to train the models, e.g., language semantics, which threatens their generalizability. To overcome this limitation, we tackle the problem of predicting illegal and criminal activities—a process defined as threat intelligence—on the dark web from a complementary perspective—that of dark web code maintenance and evolution— and propose a novel approach that uses software quality metrics and dark website appearance parameters instead of linguistic characteristics. We performed a preliminary empirical study on 10.367 web pages and collected more than 40 code metrics and website parameters using sonarqube. Results show an accuracy of up to 82% for predicting the three types of illegal activities (i.e., suspicious, normal, and unknown) and 66% for detecting 26 specific illegal activities, such as drugs or weapons trafficking. We deem our results can influence the current trends in detecting illegal activities on the dark web and put forward a completely novel research avenue toward dealing with this problem from a software maintenance and evolution perspective.
Giuseppe Cascavilla, Gemma Catolino, Felipe Ebert, Damian A. Tamburri, Willem-Jan van den Heuvel
ICSME4
2022 Defuse: A Data Annotator and Model Builder for Software Defect Prediction
abstract
We propose a language-agnostic tool for software defect prediction, called DEFUSE. The tool automatically collects and classifies failure data, enables the correction of those classifications, and builds machine learning models to detect defects based on those data. We instantiated the tool in the scope of Infrastructure-as-Code, the DevOps practice enabling management and provisioning of infrastructure through the definition of machine-readable files. We present its architecture and provide examples of its application.Demo video: https://youtu.be/37mmLdCX3jU.
Stefano Dalla Palma, Dario Di Nucci, Damian A. Tamburri
ICSME3
2022 Blockchain-Oriented Services Computing in Action: Insights from a User Study
Giovanni Quattrocchi, Damian A. Tamburri, Willem-Jan van den Heuvel
ICSOC2
2022 A declarative modelling framework for the deployment and management of blockchain applications
abstract
The deployment and management of Blockchain applications require non-trivial efforts given the unique characteristics of their infrastructure (i.e., immutability) and the complexity of the software systems being executed. The operation of Blockchain applications is still based on ad-hoc solutions that are error-prone, difficult to maintain and evolve, and do not manage their interactions with other infrastructures (e.g., a Cloud backend).
Luciano Baresi, Giovanni Quattrocchi, Damian A. Tamburri, Luca Terracciano
MoDELS3
2022 FOCloud: Feature Model Guided Performance Prediction and Explanation for Deployment Configurable Cloud Applications
abstract
J1C2 Presentation Abstract at IEEE SERVICES 2022 for IEEE Transactions on Services Computing DOI 10.1109/TSC.2022.3142853
Indika Kumara, Mohamed Hameez Ariz, Mohan Baruwal Chhetri, Majid Mohammadi 0001, Willem-Jan van den Heuvel, Damian A. Tamburri
SERVICES6
2022 Gender Diversity and Community Smells: A Double-Replication Study on Brazilian Software Teams
abstract
Social debts in software teams are gaining increasing attention from the research community due to their potential adverse effects on software quality. For instance, community smells are indicators of sub-optimal organizational structures and may well lead to the emergence of social debt. Previous studies analyzed which factors influence the emergence/mitigation of such smells. In particular, studies by Catolino et al. showed how factors related to team composition, particularly gender diversity, correlated to the mitigation of community smells. However, a confirmation survey on 60 practitioners suggested that these results were not aligned with the experts' perceptions. In a separate survey, Catolino et al. collected the most common team refactoring strategies for those community smells. In this work we replicate two studies by those authors, focusing on the Brazilian software teams; culture-specific expectations on the behavior of people of different genders might have affected the perception of the importance of gender diversity and refactoring strategies when mitigating community smells. We translated the survey instrument used by Catolino et al. to Brazilian Portuguese and recruited 184 Brazilian developers. Re-sults did not show significant differences from the original study; indeed, participants perceived gender diversity as less valuable to mitigate community smells than such factors like experience or team size. Additionally, we performed a qualitative analysis of an open question within the questionnaire for the refactoring strategies. Brazilian developers agree with the original studies for most smells, mainly promoting restructuring communities, creating a communication plan and mentoring. We believe these results provide further evidence on the problem and its implications when managing software teams, avoiding technical debt and maintenance issues due to team communication and coordination problems.
Camila Sarmento, Tiago Massoni, Alexander Serebrenik, Gemma Catolino, Damian A. Tamburri, Fabio Palomba
SANER5
2022 FindICI: Using machine learning to detect linguistic inconsistencies between code and natural language descriptions in infrastructure-as-code
abstract
Linguistic anti-patterns are recurring poor practices concerning inconsistencies in the naming, documentation, and implementation of an entity. They impede the readability, understandability, and maintainability of source code. This paper attempts to detect linguistic anti-patterns in Infrastructure-as-Code (IaC) scripts used to provision and manage computing environments. In particular, we consider inconsistencies between the logic/body of IaC code units and their short text names. To this end, we propose FindICI a novel automated approach that employs word embedding and classification algorithms. We build and use the abstract syntax tree of IaC code units to create code embeddings used by machine learning techniques to detect inconsistent IaC code units. We evaluated our approach with two experiments on Ansible tasks systematically extracted from open source repositories for various word embedding models and classification algorithms. Classical machine learning models and novel deep learning models with different word embedding methods showed comparable and satisfactory results in detecting inconsistent Ansible tasks related to the top-10 used Ansible modules.
Nemania Borovits, Indika Kumara, Dario Di Nucci, Parvathy Krishnan, Stefano Dalla Palma, Fabio Palomba, Damian A. Tamburri, Willem-Jan van den Heuvel
Empir. Softw. Eng.7
2022 Impacts of software community patterns on process and product: An empirical study
Manuel De Stefano, Emanuele Iannone, Fabiano Pecorelli, Damian A. Tamburri
Sci. Comput. Program.4
2022 Predictive maintenance of infrastructure code using "fluid" datasets: An exploratory study on Ansible defect proneness
abstract
Abstract This work consolidates and compounds previous investigations in recognizing defects for infrastructure‐as‐code (IaC) scripts using general software development quality metrics with a focus on defect severity but adding to previous work an explorative look at creating datasets, which may boost the predictive power of provided models—we call this notion a fluid dataset. More specifically, we experiment with 50 different metrics harnessing a multiple dataset creation process whereby different versions of the same datasets are rigged with auto‐training facilities for model retraining and redeployment in a DataOps fashion. At this point, with a focus on the Ansible infrastructure code language—as a de facto standard for industrial‐strength infrastructure code—we build defect prediction models and manage to improve on the state of the art by finding an F1 score of 0.52 and a recall of 0.57 using a Naive–Bayes classifier. On the one hand, by improving state‐of‐the‐art defect prediction models using metrics generalizable for different IaC languages, we provide interesting leads for the future of infrastructure‐as‐code. On the other hand, we have barely scratched the surface on the novel approach of fluid‐datasets creation and automated retraining of Machine Learning (ML) defect prediction models, warranting for more research on the same direction in the future.
Giovanni Quattrocchi, Damian A. Tamburri
J. Softw. Evol. Process.2
2022 Event-sourced, observable software architectures: An experience report
abstract
Abstract The speeding growth of the IT market and the spreading of disruptive technologies are leading towards more and more risky operations in need of constant upkeep, monitoring as well as proactive orchestration. On the one hand, the property allowing a system to be catered by automated monitoring and healing technology is defined as observability . On the other hand, appropriate design principles to manifest observability were originally referred as event sourcing by its inventor Martin Fowler and warrant for the aforementioned sustainable software operations. Both event sourcing and observability are complex to leverage on and design for. In an effort to understand more on both concepts, we offer an experience report on their practical use, featuring: (1) a rigorous definition of software architecture observability and a set of principles to design for observability using augmented forms of well‐known design patterns in line with event sourcing; and (2) an impact analysis in the context of a case study. Our study reveals several interesting notions around the concept of observability but our findings also make explicit new architecture trade‐offs that software architects and stakeholders need to consider as first‐class architecture‐level concerns.
Francesco Alongi, Marcello M. Bersani, Nicolò Ghielmetti, Raffaela Mirandola, Damian A. Tamburri
Softw. Pract. Exp.5
2022 In Search of Socio-Technical Congruence: A Large-Scale Longitudinal Study
abstract
We report on a large-scale empirical study investigating the relevance of socio-technical congruence over key basic software quality metrics, namely, bugs and churn. In particular, we explore whether alignment or misalignment of social communication structures and technical dependencies in large software projects influences software quality. To this end, we have defined a quantitative and operational notion of socio-technical congruence, which we callsocio-technical motif congruence(STMC). STMC is a measure of the degree to which developers working on the same file or on two related files, need to communicate. As socio-technical congruence is a complex and multi-faceted phenomenon, the interpretability of the results is one of our main concerns, so we have employed a careful mixed-methods statistical analysis. In particular, we provide analyses with similar techniques as employed by seminal work in the field to ensure comparability of our results with the existing body of work. The major result of our study, based on an analysis of 25 large open-source projects, is that STMC isnotrelated to project quality measures—software bugs and churn—in any temporal scenario. That is, we find no statistical relationship between the alignment of developer tasks and developer communications on the one hand, and project outcomes on the other hand. We conclude that, wherefore congruence does matter as literature shows, then its measurable effect lies elsewhere.
Wolfgang Mauerer, Mitchell Joblin, Damian A. Tamburri, Carlos V. Paradis, Rick Kazman, Sven Apel
IEEE Trans. Software Eng.3
2022 Within-Project Defect Prediction of Infrastructure-as-Code Using Product and Process Metrics
abstract
Infrastructure-as-code (IaC) is the DevOps practice enabling management and provisioning of infrastructure through the definition of machine-readable files, hereinafter referred to asIaC scripts. Similarly to other source code artefacts, these files may contain defects that can preclude their correct functioning. In this paper, we aim at assessing the role ofproductandprocessmetrics when predicting defective IaC scripts. We propose a fully integrated machine-learning framework for IaC Defect Prediction, that allows for repository crawling, metrics collection, model building, and evaluation. To evaluate it, we analyzed 104 projects and employed five machine-learning classifiers to compare their performance in flagging suspicious defective IaC scripts. The key results of the study reportRandom Forestas the best-performing model, with a median AUC-PR of 0.93 and MCC of 0.80. Furthermore, at least for the collected projects, product metrics identify defective IaC scripts more accurately than process metrics. Our findings put a baseline for investigating IaC Defect Prediction and the relationship between the product and process metrics, and IaC scripts’ quality.
Stefano Dalla Palma, Dario Di Nucci, Fabio Palomba, Damian A. Tamburri
IEEE Trans. Software Eng.4
2021 Technical Debt Impacting Lead-Times: An Exploratory Study
abstract
Background: Technical Debt is a consolidated notion in software engineering research and practice. However, the estimation of its impact (interest of the debt) is still imprecise and requires heavy empirical and experimental inquiry. Objective: We aim at developing a data-driven approach to calculate the interest of Technical Debt in terms of delays in resolving affected tasks.Method: We conducted a case study to estimate the Technical Debt interest by analyzing its association with the lead time variation of resolving related Jira issues.Results: Data-driven approaches could significantly change the Technical Debt estimation and improve the removing Technical Debt prioritization. Our case study shows that the presence of Code Technical Debt did not affect the lead time for resolving the issues.Conclusion: Future works include the further refinement of this approach and its application to a larger data-set and on different type of issues.
Valentina Lenarduzzi, Antonio Martini 0001, Nyyti Saarimäki, Damian A. Tamburri
SEAA4
2021 Cybercrime threat intelligence: A systematic multi-vocal literature review
abstract
Significant cybersecurity and threat intelligence analysts agree that online criminal activity is increasing exponentially. To offer an overview of the techniques and indicators to perform cyber crime detection by means of more complex machine- and deep-learning investigations as well as similar threat intelligence and engineering activities over multiple analysis levels (i.e., surface, deep, and darknets), we systematically analyze state of the art in such techniques. First, to aid the engineering and management of such intelligence solutions. We provide (i) a taxonomy of existing methods mapped to (ii) an overview of detectable criminal activities as well as (iii) an overview of the indicators and risk parameters that can be used for such detection. Second, to find the major engineering and management challenges and variables to be addressed. We apply a Topic Modelling Analysis to identify and analyze the most relevant threat concepts both in Surface and in Deep-, Dark-Web. Third, we identify gaps and challenges, defining a roadmap. Practitioners value and conclusions. The analysis mentioned above effectively provided a photograph of the scientific and practice gaps among the Surface Web and the Deep-, Dark-Web cybercrime and threat engineering and management. More specifically, our systematic literature review shows: (i) the dimensions of risk assessment techniques today available for the aforementioned areas—addressing these is vital for Law-enforcement agencies to combat cybercrime and cyber threats effectively; (ii) what website features should be used in order to identify a cyber threat or attack—researchers and non-governmental organizations in support of Law Enforcement Agencies (LEAs) should cover these features with appropriate technologies to aid in the investigative processes; (iii) what (limited) degree of anonymity is possible when crawling in Deep-, Dark-Web—researchers should strive to fill this gap with more and more advanced degrees of anonymity to grant protection to LEAs during their investigations.
Giuseppe Cascavilla, Damian A. Tamburri, Willem-Jan van den Heuvel
Comput. Secur.2
2021 Blockchain and cryptocurrencies: A classification and comparison of architecture drivers
abstract
Abstract Blockchain is a decentralized transaction and data management solution, the technological leap behind the success of Bitcoin and other cryptocurrencies. As the variety of existing blockchains and distributed ledgers continues to increase, adopters should focus on selecting the solution that best fits their needs and the requirements of their decentralized applications, rather than developing yet another blockchain from scratch. In this article we present a conceptual framework to aid software architects, developers, and decision makers to adopt the right blockchain technology. The framework exposes the interrelation between technological decisions and architectural features, capturing the knowledge from existing academic literature, industrial products, technical forums/blogs, and experts' feedback. We empirically show the applicability of our framework by dissecting the platforms behind Bitcoin and other top 10 cryptocurrencies, aided by a focus group with researchers and industry practitioners. Then, we leverage the framework together with key notions of the architectural tradeoff analysis method to analyze four real‐world blockchain case studies from industry and academia. Results shown that applying our framework leads to a deeper understanding of the architectural tradeoffs, allowing to assess technologies more objectively and select the one that best fit developers' needs, ultimately cutting costs, reducing time‐to‐market and accelerating return on investment.
Martin Garriga, Stefano Dalla Palma, Maximiliano Arias, Alan De Renzis, Remo Pareschi, Damian A. Tamburri
Concurr. Comput. Pract. Exp.6
2021 SODALITE@RT: Orchestrating Applications on Cloud-Edge Infrastructures
abstract
Abstract IoT-based applications need to be dynamically orchestrated on cloud-edge infrastructures for reasons such as performance, regulations, or cost. In this context, a crucial problem is facilitating the work of DevOps teams in deploying, monitoring, and managing such applications by providing necessary tools and platforms. The SODALITE@RT open-source framework aims at addressing this scenario. In this paper, we present the main features of the SODALITE@RT: modeling of cloud-edge resources and applications using open standards and infrastructural code, and automated deployment, monitoring, and management of the applications in the target infrastructures based on such models. The capabilities of the SODALITE@RT are demonstrated through a relevant case study.
Indika Kumara, Paul Mundt, Kamil Tokmakov, Dragan Radolovic, Alexander Maslennikov, Román Sosa, Jorge Fernández-Fabeiro, Giovanni Quattrocchi, Kalman Z. Meth, Elisabetta Di Nitto, Damian A. Tamburri, Willem-Jan van den Heuvel, Georgios Meditskos
J. Grid Comput.11
2021 The do's and don'ts of infrastructure code: A systematic gray literature review
abstract
Infrastructure-as-code (IaC) is the DevOps tactic of managing and provisioning software infrastructures through machine-readable definition files, rather than manual hardware configuration or interactive configuration tools. From a maintenance and evolution perspective, the topic has picked the interest of practitioners and academics alike, given the relative scarcity of supporting patterns and practices in the academic literature. At the same time, a considerable amount of gray literature exists on IaC. Thus we aim to characterize IaC and compile a catalog of best and bad practices for widely used IaC languages, all using gray literature materials. In this paper, we systematically analyze the industrial gray literature on IaC, such as blog posts, tutorials, white papers using qualitative analysis techniques. We proposed a definition for IaC and distilled a broad catalog summarized in a taxonomy consisting of 10 and 4 primary categories for best practices and bad practices, respectively, both language-agnostic and language-specific ones, for three IaC languages, namely Ansible, Puppet, and Chef. The practices reflect implementation issues, design issues, and the violation of/adherence to the essential principles of IaC. Our findings reveal critical insights concerning the top languages as well as the best practices adopted by practitioners to address (some of) those challenges. We evidence that the field of development and maintenance IaC is in its infancy and deserves further attention.
Indika Kumara, Martin Garriga, Angel Urbano Romeu, Dario Di Nucci, Fabio Palomba, Damian A. Tamburri, Willem-Jan van den Heuvel
Inf. Softw. Technol.6
2021 Predicting the emergence of community smells using socio-technical metrics: A machine-learning approach
Fabio Palomba, Damian A. Tamburri
J. Syst. Softw.2
2021 Evolving software forges: An experience report from Apache Allura
abstract
Abstract The open‐source phenomenon has reached unimaginable proportions to a point in which it is virtually impossible to find large applications that do not rely on open‐source as well. However, such proportions may turn into a risk if the organizational and socio‐technical aspects (e.g., the contribution and release schemes) behind open‐source communities are not explicitly supported by open‐source forges by‐design. In an effort to make such aspects explicit and supported by‐design in open‐source forges, we conducted empirical software engineering as follows: (a) Through online industrial surveying, we elicited organizational and social aspects relevant in open‐source communities; (b) through action research, we extended a widely known open‐source support system and top‐level Apache project Allura; (c) through ethnography, we studied the Allura community, and learning from its social and organizational structure, (d) we elicited a metrics framework that support more explicit organizational and socio‐technical design principles around open‐source communities. This article is an experience report on these results and the lessons we learned in obtaining them. We found that the extensions provided to Apache Allura formed the basis for community awareness by design, providing valuable and usable community characteristics. Ultimately, however, the extensions we provided to Apache Allura were deactivated by its core developers because of performance overheads. Our results and lessons learned allow us to provide recommendations for designing forges, like Github. Architecting a forge is a participatory process that requires active engagement, hence remarking the need for mechanisms enabling it. At the same time, we conclude that a more active support for the governance is required to avoid the failure of the forge.
Damian A. Tamburri, Fabio Palomba
J. Softw. Evol. Process.1
2021 DataOps for Cyber-Physical Systems Governance: The Airport Passenger Flow Case
abstract
Recent advancements in information technology have ushered a new wave of systems integrating Internet technology with sensing, wireless communication, and computational resources over existing infrastructures. As a result, myriad complex, non-traditional Cyber-Physical Systems (CPS) have emerged, characterized by interaction among people, physical facilities, and embedded sensors and computers, all generating vast amounts of complex data. Such a case is encountered within a contemporary airport hall setting: passengers roaming, information systems governing various functions, and data being generated and processed by cameras, phones, sensors, and other Internet of Things technology. This setting has considerable potential of contributing to goals entertained by the CPS operators, such as airlines, airport operators/owners, technicians, users, and more. We model the airport setting as an instance of such a complex, data-intensive CPS where multiple actors and data sources interact, and generalize a methodology to support it and other similar systems. Furthermore, this article instantiates the methodology and pipeline for predictive analytics for passenger flow, as a characteristic manifestation of such systems requiring a tailored approach. Our methodology also draws from DataOps principles, using multi-modal and real-life data to predict the underlying distribution of the passenger flow on a flight-level basis (improving existing day-level predictions), anticipating when and how the passengers enter the airport and move through the check-in and baggage drop-off process. This allows to plan airport resources more efficiently while improving customer experience by avoiding passenger clumping at check-in and security. We demonstrate results obtained over a case from a major international airport in the Netherlands, improving up to 60% upon predictions of daily passenger flow currently in place.
Martin Garriga, Koen Aarns, Christos Tsigkanos, Damian A. Tamburri, Willem-Jan van den Heuvel
ACM Trans. Internet Techn.4
2021 StreamGen: Model-driven Development of Distributed Streaming Applications
abstract
Distributed streaming applications, i.e., applications that process massive streams of data in a distributed fashion, are becoming increasingly popular to tame the velocity and the volume of Big Data . Nevertheless, the widespread adoption of data-intensive processing is still limited by the non-trivial design paradigms involved, which deal with the unboundedness and volume of involved data streams and by the many distributed streaming platforms, each with its own characteristics and APIs. In this article, we present StreamGen, a Model-Driven Engineering tool to simplify the design of such streaming applications and automatically generate the corresponding code. StreamGen is able to automatically generate fully working and processing-ready code for different target platforms (e.g., Apache Spark, Apache Flink). Evaluation shows that (i) StreamGen is general enough to model and generate the code, offering comparable performance against a preexisting similar and well-known application; (ii) the tool is fully compliant with streaming concepts defined as part of the Google Dataflow Model; and (iii) users with little computer science background and limited experience with big data have been able to work with StreamGen and create/refactor an application in a matter of minutes.
Michele Guerriero, Damian A. Tamburri, Elisabetta Di Nitto
ACM Trans. Softw. Eng. Methodol.2
2021 Beyond Technical Aspects: How Do Community Smells Influence the Intensity of Code Smells?
abstract
Code smells are poor implementation choices applied by developers during software evolution that often lead to critical flaws or failure. Much in the same way, community smells reflect the presence of organizational and socio-technical issues within a software community that may lead to additional project costs. Recent empirical studies provide evidence that community smells are often-if not always-connected to circumstances such as code smells. In this paper we look deeper into this connection by conducting a mixed-methods empirical study of 117 releases from 9 open-source systems. The qualitative and quantitative sides of our mixed-methods study were run in parallel and assume a mutually-confirmative connotation. On the one hand, we survey 162 developers of the 9 considered systems to investigate whether developers perceive relationship between community smells and the code smells found in those projects. On the other hand, we perform a fine-grained analysis into the 117 releases of our dataset to measure the extent to which community smells impact code smell intensity (i.e., criticality). We then propose a code smell intensity prediction model that relies on both technical and community-related aspects. The results of both sides of our mixed-methods study lead to one conclusion: community-related factors contribute to the intensity of code smells. This conclusion supports the joint use of community and code smells detection as a mechanism for the joint management of technical and social problems around software development communities.
Fabio Palomba, Damian A. Tamburri, Francesca Arcelli Fontana, Rocco Oliveto, Andy Zaidman, Alexander Serebrenik
IEEE Trans. Software Eng.2
2021 Exploring Community Smells in Open-Source: An Automated Approach
abstract
Software engineering is now more than ever a community effort. Its success often weighs on balancing distance, culture, global engineering practices and more. In this scenario many unforeseen socio-technical events may result into additional project cost or “social” debt, e.g., sudden, collective employee turnover. With industrial research we discovered community smells, that is, sub-optimal patterns across the organisational and social structure in a software development community that are precursors of such nasty socio-technical events. To understand the impact of community smells at large, in this paper we first introduce CodeFace4Smells, an automated approach able to identify four community smell types that reflect socio-technical issues that have been shown to be detrimental both the software engineering and organisational research fields. Then, we perform a large-scale empirical study involving over 100 years worth of releases and communication structures data of 60 open-source communities: we evaluate (i) their diffuseness, i.e., how much are they distributed in open-source, (ii) how developers perceive them, to understand whether practitioners recognize their presence and their negative effects in practice, and (iii) how community smells relate to existing socio-technical factors, with the aim of assessing the inter-relations between them. The key findings of our study highlight that community smells are highly diffused in open-source and are perceived by developers as relevant problems for the evolution of software communities. Moreover, a number of state-of-the-art socio-technical indicators (e.g., socio-technical congruence) can be used to monitor how healthy a community is and possibly avoid the emergence of social debt.
Damian A. Tamburri, Fabio Palomba, Rick Kazman
IEEE Trans. Software Eng.1
2020 Counterterrorism for Cyber-Physical Spaces: A Computer Vision Approach
abstract
Simulating terrorist scenarios in cyber-physical spaces---that is, urban open or (semi-) closed spaces combined with cyber-physical systems counterparts---is challenging given the context and variables therein. This paper addresses the aforementioned issue with ALTer a framework featuring computer vision and Generative Adversarial Neural Networks (GANs) over terrorist scenarios. We obtained the data for the terrorist scenarios by creating a synthetic dataset, exploiting the Grand Theft Auto V (GTAV) videogame, and the Unreal Game Engine behind it, in combination with OpenStreetMap data. The results of the proposed approach show its feasibility to predict criminal activities in cyber-physical spaces. Moreover, the usage of our synthetic scenarios elicited from GTAV is promising in building datasets for cybersecurity and Cyber-Threat Intelligence (CTI) featuring simulated video gaming platforms. We learned that local authorities can simulate terrorist scenarios for their cities based on previous or related reference and this helps them in 3 ways: (1) better determine the necessary security measures; (2) better use the expertise of the authorities; (3) refine preparedness scenarios and drills for sensitive areas.
Giuseppe Cascavilla, Johann Slabber, Fabio Palomba, Dario Di Nucci, Damian A. Tamburri, Willem-Jan van den Heuvel
AVI5
2020 Refactoring Recommendations Based on the Optimization of Socio-Technical Congruence
abstract
Software development is known to be a social activity that involves developers, project managers, and stakeholders. Recent studies have proved a direct relation between social and technical aspects, e.g., poor coordination among developers may lead to an increase of technical debt in source code. The so-called socio-technical congruence measures the level of coordination existing in an organization at their different levels. In this late-breaking idea paper, we propose a novel way to employ the socio-technical congruence in the context of source code quality improvement: we design a community-based refactoring recommendation approach that aims at optimizing socio-technical congruence while keeping into account the source code dependencies among the components of a software project. A search-based algorithm is employed to this purpose and we envision the novel approach to be suitable for providing Extract Class and Extract Package refactoring recommendations.
Manuel De Stefano, Fabiano Pecorelli, Damian A. Tamburri, Fabio Palomba, Andrea De Lucia
ICSME3
2020 Automated Quality Assessment of Incident Tickets for Smart Service Continuity
Luciano Baresi, Giovanni Quattrocchi, Damian A. Tamburri, Willem-Jan van den Heuvel
ICSOC3
2020 OpenSZZ: A Free, Open-Source, Web-Accessible Implementation of the SZZ Algorithm
abstract
The 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
ICPC4
2020 Cloud applications monitoring: An industrial study
abstract
Modern software systems employ large IT infrastructures hosted in on-premise clouds or using “rented” cloud resources from specific vendors. The unifying force across any cloud strategy is incremental product and application improvement against conservation of those resources. This is where monitoring of cloud applications becomes a key asset To shed light over the status of monitoring practices in industry, we study: (a) monitoring practices and tools adoption in industry; (b) size and complexity of industrial monitoring problems; (c) the role of software architecture and software process with respect to monitoring strategies. We conduct mixed-methods empirical research featuring interviews and a web survey featuring 140+ practitioners from over 70 different organizations. Even if the market makes available a significant set of monitoring tools, our results show a rather unappealing picture of industrial monitoring: (a) industrial decision-makers do not perceive monitoring as a key asset even though the downtime of their applications correlates heavily with the level of automation and responsiveness enabled by monitoring; (b) monitoring is done with crude technology, mostly MySQL querying or similar (e.g., Nagios); finally, (c) incidents are discovered by clients rather than application owners. We conclude that the road toward the industrial adoption of cutting-edge monitoring technology is still one of the less travelled, presumably in connection to the considerable investment required. Furthermore, the lack of industrial cloud monitoring standards does not help in addressing the proliferation of multiple tool combinations, with varying effectiveness. Further research should be invested in looking into and addressing these major concerns.
Damian A. Tamburri, Marco Miglierina, Elisabetta Di Nitto
Inf. Softw. Technol.1
2020 Design principles for the General Data Protection Regulation (GDPR): A formal concept analysis and its evaluation
abstract
Data and software are nowadays one and the same: for this very reason, the European Union (EU) and other governments introduce frameworks for data protection — a key example being the General Data Protection Regulation (GDPR). However, GDPR compliance is not straightforward: its text is not written by software or information engineers but rather, by lawyers and policy-makers. As a design aid to information engineers aiming for GDPR compliance, as well as an aid to software users’ understanding of the regulation, this article offers a systematic synthesis and discussion of it, distilled by the mathematical analysis method known as Formal Concept Analysis (FCA). By its principles, GDPR is synthesised as a concept lattice, that is, a formal summary of the regulation, featuring 144372 records — its uses are manifold. For example, the lattice captures so-called attribute implications, the implicit logical relations across the regulation, and their intensity. These results can be used as drivers during systems and services (re-)design, development, operation, or information systems’ refactoring towards more GDPR consistency.
Damian A. Tamburri
Inf. Syst.1
2020 Toward a catalog of software quality metrics for infrastructure code
abstract
Infrastructure-as-code (IaC) is a practice to implement continuous deployment by allowing management and provisioning of infrastructure through the definition of machine-readable files and automation around them, rather than physical hardware configuration or interactive configuration tools. On the one hand, although IaC represents an ever-increasing widely adopted practice nowadays, still little is known concerning how to best maintain, speedily evolve, and continuously improve the code behind the IaC practice in a measurable fashion. On the other hand, source code measurements are often computed and analyzed to evaluate the different quality aspects of the software developed. However, unlike general-purpose programming languages (GPLs), IaC scripts use domain-specific languages, and metrics used for GPLs may not be applicable for IaC scripts. This article proposes a catalog consisting of 46 metrics to identify IaC properties focusing on Ansible, one of the most popular IaC language to date, and shows how they can be used to analyze IaC scripts.
Stefano Dalla Palma, Dario Di Nucci, Fabio Palomba, Damian A. Tamburri
J. Syst. Softw.4
2020 "The Canary in the Coal Mine..." A cautionary tale from the decline of SourceForge
abstract
Summary Forges are online collaborative platforms to support the development of distributed open source software. While once mighty keepers of open source vitality, software forges are rapidly becoming less and less relevant. For example, of the top 10 forges in 2011, only one survives today—SourceForge—the biggest of them all, but its numbers are dropping and its community is tenuous at best. Through mixed‐methods research, this article chronicles and analyze the software practice and experiences of the project's history—in particular its architectural and community/organizational decisions. We discovered a number of suboptimal social and architectural decisions and circumstances that, may have led to SourceForge's demise. In addition, we found evidence suggesting that the impact of such decisions could have been monitored, reduced, and possibly avoided altogether. The use of sociotechnical insights needs to become a basic set of design and software/organization monitoring principles that tell a cautionary tale on what to measure and what not to do in the context of large‐scale software forge and community design and management.
Damian A. Tamburri, Kelly Blincoe, Fabio Palomba, Rick Kazman
Softw. Pract. Exp.1
2019 Adoption, Support, and Challenges of Infrastructure-as-Code: Insights from Industry
abstract
Infrastructure-as-code (IaC) is the DevOps tactic of managing and provisioning infrastructure through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools. From a maintenance and evolution perspective, the topic has picked the interest of practitioners and academics alike, given the relative scarcity of supporting patterns, best practices, tools, and software engineering techniques. Using the data coming from 44 semistructured interviews to senior developers of as many companies, in this paper we shed light on the state of the practice in the adoption of IaC and the key software engineering challenges in the field. Particularly, we investigate (i) how practitioners adopt and develop IaC, (ii) which support is currently available, i.e., the typically used tools and their advantages/disadvantages, and (iii) what are the practitioner's needs when dealing with IaC development, maintenance, and evolution. Our findings clearly highlight the need for more research in the field: the support provided by currently available tools is still limited, and developers feel the need of novel techniques for testing and maintaining IaC code.
Michele Guerriero, Martin Garriga, Damian A. Tamburri, Fabio Palomba
ICSME3
2019 Discovering community patterns in open-source: a systematic approach and its evaluation
abstract
“There can be no vulnerability without risk; there can be no community without vulnerability; there can be no peace, and ultimately no life, without community.” - [M. Scott Peck] The open-source phenomenon has reached the point in which it is virtually impossible to find large applications that do not rely on it. Such grand adoption may turn into a risk if the community regulatory aspects behind open-source work (e.g., contribution guidelines or release schemas) are left implicit and their effect untracked. We advocate the explicit study and automated support of such aspects and propose Yoshi ( Y ielding O pen- S ource H ealth I nformation), a tool able to map open-source communities onto community patterns , sets of known organisational and social structure types and characteristics with measurable core attributes. This mapping is beneficial since it allows, for example, (a) further investigation of community health measuring established characteristics from organisations research, (b) reuse of pattern-specific best-practices from the same literature, and (c) diagnosis of organisational anti-patterns specific to open-source, if any. We evaluate the tool in a quantitative empirical study involving 25 open-source communities from GitHub, finding that the tool offers a valuable basis to monitor key community traits behind open-source development and may form an effective combination with web-portals such as OpenHub or Bitergia. We made the proposed tool open source and publicly available.
Damian A. Tamburri, Fabio Palomba, Alexander Serebrenik, Andy Zaidman
Empir. Softw. Eng.1
2019 A UML Profile for the Design, Quality Assessment and Deployment of Data-intensive Applications
Diego Perez-Palacin, José Merseguer, José Ignacio Requeno, Michele Guerriero, Elisabetta Di Nitto, Damian A. Tamburri
Softw. Syst. Model.6
2019 SDSN@RT: A middleware environment for single-instance multitenant cloud applications
abstract
Summary With the single‐instance multitenancy (SIMT) model for composite Software‐as‐a‐Service (SaaS) applications, a single composite application instance can host multiple tenants, yielding the benefits of better service and resource utilization and reduced operational cost for the SaaS provider. An SIMT application needs to share services and their aggregation (the application) among its tenants while supporting variations in the functional and performance requirements of the tenants. The SaaS provider requires a middleware environment that can deploy, enact, and manage a designed SIMT application, to achieve the varied requirements of the different tenants in a controlled manner. This paper presents the SDSN@RT (software‐defined service networks at runtime) middleware environment that can meet the aforementioned requirements. SDSN@RT represents an SIMT composite cloud application as a multitenant service network, where the same service network simultaneously hosts a set of virtual service networks, one for each tenant. A service network connects a set of services and coordinates the interactions between them. A virtual service network realizes the requirements for a specific tenant and can be deployed, configured, and logically isolated in the service network at runtime. SDSN@RT also supports the monitoring and runtime changes of the deployed multitenant service networks. We show the feasibility of SDSN@RT with a prototype implementation and demonstrate its capabilities to host SIMT applications and support their changes with a case study. The performance study of the prototype implementation shows that the runtime capabilities of our middleware incur little overhead.
Indika Kumara, Jun Han 0004, Alan W. Colman, Willem-Jan van den Heuvel, Damian A. Tamburri, Malinda Kapuruge
Softw. Pract. Exp.5
2019 Software Architecture Social Debt: Managing the Incommunicability Factor
abstract
Architectural technical debt is the additional project cost connected to technical issues nested in software architectures. Similarly, many practitioners have already experienced that there exists within software architectures a form of social debt, that is, the additional project cost connected to sociotechnical and organizational issues evident in or related to software architectures. This paper illustrates four recurrent antipatterns or community smells connected to such architectural social debt and outlines a means to measure the additional project cost connected to their underlying cause: decision incommunicability. Evaluating the results in multiple focus groups, this paper concludes that studying social debt and community smells at the architecture level may prove vital to rid software development communities of critical organizational flaws incurring considerable additional cost.
Damian A. Tamburri
IEEE Trans. Comput. Soc. Syst.1
2018 Infrastructure-as-Code for Data-Intensive Architectures: A Model-Driven Development Approach
abstract
As part of the DevOps tactics, Infrastructure-as-Code (IaC) provides the ability to create, configure, and manage complex infrastructures by means of executable code. Writing IaC, however, is not an easy task, since it requires blending different infrastructure programming languages and abstractions, each specialized on a particular aspect of infrastructure creation, configuration, and management. Moreover, the more the architectures become large and complex (e.g. Data-Intensive or Microservice-based architectures), the more dire the need of IaC becomes. The goal of this paper is to exploit Model-Driven Engineering (MDE) to create language-agnostic models that are then automatically transformed into IaC. We focus on the domain of Data-Intensive Applications as these typically exploit complex infrastructures which demand sophisticated and fine-grained configuration and re-configuration - we show that, through our approach, called DICER, it is possible to create complex IaC with significant amounts of time savings, both in IaC design as well as deployment and re-deployment times.
Matej Artac, Tadej Borovsak, Elisabetta Di Nitto, Michele Guerriero, Diego Perez-Palacin, Damian A. Tamburri
ICSA6
2018 Detecting code smells using machine learning techniques: Are we there yet?
abstract
Code smells are symptoms of poor design and implementation choices weighing heavily on the quality of produced source code. During the last decades several code smell detection tools have been proposed. However, the literature shows that the results of these tools can be subjective and are intrinsically tied to the nature and approach of the detection. In a recent work the use of Machine-Learning (ML) techniques for code smell detection has been proposed, possibly solving the issue of tool subjectivity giving to a learner the ability to discern between smelly and non-smelly source code elements. While this work opened a new perspective for code smell detection, it only considered the case where instances affected by a single type smell are contained in each dataset used to train and test the machine learners. In this work we replicate the study with a different dataset configuration containing instances of more than one type of smell. The results reveal that with this configuration the machine learning techniques reveal critical limitations in the state of the art which deserve further research.
Dario Di Nucci, Fabio Palomba, Damian A. Tamburri, Alexander Serebrenik, Andrea De Lucia
SANER3
2018 General methods for software architecture recovery: a potential approach and its evaluation
Damian A. Tamburri, Rick Kazman
Empir. Softw. Eng.1
2018 The pains and gains of microservices: A Systematic grey literature review
Jacopo Soldani, Damian A. Tamburri, Willem-Jan van den Heuvel
J. Syst. Softw.2
2018 Microservices migration patterns
abstract
Summary Microservices architectures are becoming the defacto standard for building continuously deployed systems. At the same time, there is a substantial growth in the demand for migrating on‐premise legacy applications to the cloud. In this context, organizations tend to migrate their traditional architectures into cloud‐native architectures using microservices. This article reports a set of migration and rearchitecting design patterns that we have empirically identified and collected from industrial‐scale software migration projects. These migration patterns can help information technology organizations plan their migration projects toward microservices more efficiently and effectively. In addition, the proposed patterns facilitate the definition of migration plans by pattern composition. Qualitative empirical research is used to evaluate the validity of the proposed patterns. Our findings suggest that the proposed patterns are evident in other architectural refactoring and migration projects and strong candidates for effective patterns in system migrations.
Armin Balalaie, Abbas Heydarnoori, Pooyan Jamshidi, Damian A. Tamburri, Theo Lynn
Softw. Pract. Exp.4
2016 Continuous Architecting of Stream-Based Systems
abstract
Big data architectures have been gaining momentum in recent years. For instance, Twitter uses stream processing frameworks like Storm to analyse billions of tweets per minute and learn the trending topics. However, architectures that process big data involve many different components interconnected via semantically different connectors making it a difficult task for software architects to refactor the initial designs. As an aid to designers and developers, we developed OSTIA (On-the-fly Static Topology Inference Analysis) that allows: (a) visualising big data architectures for the purpose of design-time refactoring while maintaining constraints that would only be evaluated at later stages such as deployment and run-time, (b) detecting the occurrence of common anti-patterns across big data architectures, (c) exploiting software verification techniques on the elicited architectural models. This paper illustrates OSTIA and evaluates its uses and benefits on three industrial-scale case studies.
Marcello M. Bersani, Francesco Marconi, Damian A. Tamburri, Pooyan Jamshidi, Andrea Nodari
WICSA3
2015 On the Social Dimensions of Architectural Decisions
Henry Muccini, Damian A. Tamburri, V. Smrithi Rekha
ECSA2
2015 When Software Architecture Leads to Social Debt
abstract
Social and technical debt both represent the state of software development organizations as a result of accumulated decisions. In the case of social debt, decisions (and connected debt) weigh on people and their socio-technical interactions/characteristics. Digging deeper into social debt with an industrial case-study, we found that software architecture, the prince of development artefacts, plays a major role in causing social debt. This paper discusses a key circumstance wherefore social debt is connected to software architectures and what can be done and measured in response, as observed in our case-study. Also, we introduce DAHLIA, that is "Debt-Aimed Architecture-Level Incommunicability Analysis" - a framework to elicit some of the causes behind social debt for further analysis.
Damian A. Tamburri, Elisabetta Di Nitto
WICSA1
2014 Architecting in Networked Organizations
abstract
The context of software architecting increasingly reflects webs of IT companies pooling resources together for software development. What results is a networked organization, populated by heterogeneous development communities connected via internet. How does this scenario change the process of software architecting? Pivoting around this research question, this paper presents architecture concerns relevant in such networked development scenarios. Supporting these concerns is critical to understand the impact of architecture on organizational change and vice versa. To this aim, we introduce a viewpoint, its supporting tool and evaluate both through a case-study.
Damian A. Tamburri, Patricia Lago, Christoph Mayr-Dorn, Rich Hilliard
WICSA1
2013 Teaching software design with social engagement
abstract
Software designers constantly mediate with various stakeholders, agree with requirement engineers and interact with coders. Software design is a socially-intensive activity. Teaching software design should be equally socially-intensive. However academic courses still lack a beneficial balance between theory, practice and social engagement. This paper provides details on how we address this problem in our course on software design. The course is designed to engage students with real-life projects and using peer-review sessions within collaborative team clusters. These instruments embed the social conditions of software design within the students' learning process. We show the effectiveness of the course by discussing student evaluations.
Damian A. Tamburri, Maryam Razavian, Patricia Lago
CSEE&T1
2013 Service networks for development communities
abstract
Communities of developers have rapidly become global, encompassing multiple timezones and cultures alike. In previous work we investigated the possible shapes of communities for software development. In addition, we explored mechanisms to uncover communities emerging during development. However, we barely scratched the surface. We found that development communities yield properties of dynamic change and organic evolution. Much work is still needed to support such communities with mechanisms able to proactively react to community dynamism. We argue that service-networks can be used to deliver this support. Service-networks are sets of people and information brought together by the internet. This paper is a first attempt at studying this research area by means of a real-life case-study in a large global software development organisation.
Damian A. Tamburri, Patricia Lago, Hans van Vliet
ICSE1
2012 On the Nature of GSE Organizational Social Structures: An Empirical Study
abstract
In Global Software Engineering (GSE), people are organized in teams, distanced in space, time and culture. Organizational research calls this interplay of people an Organizational Social Structure (OSS). Previous literature in GSE shows that its OSS is highly dynamic and unpredictable. This paper presents a mapping of OSS types onto GSE organizational factors, based on empirical evidence. We made two observations: first, current OSS types don't support factors related to GSE process management and organizational efficiency (e.g. risk management, language, etc.). Second, OSSs in GSE have attributes which don't map onto any GSE factor, rather introduce a new one, awareness management (e.g. awareness of skills to others, awareness of tasks, tasks (re-)localization, etc.). Our conclusions are twofold. First, OSSs for GSE should focus on increasing support to process management and organizational efficiency. Lastly, research in GSE should include factors focusing on awareness management.
Damian A. Tamburri, Patricia Lago, Hans van Vliet, Elisabetta Di Nitto
ICGSE1
2012 Going global with agile service networks
abstract
ASNs are emergent networks of service-based applications (nodes) which collaborate through agile (i.e. adaptable) transactions. GSE comprises the management of project teams distanced in both space and time, collaborating in the same development effort. The GSE condition poses challenges both technical (e.g. geolocalization of resources, information continuity between timezones, etc.) and social (e.g. collaboration between different cultures, fear of competition, etc.). ASNs can be used to build an adaptable social network (ASNGSE) supporting the collaborations (edges of ASNGSE) of GSE teams (nodes of ASNGSE).
Damian A. Tamburri
ICSE1
2011 Supporting Communication and Cooperation in Global Software Development with Agile Service Networks
Damian A. Tamburri, Patricia Lago
ECSA1
2011 Satisfying Cloud Computing Requirements with Agile Service Networks
abstract
Cloud computing is an emerging paradigm able of flexibly offering IT resources and services over the Internet. Cloud computing's high flexibility needs novel software engineering approaches, and technologies to deliver agile, flexible, scalable yet secure software solutions with full technical (e.g. QoS, service continuity etc.) and business gain (e.g. profit, corporate value, utility etc.). Agile Service Networks are themselves an emerging paradigm envisioning collaborative and dynamic service interactions (network edges) among global service-oriented applications (network nodes). We argue that Agile Service Networks can be used as a paradigm for software engineering in the cloud, since they are indeed able to deliver solutions which are both compliant to the cloud's needs and able to harness it, bringing about its full potential. In this paper we identify requirements for the cloud, and show how these can be satisfied using Agile Service Networks.
Damian A. Tamburri, Patricia Lago
SERVICES1
2010 Providing Architectural Languages and Tools Interoperability through Model Transformation Technologies
abstract
Many architectural languages have been proposed in the last 15 years, each one with the chief aim of becoming the ideal language for specifying software architectures. What is evident nowadays, instead, is that architectural languages are defined by stakeholder concerns. Capturing all such concerns within a single, narrowly focused notation is impossible. At the same time, it is also impractical to define and use a "universal" notation, such as UML. As a result, many domain-specific notations for architectural modeling have been proposed, each one focusing on a specific application domain, analysis type, or modeling environment. As a drawback, a proliferation of languages exists, each one with its own specific notation, tools, and domain specificity. No effective interoperability is possible to date. Therefore, if a software architect has to model a concern not supported by his own language/tool, he has to manually transform (and, eventually, keep aligned) the available architectural specification into the required language/tool. This paper presents DUALLy, an automated framework that allows architectural languages and tools interoperability. Given a number of architectural languages and tools, they can all interoperate thanks to automated model transformation techniques. DUALLy is implemented as an Eclipse plugin. Putting it in practice, we apply the DUALLy approach to the Darwin/FSP ADL and to a UML2.0 profile for software architectures. By making use of an industrial complex system, we transform a UML software architecture specification in Darwin/FSP, make some verifications by using LTSA, and reflect changes required by the verifications back to the UML specification.
Ivano Malavolta, Henry Muccini, Patrizio Pelliccione, Damian A. Tamburri
IEEE Trans. Software Eng.4