软件生态系统中的跨项目缺陷理解与分析技术
发布时间:2025-02-05 15:46
作为最受欢迎的开源代码仓库,GitHub以其特有的“社交编程”方式极大地促进了软件生态系统的发展。在GitHub软件生态系统中,下游项目依赖于上游项目提供的基础设施或功能组件,形成了复杂的项目间依赖关系。通过这些依赖关系,上游项目中的缺陷将其影响传递到下游项目中,形成软件生态系统中独有的跨项目缺陷。相比于项目内缺陷,跨项目缺陷影响范围更大,危害整个生态系统的健康;其处理过程更复杂,涉及多个项目开发者的协作;且由于一些影响仅暴露在下游,上游测试集无法捕获,导致其检测难度更高。随着GitHub的愈加流行和软件生态系统的高速发展,此类缺陷数量不断增加,其有别于项目内缺陷的特点导致已有的缺陷理解和分析结论以及检测修复等技术不再适用。然而当前软件生态系统和缺陷的相关工作仍缺少对该类缺陷的关注,尤其缺乏对其检测、诊断和修复过程的理解和特征总结,缺少适用于软件生态系统的跨项目缺陷检测和修复的支持技术与工具。因此,本文围绕GitHub软件生态系统中的跨项目缺陷理解和分析技术展开研究。具体而言,本文的第一项工作关注程序员处理跨项目缺陷时的应对措施,着重研究跨项目缺陷带来的两个难点:跨项目缺陷的根本原因追踪...
【文章页数】:163 页
【学位级别】:博士
【部分图文】:
本文编号:4030076
【文章页数】:163 页
【学位级别】:博士
【部分图文】:
图1:1:论文组织结构
并使跨项目测试在合理时间内完成。同时,本文的实证评估是第一个针??对跨项目回归测试的可重复实验,为后续相关工作提供自动化工具和基准数据??集。??1.4论文结构??本文共分为六章,各章节间的关系如图1.1所示。首先,本章介绍了本文??的选题背景、研宄内容、主要贡献和论文结构。后续....
图2.1:回归测试技术
因此,各种技术方法被提出以降低回归测试的成本,提高回归测试??。其中主要的三类技术是:测试集最小化、测试用例选择和测试用例排序。??2.丨所示,P为给定的待测项目,P’为修改后的版本,:T为P的测试集。测??最小化(TSM)意图通过去除冗余测试用例以减小测试集规模[142】;测试....
图3.1:跨项目关联缺陷的修复过程
numpy/numpy#6467)可能与之相关。接下来两位开发者直接参与到该M<mp_y缺??陷的讨论之中,并向M/mpy提供了?一个测试用例。在开发者的帮助下,??这一?iVwm/?;y缺陷被修复,且在确认Asfrapy的测试用例通过、astropy/astropy#4259?....
图3.2:问题关联的自动提示??题可能是缺陷、特征请求、任务、文档缺失或仅仅是一个疑问
?“?我猜这次性能降低与?入?70?中?rerarra.v?的??性能问题相关。”)第二,如果一个问题在另一个问题报告或??评论中被提及,那么在该问题报告中会自动出现一条提示。图3.2为rmmpy/nu-??mpy#6467问题报告页面的一个片段,它表不该问题被astropy/a....
本文编号:4030076
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/4030076.html