Modern software systems are becoming increasingly complex and opaque. The integration of explanations within software has shown the potential to address this opacity and can make the system more understandable to end-users. As a result, explainability has gained much traction as a non-functional requirement of complex systems. Understanding what type of system requires what types of explanations is necessary to facilitate the inclusion of explainability in early software design processes. In order to specify explainability requirements, an explainability taxonomy that applies to a variety of different software types is needed. In this paper, we present the results of an online survey with 84 participants. We asked the participants to state their questions and confusions concerning their three most recently used software systems and elicited both explicit and implicit explainability needs from their statements. These needs were coded by three researchers. In total, we identified and classified 315 explainability needs from the survey answers. Drawing from a large pool of explainability needs and our coding procedure, we present two major contributions of this work: 1) a taxonomy for explainability needs in everyday software systems and 2) an overview of how the need for explanations differs between different types of software systems.
翻译:现代软件系统正变得日益复杂且不透明。在软件中集成解释功能已展现出解决这种不透明性的潜力,能使最终用户更易理解系统。因此,可解释性作为复杂系统的非功能性需求已获得广泛关注。理解何种系统需要何种类型的解释,是推动可解释性纳入早期软件设计流程的必要条件。为明确可解释性需求,需要一种适用于多种软件类型的可解释性分类法。本文呈现了一项包含84名参与者的在线调查结果。我们要求参与者陈述其最近使用的三个软件系统相关的疑问与困惑,并从其表述中提炼出显性与隐性的可解释性需求。这些需求由三名研究人员进行编码。最终,我们从调查答案中识别并归类了315项可解释性需求。基于大量可解释性需求池及我们的编码流程,本文提出两项主要贡献:1)面向日常软件系统的可解释性需求分类法;2)不同类型软件系统对解释需求的差异性概览。