- Software System Performance and Reliability
- Software Reliability and Analysis Research
- Advanced Software Engineering Methodologies
- Petri Nets in System Modeling
- Software Testing and Debugging Techniques
- Formal Methods in Verification
- Software Engineering Research
- Cloud Computing and Resource Management
- Distributed systems and fault tolerance
- Safety Systems Engineering in Autonomy
- Service-Oriented Architecture and Web Services
- Business Process Modeling and Analysis
- Ethics and Social Impacts of AI
- Adversarial Robustness in Machine Learning
- Explainable Artificial Intelligence (XAI)
- Model-Driven Software Engineering Techniques
- Scientific Computing and Data Management
- IoT and Edge/Fog Computing
- Real-Time Systems Scheduling
- Distributed and Parallel Computing Systems
- Simulation Techniques and Applications
- Advanced Database Systems and Queries
- Logic, programming, and type systems
- Regional resilience and development
- Advanced Malware Detection Techniques
Politecnico di Milano
2023-2025
Free University of Bozen-Bolzano
2019-2022
Universität Innsbruck
2022
Fondazione Bruno Kessler
2022
Fraunhofer Italia Research
2022
Blekinge Institute of Technology
2022
University of Milan
2012-2019
Language is a deep-rooted means of perpetration stereotypes and discrimination. Large Models (LLMs), now pervasive technology in our everyday lives, can cause extensive harm when prone to generating toxic responses. The standard way address this issue align the LLM, which, however, dampens without constituting definitive solution. Therefore, testing LLM even after alignment efforts remains crucial for detecting any residual deviations with respect ethical standards. We present EvoTox, an...
The field of uncertainty quantification and mitigation in software-intensive self-adaptive systems is garnering increased interest, especially with the rise statistical inference methodologies like Bayesian reasoning. These methods typically address uncertain quality attributes embedded within system models by adjusting model parameters. However, related to selecting a specific over plausible alternatives has received limited attention. Our work focuses on self-adaptation, exploring tackle...
The microservices architectural style has gained widespread acceptance. However, designing applications according to this is still challenging. Common difficulties concern finding clear boundaries that guide decomposition while ensuring performance and scalability. With the aim of providing software architects engineers with a systematic methodology, we introduce novel actor-driven strategy complement domain-driven design overcome some its limitations by reaching finer modularization yet...
Self-adaptive systems autonomously adapt their behavior at run-time to react internal dynamics and uncertain changing environment conditions. Specification verification of self-adaptive are generally very difficult carry out due high complexity, especially when involving time constraints. In the last case, in fact, correctness depends also on associated with events. This paper introduces a formal approach specify verify real-time systems. Our specification formalism is based Time-Basic Petri...
Self-adaptive systems increasingly rely on machine learning techniques as black-box models to make decisions even when the target world of interest includes uncertainty and unknowns. Because lack transparency, adaptation decisions, well their effect world, are hard explain. This often hinders ability trace unsuccessful adaptations back understandable root causes. In this paper, we introduce our vision explainable self-adaptation. We demonstrate by instantiating ideas a running example in...
Cyber-physical systems often operate in dynamic environments where unexpected events should be managed while guaranteeing acceptable behavior. Providing comprehensive evidence of their dependability under change represents a major open challenge. In this article, we exploit the notion equilibrium, that is, ability system to maintain an behavior within its multidimensional viability zone and propose RUNE 2 (RUNtime Equilibrium verification Enforcement), approach able verify at runtime...
Modern software systems are required to operate in a highly uncertain and changing environment. They have control the satisfaction of their requirements at run-time, possibly adapt cope with situations that not been completely addressed design-time. Software engineering methods techniques are, more than ever, forced deal change uncertainty (lack knowledge) explicitly. For tackling challenge posed by delivering reliable systems, this paper proposes novel online Model-based Testing technique...
Speeding up development may produce technical debt, i.e., not-quite-right code for which the effort to make it right increases with time as a sort of interest. Developers be aware debt they admit in their comments. Literature reports that such self-admitted survives long program, but is not yet clear its impact on quality term. We argue contains number different weaknesses affect security program. Therefore, longer paid back higher risk can exploited. To discuss our claim and rise...
Effective and automated verification techniques able to provide assurances of performance scalability are highly demanded in the context microservices systems. In this paper, we introduce a methodology that applies specification-driven load testing learn behavior target system under multiple deployment configurations. Testing is driven by realistic workload conditions sampled production. The sampling produces formal description users' through Discrete Time Markov Chain. This model drives...
Continuous quality assurance for extra-functional properties of modern software systems is today a big challenge as their complexity constantly increasing to satisfy market demands. This the case microservice systems. They provide high control on scale operation by means fine-grained service decomposition, but this demands careful consideration relations between performance individual microservices and failures.
The microservices architectural style is gaining momentum in the IT industry. This does not guarantee that a target system can continuously meet acceptable performance levels. ability to study violations of requirements and eventually predict them would help practitioners tune techniques like dynamic load balancing or horizontal scaling achieve resilience property.The goal this work through time series analysis provide practical instruments detect resilient non-resilient possibly their...
Formal verification requires high performance data processing software for extracting knowledge from the unprecedented amount of coming analyzed systems. Since cloud based computing resources have became easily accessible, there is an opportunity techniques and tools to undergo a deep technological transition exploit new available architectures. This has created increasing interest in parallelizing distributing techniques. In this paper we introduce distributed approach which exploits...
Summary Nowadays, there exists an increasing demand for reliable software systems able to fulfill their requirements in different operational environments and cope with uncertainty that can be introduced both at design‐time runtime because of the lack control over third‐party system components complex interactions among software, hardware infrastructures physical phenomena. This article addresses problem discrepancy between measured data formal specification by using inverse quantification...
The human-machine teaming paradigm is increasingly widespread in critical domains, such as healthcare and domestic assistance. goes beyond human-on-the-loop human-in-the-loop systems by promoting tight teamwork between humans autonomous machines that collaborate the same physical space. These are expected to build a certain level of trust enforcing dependability exhibiting interpretable behavior. We present emerging results this direction, with novel framework aiming at achieving better...
The growing availability of distributed and cloud computing frameworks makes it possible to face complex computational problems in a more effective convenient way. A notable example is state-space exploration discrete-event systems specified formal exponential complexity this task major limitation the usage consolidated analysis techniques tools. Several for addressing state space explosion problem within context have been studied literature. One these use memory computation deal with...
The recent extensive availability of "big data" platforms calls for a more widespread adoption by the formal verification community. In fact, requires high performance data processing software extracting knowledge from unprecedented amount which come analyzed systems. Since cloud based computing resources have became easily accessible, there is an opportunity techniques and tools to undergo deep technological transition exploit new available architectures. This has created increasing...
Modern software systems operate in complex and changing environments are exposed to multiple sources of uncertainty. Testing methods shall be tailored uncertainty as a first-class concern order quantify it deliver increased confidence the level assurance final product. In this paper, we introduce novel model-based exploration strategies that generate test cases targeting uncertain components system under test. Our testing framework leverages Markov Decision Processes modeling formalism...
Abstract Engineering distributed self-adaptive systems is challenging due to multiple interacting components, some of which monitor and possibly modify the behavior managed components that operate in highly dynamic settings. Formalizing such having a decentralized adaptation control has been recognized as hard task. In this article, we introduce formal framework based on Symmetric Nets (a well-established subclass Colored Petri nets) for modeling analyzing discrete-event systems. Even though...