Autonomous driving shows great potential to reform modern transportation. However, its reliability and safety have drawn a lot of attention and concerns. Compared with traditional software systems, autonomous driving systems (ADSs) often use deep neural networks in tandem with logic-based modules. This new paradigm poses unique challenges for software testing. Recently, the software engineering (SE) community has devoted significant effort to developing new testing techniques for autonomous driving systems. However, it is not clear to what extent those techniques have addressed the needs of industrial practitioners. To fill this gap, we present the first comprehensive study to identify the current practices and needs of testing autonomous driving systems in industry. We conducted semi-structured interviews with developers from 10 autonomous driving companies and surveyed 100 developers who have worked on autonomous driving systems. Through systematic analysis of interview and questionnaire data, we identified eight common practices and four common needs of testing autonomous driving systems from industry. We further surveyed 98 highly relevant papers from 28 SE conferences, journals, and workshops to find solutions to address those needs. Finally, we analyzed the limitations of existing testing techniques and proposed several future directions for SE researchers.
翻译:与传统软件系统相比,自主驾驶系统(ADSs)经常使用深神经网络,同时使用基于逻辑的模块。这一新模式对软件测试提出了独特的挑战。最近,软件工程(SE)社区为开发自主驾驶系统的新测试技术作出了重大努力。然而,尚不清楚这些技术在多大程度上满足了工业从业人员的需要。为填补这一空白,我们提出了第一份全面研究报告,以确定在工业中测试自主驾驶系统的现行做法和需要。我们与10个自主驾驶公司的开发商进行了半结构式访谈,并对100个在自主驾驶系统工作的开发商进行了调查。通过系统分析访谈和问卷数据,我们查明了八个共同做法和四个共同需求,即测试工业自主驾驶系统。我们进一步调查了28个信通技术会议、期刊和讲习班的98份文件,以找到解决这些需要的解决方案。最后,我们分析了现有测试技术的局限性,并提出了未来对空间工程师小组研究人员的若干方向。