Keynote Speakers


Tales of Dependability and Software Reliability in the Age of AI Vibes

Let us face the facts. Research on dependable computing and software reliability ought to be flourishing. But it is not. Dependability, as a broad conceptual umbrella, spans virtually every dimension of computer science and the software industry. Yet, after a glorious past several decades ago, marked by highly influential contributions, Dependable Computing and Software Reliability have gradually receded into almost niche research areas.

This is a paradox. In reality, the demand for dependable (and secure) computer systems and reliable applications is greater than ever. And the current main driving force creating new research challenges in dependability and software reliability is called Artificial Intelligence.
But perhaps these new dependability research challenges created by the use of AI are no longer being tackled within the dependability and software reliability community, but instead are finding answers elsewhere.

This talk examines the apparent crisis in dependability and software reliability research, focusing on the challenges and opportunities arising from two strong market drivers: (1) the intense pressure to adopt AI in safety-critical systems, such as autonomous vehicles and critical software-as-a-medical-device (SaMD) applications, where (despite the claims) no definitive solution is expected in the near future; and (2) the well-established trend of using generative AI in the software development process, which yields significant gains in efficiency and productivity but also carries unpredictable consequences for software reliability. The goal is not only to debate possible solutions, but also to discuss new intradisciplinary research avenues in light of the role and opportunities for our dependability and software reliability community.


The Nanoscale Reliability Challenge: Designing Robust Systems from Unreliable Components

Nanotechnology offers relevant opportunities for innovation, but its unique properties introduce significant challenges to traditional reliability in hardware and systems. At the nanoscale, materials and devices are susceptible to new failure mechanisms, increased process variability, which are not accounted for in conventional design models. The nanoscale also increases their vulnerability to defects and environmental degradation. This talk will explore how these nanoscale phenomena demand a fundamental shift in our approach to designing for reliability. We will discuss the need for new modeling techniques and the importance of system-level fault tolerance. By embracing these advanced strategies, we can successfully build reliable, durable, and high-performance systems from the ground up, harnessing the full potential of nanotechnology while mitigating its inherent risks.


Modern Techniques for Data Availability and Durability

This talk will be held online.

The scale and intensity of today’s economic exchanges require modern online services to be always-on and responsive. One of the key concerns when building these services is the durability and availability of their data. Data must remain accessible despite network, machine, or large-scale outages, either temporary or permanent. This talk explores some of the most recent techniques to achieve this. First, we focus on geo-replicated state machines. Geo-replication places several copies of a logical data item across different data centers to improve access locality and fault-tolerance. State-machine replication (SMR) ensures that these copies stay in sync. Recent advances in SMR focus on leaderless protocols that sidestep the availability and performance limitations of traditional Paxos-based solutions. We will explain several recent leaderless solutions and compare their pros and cons under different application workloads. The second part of the talk focuses on non-volatile main memory (NVMM). NVMM is a new tier in the memory hierarchy that offers the durability of spinning disks, near-DRAM speed, and byte addressability. We will present J-NVM, a fully-fledged NVMM interface for Java, and its usage in the context of a modern distributed data store.