- Software Engineering Research
- Software System Performance and Reliability
- Software Engineering Techniques and Practices
- Open Source Software Innovations
- Service-Oriented Architecture and Web Services
- Cloud Computing and Resource Management
- Advanced Software Engineering Methodologies
- Software Reliability and Analysis Research
- Business Process Modeling and Analysis
- Scientific Computing and Data Management
- Data Quality and Management
- Advanced Malware Detection Techniques
- IoT and Edge/Fog Computing
- Big Data and Business Intelligence
- Blockchain Technology Applications and Security
- Privacy-Preserving Technologies in Data
- Privacy, Security, and Data Protection
- Knowledge Management and Sharing
- Anomaly Detection Techniques and Applications
- Distributed systems and fault tolerance
- Digital Platforms and Economics
- Digital Transformation in Industry
- Service-Learning and Community Engagement
- Diverse Educational Innovations Studies
- Software Testing and Debugging Techniques
University of Salerno
2022-2025
University of Sannio
2017-2025
Eindhoven University of Technology
2018-2024
Politecnico di Milano
2015-2024
Arq Psychotrauma Expert Group
2019-2024
Tilburg University
2018-2024
NXP (Germany)
2024
Robert Bosch (Taiwan)
2023
HAS green academy
2022
Expertise Center Vocational Education
2019-2022
Code smells are symptoms of poor design and implementation choices weighing heavily on the quality produced source code. During last decades several code smell detection tools have been proposed. However, literature shows that results these can be subjective intrinsically tied to nature approach detection. In a recent work use Machine-Learning (ML) techniques for has proposed, possibly solving issue tool subjectivity giving learner ability discern between smelly non-smelly elements. While...
Summary Microservices architectures are becoming the defacto standard for building continuously deployed systems. At same time, there is a substantial growth in demand migrating on‐premise legacy applications to cloud. In this context, organizations tend migrate their traditional into cloud‐native using microservices. This article reports set of migration and rearchitecting design patterns that we have empirically identified collected from industrial‐scale software projects. These can help...
As social as software engineers are, there is a known and established gender imbalance in our community structures, regardless of their open-or closed-source nature. To shed light on the actual benefits achieving such balance, this empirical study looks into relations between balance occurrence smells, that is, sub-optimal circumstances patterns across organizational structure. Examples smells are Organizational Silo effects (overly disconnected sub-groups) or Lone Wolves (defiant members)....
Code smells are sub-optimal coding circumstances such as blob classes or spaghetti code - they have received much attention and tooling in recent software engineering research. Higher-up the abstraction level, architectural problems patterns other design-level characteristics. These significantly less even though usually considered more critical than smells, harder to detect, remove, refactor. This paper describes an open-source tool called Arcan developed for detection of through evaluation...
Social debt is analogous to technical in many ways: it represents the state of software development organisations as result “accumulated” decisions. In case social debt, decisions are about people and their interactions. Our objective was study causality around practice. so doing, we conducted exploratory qualitative research a large company. We found forces together causing debt; represented them framework, captured anti-patterns that led first place. Finally, elicited best practices...
DevOps entails a series of software engineering tactics aimed at shortening the actionable operation design changes. One these is to harness infrastructure-as-code, that is, writing blueprint contains deployment specifications ready for orchestration in cloud. This abstract briefly discusses all necessary elements and abstractions maintaining blueprint, revolving around key standard its expression, namely, OASIS "Topology Orchestration Specification Cloud Applications" (TOSCA) industrial...
Data and software are nowadays one the same: for this very reason, European Union (EU) other governments introduce frameworks data protection — a key example being General Protection Regulation (GDPR). However, GDPR compliance is not straightforward: its text written by or information engineers but rather, lawyers policy-makers. As design aid to aiming compliance, as well an users' understanding of regulation, article offers systematic synthesis discussion it, distilled mathematical analysis...
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 tools. From a maintenance evolution perspective, topic has picked interest practitioners academics alike, given relative scarcity supporting patterns, best practices, tools, software engineering techniques. Using data coming from 44 semistructured interviews to senior developers as many companies,...
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 reflect presence of organizational and socio-technical issues within a may additional project costs. Recent empirical studies provide evidence often-if not always-connected circumstances such as code smells. In this paper we look deeper into connection conducting mixed-methods study 117 releases from 9 open-source systems....
Software engineering is now more than ever a community effort. Its success often weighs on balancing distance, culture, global 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 smells, that is, sub-optimal patterns across the organisational social structure in software development are precursors of such nasty events. To...
Empirical Standards are natural-language models of a scientific community's expectations for specific kind study (e.g. questionnaire survey). The ACM SIGSOFT Paper and Peer Review Quality Initiative generated empirical standards research methods commonly used in software engineering. These living documents, which should be continuously revised to reflect evolving consensus around best practices, will improve quality make peer review more effective, reliable, transparent fair.
Significant cybersecurity and threat intelligence analysts agree that online criminal activity is increasing exponentially. To offer an overview of the techniques indicators to perform cyber crime detection by means more complex machine- deep-learning investigations as well similar engineering activities over multiple analysis levels (i.e., surface, deep, darknets), we systematically analyze state art in such techniques. First, aid management solutions. We provide (i) a taxonomy existing...
Even simply through a GoogleTrends search it becomes clear that Machine-Learning Operations-or MLOps, for short-are climbing in interest from both scientific and practical perspective. On the one hand, software components middleware are proliferating to support all manners of AutoML (i.e., which enables developers with limited machine-learning expertise train high-quality models specific their domain or data) feature-specific ML engineering, e.g., Explainability Interpretability. other more...
"Social debt" in software engineering informally refers to unforeseen project cost connected a "suboptimal" development community. The causes of suboptimal communities can be many, ranging from global distance organisational barriers wrong or uninformed socio-technical decisions (i.e., that influence both social and technical aspects development). Much like debt, debt impacts heavily on success. We argue that, ensure quality engineering, practitioners should provided with mechanisms detect...
Many architectural languages have been proposed in the last 15 years, each one with chief aim of becoming ideal language for specifying software architectures. What is evident nowadays, instead, that are defined by stakeholder concerns. Capturing all such concerns within a single, narrowly focused notation impossible. At same time, it also impractical to define and use "universal" notation, as UML. As result, many domain-specific notations modeling proposed, focusing on specific application...
Software architects don't just design architecture components or champion qualities; they often must guide and harmonize the entire community of project stakeholders. The community-shepherding aspects architect's role have been gaining attention, given increasing importance complex "organizational rewiring" scenarios such as DevOps, open source strategies, transitions to agile development, corporate acquisitions. In these scenarios, would benefit by having effective models align communities...
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 community regulatory aspects behind work (e.g., contribution guidelines or release schemas) are left implicit and their effect untracked. We advocate explicit study automated support of such propose Yoshi (Y ielding O pen-S ource H ealth I nformation), tool able map communities onto patterns, sets known...
Infrastructure-as-code (IaC) is a practice to implement continuous deployment by allowing management and provisioning of infrastructure through the definition machine-readable files automation around them, rather than physical hardware configuration or interactive tools. On one hand, although IaC represents an ever-increasing widely adopted nowadays, still little known concerning how best maintain, speedily evolve, continuously improve code behind in measurable fashion. other source...
Abstract Blockchain is a decentralized transaction and data management solution, the technological leap behind success of Bitcoin other cryptocurrencies. As variety existing blockchains distributed ledgers continues to increase, adopters should focus on selecting solution that best fits their needs requirements applications, rather than developing yet another blockchain from scratch. In this article we present conceptual framework aid software architects, developers, decision makers adopt...
Emerging serverless computing technologies, such as function a service (FaaS), enable developers to virtualize the internal logic of an application, simplifying management cloud-native services and allowing cost savings through billing scaling at level individual functions. Serverless is therefore rapidly shifting attention software vendors challenge developing cloud applications deployable on FaaS platforms. In this vision paper, we present research agenda RADON project (...
Infrastructure-as-code (IaC) is the DevOps practice enabling management and provisioning of infrastructure through definition machine-readable files, hereinafter referred to as <italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">IaC scripts</i> . Similarly other source code artefacts, these files may contain defects that can preclude their correct functioning. In this paper, we aim at assessing role...