As IoT systems are given more responsibility and autonomy, they offer greater benefits, but also carry greater risks. We believe this trend invigorates an old challenge of software engineering: how to develop high-risk software-intensive systems safely and securely under market pressures? As a first step, we conducted a systematic analysis of recent IoT failures to identify engineering challenges. We collected and analyzed 22 news reports and studied the sources, impacts, and repair strategies of failures in IoT systems. We observed failure trends both within and across application domains. We also observed that failure themes have persisted over time. To alleviate these trends, we outline a research agenda toward a Failure-Aware Software Development Life Cycle for IoT development. We propose an encyclopedia of failures and an empirical basis for system postmortems, complemented by appropriate automated tools.
翻译:随着IoT系统被赋予更多的责任和自主性,它们带来更大的效益,但也带来更大的风险。我们认为这一趋势激励了软件工程的旧挑战:如何在市场压力下安全可靠地开发高风险软件密集型系统?作为第一步,我们系统地分析了最近IoT系统失败,以查明工程挑战。我们收集并分析了22份新闻报道,研究了IoT系统失败的来源、影响和修复战略。我们观察到了应用领域内部和跨应用领域的失败趋势。我们还发现,失败主题已经持续了一段时间。为了缓解这些趋势,我们为IoT开发的失败软件软件开发生命周期提出了一个研究议程。我们提出了一个失败百科全书和系统验尸经验基础,并辅之以适当的自动化工具。