没有合适的资源?快使用搜索试试~ 我知道了~
管理软件项目中的体系结构贡献:度量、经验分析和机器昆汀·佩雷斯引用此版本:昆汀·佩雷斯。管理软件项目中的体系结构贡献:度量、经验分析和机器学习软件工程[cs.SE]。IMT-MINES ALES-IMT-MINES Alès矿业学院-电信,2021年。法语。NNT:2021EMAL0011。电话:03517320HAL ID:电话:03517320https://theses.hal.science/tel-03517320提交日期:2022年HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire获得矿业电信研究所(IMT)博士学位的论文国立高等矿业学院计算机科学博士学院:I2 S研究单位:EuroMovDigital Health In Motion管理软件项目中的体系结构贡献:指标、实证分析和机器学习由Quentin PEREZ于2021年由Christelle URTADO和SylvainVAUTTIER在陪审团面前,陪审团由:Xavier BLANC,公关,LABRI,波尔多大学报告员Anne ETIEN,公关,CRISTAL,里尔大学报告员Antoine BEUGNARD,公关,Lab-STICC,IMT Atlantique考试员,Chouki TIBERMACINE主席,WCF HDR,LIRMM,蒙彼利埃大学考试员Christelle URTADO,MA HDR,EuroMovDHM,IMT矿业Alès总监SylvainVAUTTIER,MA HDR,EuroMovDHM,IMT矿业Alès总监iiiii"我是那些认为科学是伟大的美的人之一。一个科学家在他的实验室里不仅仅是一个技术人员,他还是一个面对自然现象的孩子。l’impressionnent玛丽·居里ivv谢谢你首先,我要感谢Jacky,你的支持,你的信任和我们分享的讨论让我在因此,你为这篇论文的成功和我在团结中的成长做出了贡献我想感谢所有尽管医疗环境困难,他们还是确保我在最好的条件下得到支持。我感谢Anne Etien教授和Xavier Blanc教授报告我的工作。我还要感谢评审团主席Antoine Beugnard教授和HDR讲师Chouki Tibermacine我特别要感谢我的论文导师Christelle Urtado和Sylvain Vauttier,没有他们,我就不可能有这次冒险。在我三年的论文生涯中,他们一直信任我,他们的支持对我很有帮助。他们的科学、教育和人文素质对我的工作至关重要。因此,我今天可以说,我不仅有两个非常好的论文导师,而且还有两个非常好的同事,我有一个巨大的乐趣与他们合作我们边喝咖啡边聊天的友好时刻我要感谢我还要感谢Pierre Jean和Pierre- Antoine Jean,感谢他们在解决我可能遇到的技术问题方面提供的建议和支持,以及他们的我感谢也感谢他们给我的各种建议我亚历山大和皮埃尔-安托万,你们有权得到一个特别的奉献!我还要感谢所有其他人,特别是Cécile 、 Lucie 、 Camille 、 Valentin 、 Léa 、 Yann 、 Clara 、 Emilie 、 Thibault 、 Clément 、Roland、Pascale,以及我在整个论文过程中遇到的所有人vi最后,我要非常感谢我的家人在这篇论文中的坚定支持爸爸你为我的成功做出了贡献,我将永远感激你。感谢玛丽在- 关于你们所有人-viiviiiix摘要在软件工程这种多方面的工具包括称为度量的测量、自动化代码生成系统和决策支持系统,无论是否具有预测性后者的应用范围很广:检测难闻的气味、分类票据等。在本文中,我们感兴趣的是基于对源代码的贡献,更具体地说,是对应用程序运行时体系结构的贡献,生成与软件项目行为相关的度量我们还使用与项目历史和开发相关的元数据研究的第一个问题涉及描述错误的软件票证的分类。我们在科学界认可的数据集上训练神经网络,并使用遗传算法优化其超参数通过这种方式,我们获得了比最先进的分类性能更高的分类性能讨论的第二个问题是为软件体系结构开发做出贡献的开发人员的流动已经制定了对主要或中等贡献的开发人员的检测,并提出了专门的指标然而,现有的方法C’est pourquoi nous avons 我们以经验的方式验证了这个指标,然后我们对我们的指标所提取的不同类别的开发人员进行了分析结果强调了特定开发人员类别的存在,包括在整个项目生命周期中对体系结构代码做出重大贡献的经验丰富的核心开发人员检测具有潜在体系结构知识的有经验的开发人员也是我们正在研究的一个问题与现有的方法不同,我们使用由于科学文献中没有可用的标记数据集为此,我们从17个开源项目中挑选了数百名开发人员然后,我们为每个为这些项目做出贡献的开发人员计算23个指标最后,我们使用专业的社交媒体和项目文档手动标记我们的数据集然后,我们在该数据集上训练分类器并对其进行我们的结果显示了在检测有经验的开发人员配置文件方面的良好性能,这使得最后,我们通过交叉研究通过对体系结构的贡献度量获得的结果和通过开发人员的自动分类获得的结果来实现。本研究分析了经验丰富我们还分析了结果表明,很我们还使用为实证软件工程和机器学习研究定义的方法框架对我们工作的可重复性进行了评估xxi材料表图十七表表十九列表1 引言11.1 一般背景11.2 贡献21.3 论文大纲4一、研究背景I.2协助架构92.1 软件体系结构的基本概念102.1.1 软件组件102.1.2 组件之间的连接器102.2 体系结构级别2.2.1 Dedal 11架构模型2.2.2 建筑设计师132.2.3 执行中的体系结构2.2.4 Spring15框架2.3 软件指标162.3.1 与代码17相关的指标2.3.2 专用于架构的指标和气味2.3.3 与流程相关的指标192.4 软件开发专业知识192.5 架构师的专业知识和角色2.6 软件工程中的机器学习222.6.1 机器学习的类型2.6.2 机器学习中使用的性能指标232.6.3 机器学习在软件工程中的应用领域2.7 动机252.8 结论26xiii十二I.3最新技术水平273.1 关于票据283.1.1 现有数据集283.1.2 门票分类方法293.1.3使用Herzig等人的数据集对bug票证进行二进制分类的方法。................................313.1.4 与其他数据集相关的方法333.1.5 讨论343.2 软件贡献的衡量353.2.1 Mockus等人的工作..........................................................................................................353.2.2 Bird等人的工作................................................................................................................363.2.3 福柯等人的著作。............................................................................................................363.2.4 讨论373.3 衡量3.3.1 开发人员分组方法393.3.2 分析方法413.3.3 讨论463.4 结论46二、捐款49II.4错误514.1 导言524.2 研究问题534.3 全球办法534.4 详细方法564.4.1 从错误中提取票证564.4.2 语料库的文本处理574.4.3 分类器的选择614.4.4 使用遗传算法624.5 结果664.5.1 分类器的选择664.5.2 中期结果674.5.3 68分类器的遗传算法优化4.6 分类器在其他案例研究中的应用4.6.1 门票标签704.6.2 分类结果704.6.3 门票分类的解释性714.7 票务写作辅助原型4.8 综合、局限和前景774.8.1 合成784.8.2 有效性的不确定性784.8.3 限制794.8.4 前景79II.5衡量对体系结构的贡献5.1 导言825.2 捐款模式835.2.1 软件贡献的形式化5.2.2 捐款类型的特征845.2.3 作者对贡献重要性的衡量5.2.4 开发人员的分类875.3 研究问题885.4 建议的方法895.4.1 案例研究5.4.2 实验背景和分析过程5.5 结果915.5.1 开发人员简介和架构贡献925.5.2 总体拥有率与建筑拥有955.5.3 营业额和开发人员965.6 综合、局限和前景975.6.1 合成975.6.2 有效性的不确定性995.6.3 限制1005.6.4 观点100二.6 项目中有经验的开发人员的自动分类开源1036.1 导言1056.2 研究问题1056.3 全球方法1066.4 详细方法1086.4.1 创建带6.4.2 开发人员提取1096.4.3 软件指标的提取和与开发人员的1096.4.4 数据集注释1106.4.5 变量的处理1136.4.6 数据的过度采样1146.4.7 分类器的选择xv6.5 结果1166.5.1 分类器的选择6.5.2 中期结果1186.5.3 分类器的可解释性1196.6 综合、局限和前景1216.6.1 合成1226.6.2 有效性的不确定性1226.6.3 限制1236.6.4 数据处理和伦理1236.6.5 前景124II.7通过数据和机器学习1257.1 研究问题1267.2 方法1277.2.1 BroadleafCommerce案例研究7.2.2 建议的方法1277.3 结果1297.3.1 经验丰富的开发人员相对于其体系结构贡献的分布1297.3.2 开发人员不断发展的特点,获得了经验。1307.4有效性性1327.5 综合、局限与展望1327.5.1 合成1357.5.2 有效性的不确定性1357.5.3 限制1367.5.4 前景1368 实施和可重复性1378.1 科学完整性和重现性1388.1.1 经验软件工程中的可重复性1388.1.2 机器学习中的可重复性1408.1.3 用于再现性的1428.2 实施和使用的数据1428.2.1使用对体系结构的贡献的评估指标对开发人员进行分类8.2.2 错误票证的自动分类1448.2.3 有经验的开发人员分类1458.2.4 通过交叉数据和机器学习研究经验丰富的开发人员概况1469 结论和展望1499.1 本论文贡献1509.1.1 错误票证的自动分类1509.1.2 对体系结构的贡献9.1.3 经验丰富的开发人员的自动分类1519.1.4 研究有经验的开发人员1529.2 局限性和前景1539.2.1 与票据1539.2.2 与衡量对架构9.2.3 与开发人员1549.2.4 与开发人员概况研究相关的观点9.2.5 实验视角154出版物157参考书目159图表图I.2.1 HAS系统的Dedal架构级别.图I.2.2架构师在生命周期内必须管理的系统级别[ M cB07]图I.2.3监督学习的机制........................................................................................................................ 23图I.2.4无监督学习中的分区机制........................................................................................................ 23图I.2.5真阳性(VP)、假阳性(FP)和真阴性的可视化(NV)和假阴性(FN)。..........................................................................................24图I.3.1围绕Nakakoji开源软件项目的社区概念等。 [NYN+02]。..........................................................................................................39图I.3.2 Di Bella等人创建的开发人员类别 [DBSS13] .......................................................................41图I.3.3 Sindhgatta开发人员能力领域的提取和识别过程[ Sin08] ..................................................42图I.3.4 Hauff和Gousios过程[HG15]数据提取和上传开发人员和工作机会之间的关系。............................................................................... 44图I.3.5 CVExplorer开发人员技能提取流程[ GF16] ........................................................................ 45图II.4.1 Bug票证分类流程的总体视图。...........................................................................................54图II.4.2 Bug票证分类流程的总体视图。...........................................................................................58图II.4.3选择票据分类器的过程。.......................................................................................................61图II.4.4分类器选择过程。...................................................................................................................62图II.4.5分类器选择过程.......................................................................................................................67图II.4.6 4种不同人群规模的适应度变化............................................................................................69图II.4.7项目票证分类产生的混淆矩阵:BroadleafCommerce、Apache Pulsar和JHipster。..................................................... 72图II.4.8 BroadleafCommerce的机票被认为是假阴性。....................................................................73图II.4.9 Apache Pulsar票据被视为假阴性........................................................................................ 74图II.4.10 JHipster票据被视为假阴性................................................................................................. 74图II.4.11 BroadleafCommerce的机票被视为误报。..........................................................................75图II.4.12 Apache Pulsar票证被视为假阳性......................................................................................75图II.4.13 JHipster票据被视为假阳性................................................................................................. 76十七十八、图表图II.4.14票证书写辅助原型错误类。..........................................................................................................................77图II.5.1开发人员贡献的提取和分析过程...........................................................................................90图II.5.2按项目版本划分的对运行时体系结构的贡献百分比BroadleafCommerce和开发人员。..................................................................................93图II.5.3每个版本的Broad-leafCommerce..............................................................................................94按类别划分的开发人员数量图II.5.4BroadleafCommerce94图II.5.5显示贡献者类别变化的字符串图在BroadleafCommerce97项目的两个版本之间图II.6.1创建开发人员数据集的过程.................................................................................................109图II.6.2 4倍评估期间生成的综合数据图II.6.3开发商分类的分类器选择过程116图II.6.4表一数值的图形表示I.6.6 119图II.6.5表I I.6.2中23个变量的相关矩阵(Spearman)120图II.6.6 4倍中 121图二.7.1根据第一章I.6127图二.7.2根据第一章I.5128图II.7.3所研究项目的每个版本所使用的数据交叉引用过程.........................................................128图II.7.4开发人员类别在版本之间的变化Vn和Lav版本Vn+1128..........................................................................................................................................图II.7.5BroadleafCommerce130版本中无经验(NSSE)、有经验(SSE)开发人员数量和代码行(LoC)数量图II.7.6按贡献者类别划分的经验丰富的开发人员.........................................................................131图II.7.7 22名开发人员在类别之间转换后变量的变化有经验的和无经验的。............................................................................................... 133图II.7.8 22名开发人员在类别之间转换后变量的变化有经验的和无经验的。............................................................................................... 134图8.1影响再现性的要素按方向排列他们在研究过程中的关系[GR12] ................................................................................139图片列表表I.3.1 Antoniol等人的数据集详细信息。 [AAP+08]。................................................................28表I.3.2 Herzig等人数据集的详细信息 [HJZ13]。............................................................................29表I.3.3票证分类的现有方法。............................................................................................................ 30表I.3.4使用Herzig数据集进行票证分类的最新技术水平等。 [HJZ13]。............................................................................................................... 31表I.3.5 Kallis等人获得的结果。 [KDCP21]。................................................................................34表I.3.6围绕开发商贡献衡量的工作.................................................................................................... 35表I.3.7分析和/或分组开发人员恐惧的现有方法..............................................................................38表I.3.8 Di Bella等人[DBSS13]用于开发人员分组的变量。....................................................................40表II.4.1使用30,000个特征和10倍验证测试的6个分类器获得的结果66表II.4.2 Terdchanakul等人[THPM17]获得的结果之间的比较(灰色)和我们的方法(蓝色)....................................................................................69表II.4.3 Broadleaf-Commerce、Apache Pulsar和JHipster项目票据分类测量结果。....................71表II.5.1BroadleafCommerce95项目13个版本的Fisher测试结果表II.6.1用于开发人员数据集的17个项目列表。表II.6.2为每个开发商提取的23个指标的详细信息..............................................................................................................................................................111表II.6.3用于注释数据集的标签。.....................................................................................................112表II.6.4重新注释113表II.6.5对数已应用。..........................................................................................................................114表II.6.6使用Scikit-learn分类器获得的结果,采用分层4倍进 化 法。........................................ 117表II.6.7 F1测量值和置信区间、召回率、精密度在四种配置上都是正确的。..........................................................................................118十九
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功