软件需求缺陷检测技术文献综述

 2022-10-27 10:37:44

文献综述(或调研报告):

3.1相关文献现状

随着计算机在日常工作中的普及,软件开发行业作为其必不可少的组成部分,被人们所认可。在我国,软件行业日渐成熟,小作坊式的开发形式,已经不能满足我国对于软件规范化、实用性的要求,软件开发流程化及各个职能部门工作的有效划分和正确协作,是现在软件行业面临的一个较大的问题。软件需求的完整与正确性[1]是软件开发的出发点,为设计起到指导性作用,所以软件需求缺陷检测在软件行业及开发流程中起着非常重要的作用。

1.缺陷模式定义:定义软件缺陷模式[4]指产生于软件生存期各阶段内及阶段间,在某种直接场景中反复出现,并可能导致系统(部件无法完成预期功能或影响系统可维护性的特定缺陷文档(文档规约与源代码)的表现形式,这种缺陷表现形式在特定的直接场景中具有一般性和共通性,并能够通过某种手段被修正.

2.缺陷模式的表现:软件缺陷模式的核心是:直接场景、缺陷表现形式和解决方案.直接场景即导致缺陷产生的直接语境,这一语境由人为构建,并由知识本身不正确、人为知识的误用或人为疏漏造成。缺陷表现形式表达了问题的本质。解决方案给出了如何消除缺陷的方法,包括对缺陷的修改及在此基础上进行的相关准则的制定.除了上述三要素外,软件缺陷模式还具有一些可剪裁的要素:名称、重要度等级、缺陷限定类型、缺陷发现阶段和实例等.因此软件缺陷模式可表示为:软件缺陷模式:lt;名称、直接场景、缺陷表现形式、重要度等级、解决方案、缺陷限 定类型、缺陷发现阶段、实例 gt;.名称是对软件缺陷模式的标识.缺陷表现形式可用集合形式表示为:缺陷表现形式={功能缺陷、性能缺陷、接口缺陷、逻辑缺陷、算法缺陷、数据缺陷、时间序列 缺陷、计算缺陷、预处理缺陷、库函数使用缺陷、内存使用缺陷、指针使用缺陷、文档描述缺陷}.此集合基于实际测试经验和权威文献得到,不同阶段缺陷模式类型可据此进行剪裁且该集合是可扩展的.重要度等级用来反映缺陷对系统的影响程度.缺陷限定类型可表示为:缺陷限定类型={遗漏、模糊、多余、错误、不一致}. [3]

3.检查阅读技术:阅读是缺陷检测中的关键活动, 它可以理解给定的软件工件的表示形式, 并将其与对结构、内容和期望质量的一系列期望进行比较。承认对工件的期望和理解之间的差异有助于发现缺陷。特别检查的程序完全取决于检查员的能力, 而不是重复的过程。缺陷检测技术可以帮助检查人员发现相关目标缺陷类中的缺陷。检查中的缺陷检测可以通过检查文档的技术来支持, 并告诉他们要查找什么以及如何执行质量检查。这些技术通常称为阅读技术。阅读技巧的一个主要特点是它赋予检查员的责任。责任可能是一般的, 查明尽可能多的缺陷, 或具体的问题, 以便将检查专员的注意力集中在一系列有限的议题上。一般阅读技术的一个示例是列出所有要查找的缺陷类型或症状的检查表。检查表不足以协助检查员规划如何执行任务。在检查队列中, 总督察责任的程序往往缺乏督察协调, 导致检查员之间的努力被浪费, 或在被检查的文件的覆盖面方面存在差距。这些影响降低了检验的成本效益。基于缺陷的阅读 (DBR), 它是从检查表中派生出来的, 侧重于缺陷类型、基于透视的阅读, 这些内容利用了软件工件的不同客户观点, 以及最近的可追溯性阅读, 比较了软件系统 (面向对象) 模型的不同观点。波特和欧塔[6] 报告了第一个受控 DBR 实验, 其中研究生进行了两次检查要求文件, 借助核对表和基于缺陷的方案。他发现检查人员使用一种场景来更有效地发现缺陷。同时, 所有检查员都同样有效地检测了不受方案攻击的缺陷。在检测方法和规范方面, 无论是获得的经验还是团队的组成都没有对检测效果产生重大影响。虽然方案最初是从清单中创建的, 但发现方案优于清单。进一步研究复制波特的实验与学生和专业主题 ([7], [8]) 证实了他的发现一般。基于透视的阅读是一种 SBR 技术, 它侧重于软件工件的利益干系人的观点, 例如, 需求文档的用户、设计者或测试人员。对于每个利益相关者的观点, 都可以有一个场景来生成模型, 例如用户手册, 用户视图, 设计人员视图的高级设计序列图, 或者测试人员视图的试验用例。这些模型可以根据特定的透视质量来分析问题。假设是, 透视图提供了对文档中存在的缺陷范围的广泛报道, 而每个读者都负责对文档进行狭义的集中查看, 这将导致更深入地分析文档中可能存在的缺陷。Basili 等人 [9] 关于检查要求文件的实验报告中自然语言与专业科目的学生, 在那里比核对清单阅读 (CBR) 表现得更好。软件需求工件通常包括对未来系统在自然语言和模型符号中的功能和非功能需求的描述, 例如 UML 类、状态或序列图。面向对象的模型表示在不同时间创建的系统的多个视图。大型系统的开发人员必须集中精力于系统的一部分, 并且必须依赖于所有部分的一致性。他们需要检查水平一致性, 以避免在同一开发阶段的模型之间的矛盾, 和垂直一致性跟踪正确的细化沿发展阶段 [10]。检查的目的是在这些描述中查找不正确、不一致、模棱两可、缺失或多余的信息, 这些说明可能会导致以后的开发阶段出现问题。

4.缺陷分类的实际意义:现有的缺陷分类在需求阶段分类缺陷, 无论其原因。虽然Walia的分类法[5]将导致需求阶段缺陷的原因分类, 但是, 它忽略了导致缺陷和错误之间的关系。所提出的分类法侧重于需求阶段的缺陷, 并增加了缺陷及其来源之间的相关性, 以保证 SRS 文件的质量。分类法有助于对 SRS 编写者进行培训, 并支持创建更准确、更有效的缺陷预防和缺陷检测技术。这项工作还提供了联合阅读技术来检测软件需求规范 (SRS) 文档中的缺陷。组合阅读技术[2]结合了其他阅读技术在缺陷检测中的优越性。需要进一步验证需求缺陷的分类, 以确定其稳定性和可靠性。需要开发自动化的缺陷检测技术, 以减少依赖于认知能力的人的因素。此外, 结合阅读技术需要更多的研究和实验, 以证实其有效性的SRS从不同的领域和不同的大小。

3.2参考文献

[1] Software Product Improvement with Inspection .A Large-scale Experiment on the Influence of Inspection Processes on Defect Detection in Software Requirements Documents

[2] Constructing Test Cases Using Natural Language Processing

[3] 胡璇, 刘斌, 王轶辰,等. 基于本体的软件需求缺陷模式应用[J]. 北京航空航天大学学报, 2009, 35(6):723-727.

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版