Predictable Software -- A Shortcut to Dependable Computing ?
George Candea

TL;DR
This paper proposes enhancing software dependability by increasing predictability of operational conditions, offering a potentially cost-effective alternative to fixing bugs through new engineering principles and benchmarking methods.
Contribution
It introduces a novel approach focusing on predictability to improve software dependability, including principles, benchmarking, and a research agenda.
Findings
Identifies common triggers of unpredictability in software.
Proposes three engineering principles to enhance predictability.
Suggests a benchmarking method for predictability.
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware System Performance and Reliability · Software Engineering Research · Software Reliability and Analysis Research
