Litcius/Paper detail

Reflecting on Recurring Failures in IoT Development

Dharun Anandayuvaraj, James C. Davis

202220 citationsDOIOpen Access PDF

Abstract

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.

Topics & Concepts

Computer scienceEncyclopediaAutonomyInternet of ThingsRisk analysis (engineering)Software developmentSoftwareComputer securityData scienceBusinessPolitical scienceLibrary scienceLawProgramming languageSoftware System Performance and ReliabilitySoftware Engineering Techniques and PracticesSoftware Reliability and Analysis Research