Explainability as a non-functional requirement: challenges and recommendations

Explainability as a non-functional requirement: challenges and recommendations
复制标题

DOI:
10.1007/s00766-020-00333-1
复制
发表时间:
2020-06
影响因子:
2.8
通讯作者:
Larissa Chazette;K. Schneider
Larissa Chazette;K. Schneider
中科院分区:
计算机科学2区
文献类型:
--
作者:
Larissa Chazette;K. Schneider

文献摘要

被引文献

相似文献

软件系统变得越来越复杂。它们无处不在的存在使用户在日常生活的许多方面更加依赖它们的正确性。因此,越来越需要使软件系统及其决策更易于理解,并在基于软件的决策中具有更高的透明度。因此,透明度作为一项非职能性要求变得越来越重要。然而,透明性的抽象质量方面需要更好地理解,并与可以促进它的机制相关联。将解释集成到软件中经常被讨论为减轻系统不透明性的解决方案。然而,一个重要的第一步是了解用户需求的可解释的软件行为:用户真的对软件的透明度感兴趣,并认为解释是一个适当的方式来实现它?我们对107名最终用户进行了一项调查,以评估他们对软件系统当前透明度水平的看法,以及他们认为嵌入式解释的主要优点和缺点。我们评估解释和透明度之间的关系,并分析其对软件质量的潜在影响。随着可解释性成为一个重要的问题,研究者和专业人士一直在讨论如何在实践中处理它。虽然对于内置解释的必要性存在不同的意见,但理解这个概念及其对软件的影响是需求工程的关键步骤。基于我们的研究结果和对现有文献的研究,我们提出了一些建议,以启发和分析的可解释性和讨论的实践策略。
Software systems are becoming increasingly complex. Their ubiquitous presence makes users more dependent on their correctness in many aspects of daily life. As a result, there is a growing need to make software systems and their decisions more comprehensible, with more transparency in software-based decision making. Transparency is therefore becoming increasingly important as a non-functional requirement. However, the abstract quality aspect of transparency needs to be better understood and related to mechanisms that can foster it. The integration of explanations into software has often been discussed as a solution to mitigate system opacity. Yet, an important first step is to understand user requirements in terms of explainable software behavior: Are users really interested in software transparency and are explanations considered an appropriate way to achieve it? We conducted a survey with 107 end users to assess their opinion on the current level of transparency in software systems and what they consider to be the main advantages and disadvantages of embedded explanations. We assess the relationship between explanations and transparency and analyze its potential impact on software quality. As explainability has become an important issue, researchers and professionals have been discussing how to deal with it in practice. While there are differences of opinion on the need for built-in explanations, understanding this concept and its impact on software is a key step for requirements engineering. Based on our research results and on the study of existing literature, we offer recommendations for the elicitation and analysis of explainability and discuss strategies for the practice.