Luciano Baresi

Luciano Baresi
Politecnico di Milano | Polimi · Department of Electronics, Information, and Bioengineering

About

345
Publications
91,593
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
9,455
Citations

Publications

Publications (345)
Preprint
Simulation-based testing is widely used to assess the reliability of Autonomous Driving Systems (ADS), but its effectiveness is limited by the operational design domain (ODD) conditions available in such simulators. To address this limitation, in this work, we explore the integration of generative artificial intelligence techniques with physics-bas...
Conference Paper
Full-text available
One of the main challenges in building management is dealing with the large amount of unstructured data produced throughout the asset's life cycle. At handover, Building Information Models often provide low-quality, incomplete data, necessitating extensive manual rework to elicit information from many sources. To minimize this manual rework, this s...
Article
Full-text available
Autoscaling systems provide means to automatically change the resources allocated to a software system according to the incoming workload and its actual needs. Public cloud providers offer a variety of autoscaling solutions, ranging from those based on user-written rules to more sophisticated ones. Originally, these solutions were conceived to mana...
Chapter
Serverless computing is becoming an attractive means to implement applications on top of edge infrastructures. Developers break applications into small components (functions), and this modularity allows one to cope with the limited resources of edge nodes and meet the stringent response times typical of edge applications. Different frameworks alrea...
Article
Applications that are constrained by low-latency requirements can hardly be executed on cloud infrastructures, given the high network delay required to reach remote servers. Multi-access Edge Computing (MEC) is the reference architecture for executing applications on nodes that are located close to users (i.e., at the edge of the network). This way...
Chapter
Full-text available
Serverless computing allows developers to break their code into small components, known as functions. Being lightweight and modular, serverless functions have been increasingly employed in edge computing, where quick responses and adaptability are key to meeting strict latency requirements. In particular, edge nodes are intrinsically resource-const...
Chapter
Openpilot is a vast open-source semi-automated driving system developed by comma.ai, with 200+ contributors and 750K lines of code according to the OpenHub open-source community-tracking portal. On the one hand, the documentation available gives insights on what Openpilot is capable of doing, how to install it and how people can contribute to it, w...
Article
Cloud computing and virtualization solutions allow one to rent the virtual machines (VMs) needed to run applications on a pay‐per‐use basis, but rented VMs do not offer any guarantee on their performance. Cloud platforms are known to be affected by performance variability , but a better understanding is still required. This article moves in that di...
Preprint
Containerization is a virtualization technique that allows one to create and run executables consistently on any infrastructure. Compared to virtual machines, containers are lighter since they do not bundle a (guest) operating system but they share its kernel, and they only include the files, libraries, and dependencies that are required to properl...
Article
Full-text available
This paper introduces ICT4Dev (Information and Communication Technologies for Development), a joint project between Politecnico di Milano and Universidade Eduardo Mondlane in Maputo (Mozambique), funded by the Italian Agency for Development Cooperation. The project aims to: (i) improve the ICT-related skills of students and faculty members at the U...
Preprint
Full-text available
Cloud applications are more and more microservice-oriented, but a concrete charting of the microservices architecture landscape -- namely, the space of technical options available for microservice software architects in their decision-making -- is still very much lacking, thereby limiting the ability of software architects to properly evaluate thei...
Chapter
Full-text available
In recent years, Web services are becoming more and more intelligent (e.g., in understanding user preferences) thanks to the integration of components that rely on Machine Learning (ML). Before users can interact (inference phase) with an ML-based service (ML-Service), the underlying ML model must learn (training phase) from existing data, a proces...
Preprint
In recent years, Web services are becoming more and more intelligent (e.g., in understanding user preferences) thanks to the integration of components that rely on Machine Learning (ML). Before users can interact (inference phase) with an ML-based service (ML-Service), the underlying ML model must learn (training phase) from existing data, a proces...
Preprint
Full-text available
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 evol...
Preprint
Full-text available
Nowadays a wide range of applications is constrained by low-latency requirements that cloud infrastructures cannot meet. Multi-access Edge Computing (MEC) has been proposed as the reference architecture for executing applications closer to users and reduce latency, but new challenges arise: edge nodes are resource-constrained, the workload can vary...
Article
Full-text available
A self-adaptive system can automatically maintain its quality requirements in the presence of dynamic environment changes. Developing a self-adaptive system may be difficult due to design time uncertainty; e.g., anticipating all potential environment changes at design time is in most cases infeasible. To realize self-adaptive systems in the presenc...
Article
Full-text available
Federated Machine Learning is a new technique to train Machine Learning models that is partially executed on user devices so that their data are not shared with third parties. Each client could be selected to participate in a federated computation of the model organised in different rounds, while a centralised server is in charge of aggregating cli...
Chapter
Full-text available
This chapter presents the main characteristics of SODALITE to give the reader an overall picture, which will be detailed in the following chapters.
Chapter
Full-text available
Cloud applications are increasingly executed onto lightweight containers that can be efficiently managed to cope with highly varying and unpredictable workloads. Kubernetes, the most popular container orchestrator, provides means to automatically scale containerized applications to keep their response time under control. Kubernetes provisions resou...
Chapter
Full-text available
TensorFlow, a popular machine learning (ML) platform, allows users to transparently exploit both GPUs and CPUs to run their applications. Since GPUs are optimized for compute-intensive workloads (e.g., matrix calculus), they help boost executions, but introduce resource heterogeneity. TensorFlow neither provides efficient heterogeneous resource man...
Article
Microservice architectures foster the development of applications as suites of small, autonomous and conversational services, which are then easy to understand, deploy and scale. However, one of the problems nowadays is that microservices introduce new complexities to the system and, despite the hype, many factors should be considered when deciding...
Article
Full-text available
Edge computing infrastructures are often employed to run applications with low latency requirements. Users can exploits nodes that are close to their physical positions so that the delay of sending computations and data to the Cloud is mitigated. Since users frequently change their locations, and the resources available in the Edge are limited, the...
Chapter
A self-adaptive service can maintain its QoS requirements in the presence of dynamic environment changes. To develop a self-adaptive service, service engineers have to create self-adaptation logic encoding when the service should execute which adaptation actions. However, developing self-adaptation logic may be difficult due to design time uncertai...
Chapter
Full-text available
Customer management operations, such as Incident Management (IM), are traditionally performed manually often resulting in time consuming and error-prone activities. Artificial Intelligence (AI) software systems and connected information management can help handle the discontinuities in critical business tasks. AI Incident Management (AIIM) becomes...
Chapter
This paper describes briefly DOSSIER-Cloud, an ongoing H2020 project called that implements a series of coordination and support actions, aiming at promoting research in the area of Software Engineering for Distributed Systems development. According to the call, two internationally recognized scientific groups from the Netherlands (University of Ti...
Article
This paper studies how bit-vector logic (bv logic) can help improve the efficiency of verifying specifications expressed in Linear Temporal Logic (LTL). First, it exploits the notion of Bounded Satisfiability Checking to propose an improved encoding of LTL formulae into formulae of bv logic, which can be formally verified by means of Satisfiability...
Article
Many software systems today provide support for adaptation and reconfiguration at runtime, in response to changes in their environment. Such adaptive systems are designed to run continuously and may not be shut down for reconfiguration or maintenance tasks. The variability of such systems has to be explicitly managed, together with mechanisms that...
Article
Full-text available
Mobile computing is relevant, everywhere, and evolves so fast that it deserves special attention. This article builds on conversations that started during a panel session on “the role of engineering and development in mobile software” held at the IEEE/ACM International Conference on Mobile Software Engineering and Systems (MobileSoft’18). The panel...
Article
Full-text available
Internet-enabled devices operating in the physical world are increasingly integrated in modern distributed systems. We focus on systems where the dynamics of spatial distribution is crucial; in such cases, devices may need to carry out complex computations (e.g., analyses) to check satisfaction of spatial requirements. The requirements are partly g...
Preprint
Internet-enabled things and devices operating in the physical world are increasingly integrated in modern distributed systems, supporting functionalities that require assurances that certain critical requirements are satisfied by the overall system. We focus here on spatially-distributed Internet-of-Things systems such as smart environments, where...
Article
Full-text available
Apache Spark is probably the most widely adopted framework for developing big-data batch applications and for executing them on a cluster of (virtual) machines. In general, the more resources (machines) one uses, the faster applications execute, but there is currently no adequate means to determine the proper size of a Spark cluster given time cons...
Chapter
Full-text available
In the early 2000s, service-oriented architectures (SOA) emerged as a paradigm for distributed computing, e-business processing, and enterprise integration. Rapidly, SOA and web services became the subject of hype, and virtually every organization tried to adopt them, no matter their actual suitability. Even worse, there were nearly as many definit...
Article
Full-text available
In the Architecture, Engineering, Construction and Operations (AECO) there is a growing interest in the use of the Building Information Modelling (BIM). Through integration of information and processes in a digital model, BIM can optimise resources along the lifecycle of a physical asset. Despite the potential savings are much higher in the operati...
Chapter
Full-text available
The emergence of latency-sensitive and data-intensive applications requires that computational resources be moved closer to users on computing nodes at the edge of the network (edge computing). Since these nodes have limited resources, the collaboration among them is critical for the robustness, performance, and scalability of the system. One must...
Conference Paper
The execution of Spark applications is based on the execution order and parallelism of the different jobs, given data and available resources. Spark reifies these dependencies in a graph that we refer to as the (parallel) execution plan of the application. All the approaches that have studied the estimation of the execution times and the dynamic pr...
Article
Full-text available
Big-data applications are batch applications that exploit dedicated frameworks to perform massively parallel computations across clusters of machines. The time needed to process the entirety of the inputs represents the application's response time, which can be subject to deadlines. Spark, probably the most famous incarnation of these frameworks to...
Preprint
[https://arxiv.org/abs/1907.09158] A self-adaptive system can modify its own structure and behavior at runtime based on its perception of the environment, of itself and of its requirements. To develop a self-adaptive system, software developers codify knowledge about the system and its environment, as well as how adaptation actions impact on the sy...
Article
Full-text available
Technologies such as mobile, edge, and cloud computing have the potential to form a computing continuum for new, disruptive applications. At runtime, applications can choose to execute parts of their logic on different infrastructures that constitute the continuum, with the goal of minimizing latency and battery consumption and maximizing availabil...
Conference Paper
Full-text available
The emergence of real-time and data-intensive applications empowered by mobile computing and IoT challenge the success of the centralized data center model. The paradigm of fog/edge computing aims to solve these problems; in contrast with cloud data centers, fog nodes are geographically distributed in proximity with data prosumers, taking advantage...
Chapter
Full-text available
The dynamic provisioning of virtual machines (VMs) supported by many cloud computing infrastructures eases the scalability of software applications. Unfortunately, VMs are relatively slow to boot and public cloud providers do not allow users to vary their resources (vertical scalability) dynamically. To tackle both problems, a few years ago we pres...
Conference Paper
Mobile devices have changed the way we live, but most applications are still conceived for isolated devices and do not allow the user to take advantage of the different devices (e.g., phones, cars, watches, televisions, etc.) opportunistically, efficiently, and dynamically. Multi-device interactions are currently mainly conceived as independent coo...
Article
Android’s broad adoption drives the development of millions of new apps. Apps on this OS are not just trivial games; many of them handle sensitive information, exhibit complex structure, and require high reliability and trustworthiness. The authors discuss the problem of testing Android apps—the results achieved with current approaches, and what is...
Chapter
Apache Spark is one of the best-known frameworks for executing big-data batch applications over a cluster of (virtual) machines. Defining the cluster (i.e., the number of machines and CPUs) to attain guarantees on the execution times (deadlines) of the application is indeed a trade-off between the cost of the infrastructure and the time needed to e...
Article
Full-text available
Monitoring the compliance of the execution of multi-party business processes is a complex and challenging task: each actor only has the visibility of the portion of the process under its direct control, and the physical objects that belong to a party are often manipulated by other parties. Because of that, there is no guarantee that the process wil...
Conference Paper
Microservices architectures are gaining momentum for the development of applications as suites of small, autonomous, and conversational services, which are then easy to understand, deploy and scale. However, one of today’s problems is that microservices introduce new complexities to the system and, despite the hype, many factors should be considere...
Conference Paper
Full-text available
Dynamic Software Product Lines (DSPLs) is still an incipient paradigm to support runtime reconfiguration of systems that need to change their behavior under varying circumstances. As many modern systems demand reconfiguration after post-deployment time, this 10th edition of the DSPL workshops attempts to bring new insight and approaches for such ne...
Article
Full-text available
This article presents a novel technique to formally verify models of real-time systems captured through a set of heterogeneous UML diagrams. The technique is based on the following key elements: (i) a subset of Unified Modeling Language (UML) diagrams, called Coretto UML (C-UML), which allows designers to describe the components of the system and t...
Conference Paper
Full-text available
Traditionally, human intervention is required to monitor a business process. Operators notify when manual activities are executed, and manually restart the monitoring whenever the process is not executed as expected. This paper presents mArtifact, an artifact-driven process monitoring platform. mArtifact uses the E-GSM artifact-centric language to...
Conference Paper
Full-text available
The exponential increase of the data generated by pervasive and mobile devices requires disrupting approaches for the realization of emerging mobile and IoT applications. Although cloud computing provides virtually unlimited computational resources, low-latency applications cannot afford the high latencies introduced by sending and retrieving data...
Conference Paper
Full-text available
The microservices architectural style is gaining more and more momentum for the development of applications as suites of small, autonomous, and conversational services, which are then easy to understand, deploy and scale. One of today’s problems is finding the adequate granularity and cohesiveness of microservices, both when starting a new project...
Article
Full-text available
The design of embedded systems is often supported by the definition of executable models for tools like Matlab/Simulink or Scilab/Xcos. These models play a pivotal role in the development process and their correctness is thus extremely important. Many different solutions exist for the definition of suitable tests to “exercise” these models, but onl...
Conference Paper
This paper presents MAGNET, a novel middleware infrastructure that exploits Wi-Fi Direct to provide a reliable and stable communication means for large numbers of mobile devices. This self-organizing middleware abstracts the multi-hop communication process by autonomously maintaining connectivity among devices. MAGNET also provides a discovery mech...
Chapter
Augmented Reality has been around for a while, and given the advent of many mobile devices, it can now be seen as an interesting technology for providing users with useful, real-time, and appealing extensions of the reality around them. This technology can then be used in many different domains: in this chapter we report on our efforts for developi...
Article
Full-text available
Context: Many modern software systems must deal with changes and uncertainty. Traditional dependability requirements engineering is not equipped for this since it assumes that the context in which a system operates be stable and deterministic, which often leads to failures and recurrent corrective maintenance. The Contextual Goal Model (CGM), a req...
Article
The full behavior of complex software systems often only emerges during operation. They thus need to be monitored at run time to check that they adhere to their requirements. Diverse runtime monitoring approaches have been developed in various domains and for different purposes. Their sheer number and heterogeneity, however, make it hard to find th...
Conference Paper
Full-text available
Modern Web applications exploit Cloud infrastructures to scale their resources and cope with sudden changes in the workload. While the state of practice is to focus on dynamically adding and removing virtual machines, we advocate that there are strong benefits in containerizing the applications and in scaling the containers. In this paper we presen...
Conference Paper
Full-text available
Control flow-based process modeling notations, like BPMN, are good at defining the normal execution flow and the management of foreseen exceptions. When unforeseen situations occur, one cannot detect if the execution is still acceptable with respect to the process definition. In contrast, artifact-centric process modeling notations, like the Guard-...