Predictable Software -- A Shortcut to Dependable Computing ?
George Candea
Abstract
Many dependability techniques expect certain behaviors from the underlying subsystems and fail in chaotic ways if these expectations are not met. Under expected circumstances, however, software tends to work quite well. This paper suggests that, instead of fixing elusive bugs or rewriting software, we improve the predictability of conditions faced by our programs. This approach might be a cheaper and faster way to improve dependability of software. After identifying some of the common triggers of unpredictability, the paper describes three engineering principles that hold promise in combating unpredictability, suggests a way to benchmark predictability, and outlines a brief research agenda.
Create a lesson
Related papers
Netkit: Specializing Linux Packet Delivery for Container Networks
Daniel Borkmann, Paul Chaignon
Grouper: Scheduling Groups for Multi-Tenant Microsecond-Scale Microservices
Koosha Kazemi, Mohammad Siavashi, Ahmad Siavashi et al.
SeqMoE: Toward Full-Load Performance via Predictive and Graph-Compatible MoE Offloading
Zihan Wang, Yuqi Wang, Lei Gong et al.
AKTS: Sub-Microsecond Kernel Policy Switching for Language-Model Agents
Mohammadali Khodabandehlou, Mahdi Alizadeh
Violet: Enabling Full Virtualization for M-mode RTOS on RISC-V
Taro Kito, Ryosuke Yamamoto, Keisuke Horii et al.
AutoUVM: Automated Prefetching Framework for LLMs under UVM Oversubscription
Mao Lin, Hui Feng, Xianzhong Ding et al.