Internet of Things (IoT) systems allow software to directly interact with the physical world. Recent IoT failures can be attributed to recurring software design flaws, suggesting IoT software engineers may not be learning from past failures. We examine the use of failure stories to improve IoT system designs. We conducted an experiment to evaluate the influence of failure-related learning treatments on design decisions. Our experiment used a between-subjects comparison of novices (computer engineering students) completing a design questionnaire. There were three treatments: a control group (N=7); a group considering a set of design guidelines (N=8); and a group considering failure stories (proposed treatment, N=6). We measured their design decisions and their design rationales. All subjects made comparable decisions. Their rationales varied by treatment: subjects treated with guidelines and failure stories made greater use of criticality as a rationale, while subjects exposed to failure stories more frequently used safety as a rationale. Building on these findings, we suggest several research directions toward a failure-aware IoT engineering process.
翻译:物联网系统使软件能够直接与物理世界交互。近期物联网失效可归因于反复出现的软件设计缺陷,这表明物联网软件工程师可能未能从过去的失败中汲取教训。本文探究了利用失败故事改进物联网系统设计的方法。我们开展了一项实验,评估与失败相关的学习干预措施对设计决策的影响。实验采用被试间设计,比较计算机工程专业学生(初学者)完成设计问卷的表现。实验设置三个对照组:空白对照组(N=7)、参考设计指南组(N=8)、以及参考失败故事组(提出的干预措施,N=6)。我们测量了设计决策及其设计原理。所有受试者作出了类似的设计决策,但设计原理因干预措施而异:参考设计指南和失败故事的受试者更频繁地将关键性作为设计原理,而接触失败故事的受试者则更常将安全性作为设计原理。基于这些发现,我们提出了若干研究方向,旨在构建具有失败感知能力的物联网工程流程。