Assessing Developer Beliefs: A Reply to "Perceptions, Expectations, and Challenges in Defect Prediction"
用二次定量分析扩展定性研究可能是有见地的(前者提出了后者可以回答的有见地的问题)。记录开发人员的信念应该是软件工程研究的开始,而不是结束。一旦找到普遍的信念,就应该对照现实世界的数据进行检查。例如,本文发现了几个显着的差异之间的经验证据和开发人员的信念记录在万等人。最近的TSE论文“缺陷预测中的感知、期望和挑战”。通过报告这些差异,我们可以阻止开发人员(a)在无关紧要的事情上浪费时间或(b)忽略重要的影响。对于未来,我们将鼓励更多的“扩展研究”的定性结果与定量的经验证据。
2019-04-11 cs.SE
The perception of Architectural Smells in industrial practice
建筑技术债务(ATD)被认为是工业实践中最重要的技术债务类型。在这项研究中,我们采访了21名软件工程师和架构师,调查一种特定类型的ATD,即建筑气味(AS)。我们的目标是更好地理解AS现象,并支持从业者更好地管理它,研究人员提供相关支持。本研究的结果提供了见解从业者如何看待AS和他们如何介绍他们,他们经历的维护和发展的问题,并与AS的存在,以及他们采用什么样的做法和工具来管理AS。
2021-10-13 cs.SE
Model-Assisted and Human-Guided: Perceptions and Practices of Software Professionals Using LLMs for Coding
基于对131名软件从业者的全球调查,本研究揭示了大语言模型在编码任务中的实际应用、感知益处与风险,并指出开发者普遍将其视为辅助工具,为负责任采纳提供了实践视角。
2025-10-10 cs.SE
Requirements Engineering for Automotive Perception Systems: an Interview Study
背景:驾驶自动化系统(DAS),包括自动驾驶和高级驾驶员辅助,是一个重要的安全关键领域。DAS通常包含使用机器学习(ML)来分析车辆环境的感知系统。目的:我们探索新的或不同的需求工程(RE)的主题和挑战,从业者在这一领域的经验。方法:我们对五家公司的19名参与者进行了访谈研究,并进行了主题分析。结果如下:从业者很难指定前期需求,并且经常依赖场景和操作设计域(ODD)作为RE工件。挑战涉及ODD检测和ODD退出检测、现实场景、边缘案例规范、分解需求、可追溯性、创建数据和注释规范以及量化质量要求。结论:我们的研究结果有助于了解RE是如何实践DAS感知系统和收集的挑战可以推动未来的研究DAS和其他ML启用系统。
2023-02-23 cs.SE
Initial Insights on MLOps: Perception and Adoption by Practitioners
本文通过调查不同业务环境中的从业者,分析 MLOps 指南的实际采用情况与认知,揭示其优势、挑战、学习曲线及未来趋势,为更高效可靠的 AI 应用奠定基础。
2024-08-02 cs.SE
Assessing Practitioner Beliefs about Software Defect Prediction
仅仅因为软件开发人员说他们相信“X”,并不一定意味着“X”是真的。正如这里所示,在最近的软件工程文献中列出了许多信念,这些信念只得到一小部分可用数据的支持。因此,我们要问,信念和证据之间的这种脱节的根源是什么?为了回答这个问题,我们在数十个开源项目中看到的30万多个变化中寻找十个信念的证据。其中一些信念在所有项目中都得到了强有力的支持;特别是,“涉及更多添加和删除行的提交更容易出现bug”和“由其所有者(贡献最多更改的人)贡献较少行的文件更容易出现bug”。大多数被研究的广泛持有的信念在数据中只得到零星的支持;即大的影响可能出现在项目数据中,然后在随后的发布中消失。这种零星的支持解释了为什么开发人员相信与他们以前的工作相关的东西,但不一定是他们当前的工作。我们的结论是,我们需要改变与软件工程争论的性质。具体而言,虽然报告当前有效的影响很重要,但报告随着时间的推移会发生哪些影响也很重要。
2020-04-08 cs.SE
It is Giving Major Satisfaction: Why Fairness Matters for Software Practitioners
本研究通过对108名软件从业者的调查和有序逻辑回归分析,揭示四类公平感知显著影响工作满意度,且对弱势群体和经验较少者影响更强。
2025-07-24 cs.SE
Configuration Defects in Kubernetes
本文研究Kubernetes配置缺陷,通过分析719个缺陷,发现15类缺陷,并开发linter检测两种严重缺陷,揭示26个新缺陷。
2025-12-07 cs.SE
Data Leakage in Automotive Perception: Practitioners' Insights
Volvo Cars(沃尔沃汽车);University of Gothenburg(哥德堡大学);Chalmers University of Technology(查尔姆斯理工大学);University of Groningen(格罗宁根大学)
研究通过访谈探讨自动驾驶感知领域从业者对数据泄露的认知、经验及应对策略,揭示其作为社会技术协调问题的特性,强调需建立共享定义和跨角色沟通以提升ML可靠性。
2026-04-08 cs.CR cs.LG cs.SE
Understanding the Perceived Relevance of Capability Measures: A Survey of Agile Software Development Practitioners
内容:鉴于敏捷软件开发(ASD)实践的快速性和迭代性,在团队组建的背景下建立对能力度量的更深入见解至关重要,因为个人和团队的能力会影响团队的绩效和生产力。虽然以前的系统性文献综述(SLR)综合了ASD能力测量的最新技术水平,重点是选择个人到敏捷团队,以及与团队绩效和成功相关的能力,但确定SLR的结果在多大程度上适用于实践可以为研究和实践提供渐进的见解。目的:我们的研究调查了敏捷实践者如何看待个人和团队层面的措施,以表征敏捷团队及其成员的能力的相关性。此外,为了仔细检查从业者的看法的变化,我们的研究进一步分析了分层人口统计学群体的看法。方法:我们进行了一项基于网络的调查,使用问卷建立的能力从以前进行的SLR确定的措施。结果如下:我们的调查答复(60)表明,127个个人和28个团队的能力措施被认为是相关的大多数从业者。我们还确定了七个个人和一个团队的能力措施,以前没有被我们的SLR的特点。被调查的实践者认为,敏捷团队成员的责任感和提问技能显著代表了成员的能力。结论:我们的调查结果与SLR的发现一致。据观察,与技术和创新方面相比,与社会方面有关的措施占主导地位。我们的研究结果可以支持敏捷实践者在他们的团队组成决策。
2021-05-20 cs.SE
A training process for improving the quality of software projects developed by a practitioner
背景:软件产品的质量取决于开发产品时遵循的软件过程的质量。因此,许多高等教育机构(HEI)和软件组织都实施了软件过程改进(SPI)培训课程来提高软件质量。目的:由于课程的持续时间是HEI和软件组织关注的问题,我们调查了软件项目的质量是否会通过将原始个人软件过程(PSP)课程的10个作业的活动重新组织成具有较少作业的修改的PSP(即,七个任务)。方法:作业是按照修改后的PSP开发的,作业较少,但包括原始PSP中建议的阶段、形式、标准和日志。软件作业质量的衡量是基于缺陷密度。结果如下:当原始PSP中的活动被重新排序为更少的任务时,随着从业者通过PSP培训的进展,缺陷密度以统计学显著性提高。结论:我们的改进PSP可以应用于学术界和工业界的环境,这是在减少PSP的训练时间的意义上关注
2017-05-29 cs.SE
Negative Effects of Gamification in Education Software: Systematic Mapping and Practitioner Perceptions
本研究通过系统映射和焦点小组讨论,揭示了教育软件中游戏化元素(如徽章、排行榜)的常见负面效应及开发者认知不足,为权衡游戏化利弊提供依据。
2023-05-15 cs.SE
Practitioners' Challenges and Perceptions of CI Build Failure Predictions at Atlassian
Monash University(莫纳什大学);Atlassian(亚特拉斯西安公司);The University of Melbourne(墨尔本大学)
本研究针对 Atlassian 公司的 CI 构建失败问题开展实证研究,发现仓库维度是影响失败的关键因素,开发者认为该问题具有挑战性,且 CI 构建预测可提供前瞻洞察、辅助决策,为优化 CI 流程提供参考。
2024-05-14 cs.LG cs.SE
Bugs in Infrastructure as Code
基础架构即代码(IaC)脚本用于自动化软件开发和部署基础架构的维护和配置。IaC脚本本质上可能很复杂,包含数百行代码,导致难以调试的缺陷,并导致大规模的系统差异,例如大规模的服务中断。IaC脚本的使用越来越流行,但这些脚本中出现的缺陷的性质还没有被系统地分类。缺陷的系统分类可以告知从业者过程改进的机会,以减轻IaC脚本中的缺陷。本文的目标是帮助软件从业者改善他们的开发过程中的基础设施作为代码(IaC)脚本的缺陷类别分类IaC脚本的提交消息和问题报告描述的定性分析的基础上。我们挖掘开源版本控制系统收集了四个组织,即Mirantis,Mozilla,Openstack和维基共享资源进行我们的研究。我们使用1021、3074、7808和972个提交,分别映射到165、580、1383和296个IaC脚本,这些脚本是从Mirantis、Mozilla、Openstack和Wikimedia Commons收集的。与89评级,我们应用的正交缺陷分类(ODC)方法的缺陷类型属性的缺陷进行分类。我们还回顾了以前的文献,使用ODC分类缺陷,并比较IaC脚本与26个非IaC软件系统的缺陷类别分布。分别对于Mirantis、Mozilla、Openstack和Wikimedia Commons,我们观察到(i)49.3%、36.5%、57.6%和62.7%的IaC缺陷包含语法和配置相关缺陷;(ii)与…
2019-07-17 cs.SE
Two Sides of the Same Coin: Software Developers' Perceptions of Task Switching and Task Interruption
在不断发展的软件开发世界中,在任务之间来回切换已经成为常态。虽然任务切换通常可以让开发人员有效地执行任务,并通过灵活的途径提高创造力,但频繁的任务切换也会带来一些后果。对于像软件开发这样的高动力任务来说,“心流”,即专注的高生产力状态,是至关重要的。每一次转换都会分散开发人员的心流,要求他们转换精神状态,并需要额外的沉浸时间才能回到心流中。然而,由于任务切换导致的时间碎片而浪费的时间在很大程度上是不可见的,并且不被开发人员和管理人员注意到。我们对141名软件开发人员进行了一项调查,调查他们对任务切换和任务中断之间差异的看法,并探讨他们是否认为任务切换和中断一样具有破坏性。我们发现,从业者认为任务切换(计划或计划外)和随机中断的破坏性之间有相当大的相似性。高水平的认知成本和低性能是我们的受访者所阐述的任务切换的主要后果。我们的研究结果拓宽了软件从业者之间的流动变化的特点和类别的破坏性开关,以及日常站立会议所造成的中断的后果的理解。
2018-05-15 cs.SE
Exploring software developers' work practices: Task differences, participation, engagement, and speed of task resolution
在寻求理解的过程中制定的软件开发,越来越多的研究挖掘软件库。特别是,研究已经结束,以显示团队如何解决软件缺陷。虽然这些工作很有用,但我们认为,除了与缺陷相关的问题之外,对通常执行的活动范围进行大规模检查,将有助于我们更充分地了解缺陷发生的原因及其后果。更一般地说,这些探索将揭示团队过程如何在所有软件开发工作中发生。因此,我们扩展这样的研究,调查软件从业人员如何工作,同时承担的软件任务,通常执行的范围。多种形式的纵向案例研究的分析表明,软件从业人员主要参与修复缺陷,他们的参与covariate取决于他们所执行的工作的性质。此外,多种外部因素影响任务解决的速度。我们的研究结果表明,行为和内在的问题可能与外在因素相互作用,成为软件任务解决速度的重要预测因素。
2021-04-16 cs.SE
Developer Perceptions on Utilising Low-Code Approaches to Build Accessible and Adaptive Applications for Seniors
本文通过访谈18名从业者评估低代码MDE工具AdaptForge,发现其能缓解开发限制,助力为老年人构建无障碍自适应应用,并提出设计建议。
2025-08-05 cs.SE
Who Uses Personas in Requirements Engineering: The Practitioners' Perspective
本文通过访谈26名从业者和调查203名从业者,研究了人物画像在软件开发中的使用实践与挑战,发现其使用频率、有效性存在差异且人类特征常被忽视,为从业者提供了克服挑战的可行建议。
2024-03-23 cs.SE
Efficacy of static analysis tools for software defect detection on open-source projects
本研究针对Java、C++、Python三种语言的多个数据集,对比SonarQube等四款主流静态分析工具的缺陷检测性能,发现SonarQube表现最优,为工具选择提供参考并指明未来改进方向。
2024-05-20 cs.SE
Evaluating software defect prediction performance: an updated benchmarking study
准确地预测错误的软件单元可以帮助从业者瞄准错误的单元,并优先考虑他们的工作,以保持软件质量。之前的研究使用机器学习模型来检测错误的软件代码。我们回顾过去的研究,并指出潜在的改进。我们的新研究提出了一个修订的基准配置。该配置考虑了许多新的维度,例如类分布抽样、评估指标和测试程序。这项新研究还包括新的数据集和模型。我们的研究结果表明,预测的准确性通常是好的。然而,预测能力受到评估指标和测试程序(频率论或贝叶斯方法)的严重影响。分类器的结果取决于软件项目。虽然很难选择最好的分类器,但研究人员应该考虑不同的维度来克服潜在的偏见。
2019-01-07 cs.SE
Unveiling the Life Cycle of User Feedback: Best Practices from Software Practitioners
本研究通过对40名实践者的访谈,揭示了组织如何通过结构化活动管理用户反馈,并提出了用户反馈生命周期及最佳实践,以帮助组织提升用户理解并减少流失。
2023-09-13 cs.SE
Managing Security Issues in Software Containers: From Practitioners Perspective
本文通过两项半结构化访谈研究,从软件工程从业者视角分析容器化项目中的安全挑战与管理方法,并识别出增强容器安全的技术与非技术使能因素。
2025-04-10 cs.SE
Rediscovery Datasets: Connecting Duplicate Reports
同一个缺陷可能会被多个客户端重新发现,从而导致计划外停机,降低客户满意度。在流行的开放源码软件的情况下,定期报告大量缺陷。这些报告中有大量实际上是彼此重复/重新发现的。研究人员分析了过去与重复缺陷报告内容相关的因素。然而,其他一些潜在的重要因素,如重复缺陷报告之间的相互关系,在缺陷跟踪系统(如Bugzilla)中并不容易获得。这些信息可以加快错误修复,使有效的分类,提高客户档案等,在本文中,我们提出了三个缺陷重新发现数据集挖掘Bugzilla。这些数据集捕获三组开源软件项目的数据:Apache、Eclipse和KDE。这些数据集包含18年(1999-2017)期间约91.4万份缺陷报告的信息,以捕获重复缺陷之间的相互关系。我们相信,与社区共享这些数据将有助于研究人员和从业人员更好地理解缺陷重新发现的本质,并增强对缺陷报告的分析。
2017-03-18 cs.SE
Practical Feasibility of Sustainable Software Engineering Tools and Techniques
University of Glasgow(格拉斯哥大学)
研究探讨了现有可持续软件工程工具在工业流程中的实用性,分析了技术、组织和文化因素对实际采纳的影响,并提出了符合现实开发流程的设计指导。
2026-03-30 cs.SE
Quality attributes of test cases and test suites -- importance & challenges from practitioners' perspectives
本研究通过工业调查,揭示实践者认为故障检测、可用性等质量属性最重要,并指出定义不足、缺乏度量等共性挑战,为研究与支持提供方向。
2025-07-08 cs.SE
SQAPlanner: Generating Data-Informed Software Quality Improvement Plans
Faculty of Information Technology, Monash University(莫纳什大学信息技术学院)
针对缺陷预测洞见缺乏可操作性和风险阈值的问题,本文提出AI驱动的SQAPlanner,生成四类规则化指导及阈值,并通过可视化与实证评估验证其有效性和实用性。
2021-03-27 cs.LG cs.SE
An extensive empirical study of inconsistent labels in multi-version-project defect data sets
缺陷数据集的标注质量直接影响缺陷预测模型的可靠性。在这项研究中,对于多版本项目缺陷数据集,我们提出了一种方法来自动检测标签不一致的实例(即具有相同的源代码,但不同的标签在多个版本的软件项目的实例的现象),并了解其对缺陷预测模型的评估和解释的影响。基于五个多版本项目缺陷数据集(无论是广泛使用的还是最新的文献中),我们发现:(1)在所调查的缺陷数据集中,大多数版本都包含不同程度的不一致标签;(二)在训练数据集合中存在不一致的标签可显著地改变缺陷预测模型的预测性能识别实质上不同的真正有缺陷的模块;以及(3)由于存在不一致的标签,缺陷预测模型中的独立变量的重要性排序可以实质上改变。上述发现揭示了缺陷数据集中不一致的标签可以深刻地改变缺陷预测模型的预测能力和解释。因此,我们强烈建议从业者应该检测和排除缺陷数据集中不一致的标签,以避免其对缺陷预测模型的潜在负面影响。更重要的是,研究人员有必要改进现有的缺陷标签收集方法,以减少不一致的标签。此外,有必要重新检查以前的研究使用多版本项目的缺陷数据集与高比例的不一致的标签的实验结论。
2021-01-27 cs.SE
JITLine: A Simpler, Better, Faster, Finer-grained Just-In-Time Defect Prediction
即时(JIT)缺陷预测模型是一个分类器,用于预测提交是否是缺陷引入。最近,CC 2 Vec--一种用于即时缺陷预测的深度学习方法--已经被提出。然而,CC 2 Vec需要整个数据集(即,训练+测试)进行模型训练,假设所有未标记的测试数据集都是预先可用的,这不符合即时缺陷预测的关键原则。我们的复制研究表明,在排除用于模型训练的测试数据集后,CC 2 Vec的F度量值对于OpenStack下降了38.5%,对于Qt下降了45.7%,这突出了排除用于Just-In-Time缺陷预测的测试数据集的负面影响。此外,CC 2 Vec无法在线路级别执行细粒度预测(即,对于给定的提交,哪些行是最危险的)。在本文中,我们提出了JITLine --一种即时缺陷预测方法,用于预测缺陷引入提交并识别与该缺陷引入提交相关联的行(即,缺陷线)。通过对来自OpenStack和Qt的37,524次提交的案例研究,我们发现我们的JITLine方法比最先进的方法(即,CC 2 Vec和DeepJIT)和我们的方法在行级别的细粒度预测比基线NLP方法准确133%-150%(前10名准确度)。因此,我们的JITLine方法可以帮助从业者更好地优先考虑引入缺陷的提交,并更好地识别有缺陷的行。
2021-03-16 cs.SE
Let's Go to the Whiteboard (Again):Perceptions from Software Architects on Whiteboard Architecture Meetings
白板在软件架构师的日常生活中起着至关重要的作用,因为他们经常会在白板上组织会议,讨论新的架构,对架构的一些建议更改,架构和代码之间的不匹配等等。虽然已经研究了很多关于软件架构师,他们产生的架构,以及他们如何产生它们,但仍然缺乏对这些白板会议的详细了解。在本文中,我们提供了一个混合方法的研究,包括半结构化的采访和随后的调查,以了解白板架构会议上的软件架构师的看法。我们重点关注五个方面:(1)为什么要召开这些会议,这些会议参与者的经验水平有什么影响,架构师如何记录会议,会议结束后进行了什么样的更改并将其结果转移到实施中,数字白板扮演什么角色?在研究这些方面时,我们确定了与会议的技术方面和社会方面有关的12项意见。这些见解对进一步的研究有影响,为从业者提供具体的建议,为未来的工具设计提供指导,并建议教育未来的软件架构师的方法。
2022-10-28 cs.SE
A Systematic Mapping Study and Practitioner Insights on the Use of Software Engineering Practices to Develop MVPs
本研究通过系统映射研究和焦点小组访谈,梳理了2013至2020年间MVP开发中的软件工程实践,发现构思与评估实践丰富,但技术可行性评估和工作量估算研究不足,并提出了未来研究方向。
2023-05-15 cs.SE
Toward a consistent performance evaluation for defect prediction models
在缺陷预测领域,已经提出了许多缺陷预测模型,并且不断有新的模型被开发出来。然而,对于如何评估新提出的模型的性能,还没有达成共识。在本文中,我们的目标是提出物质,一个框架,以Ard一个consistentpErprisoncompaRison,这使得模型的性能直接比较不同的研究。我们采取三个行动来建立一个一致的评估框架,缺陷预测模型。首先,我们提出了一个简单易用的无监督基线模型ONE(glObal baseliNe modEl),以提供“单点比较”。其次,我们建议使用SQA-effort-aligned阈值设置来进行公平的比较。第三,我们建议统一报告评估结果,并为此提供一套核心绩效指标,以便进行跨研究比较,取得真正的进展。实验结果表明,MATTER可以作为一个有效的框架来支持对缺陷预测模型的一致性性能评估,从而可以帮助确定新提出的缺陷预测模型是否对实践者有用,并告知缺陷预测道路上的真正进展。此外,当应用MATTER来评估近年来提出的代表性缺陷预测模型时,我们发现其中大多数(如果不是全部)在SQA工作量感知预测性能方面并不优于简单的基线模型ONE。这表明缺陷预测的实际进展被高估了。因此,我们建议,在未来的研究中,当提出任何新的缺陷预测模型时,应使用MATTER来评估其实际有用性(在相同的基准测试数据集上),以推进缺陷预测的科学进步。
2023-02-04 cs.SE
Task Interruptions in Requirements Engineering: Reality versus Perceptions!
任务切换和中断是软件开发项目中的日常现实:开发人员在需求工程(RE)、编码、测试、日常会议和其他任务之间切换。任务转换可以通过增加信息流和有效的时间管理来提高生产力。然而,它也可能导致认知负荷重新定位主要任务,这导致开发人员的生产力下降和错误增加。这种认知负荷甚至更大的情况下,认知要求的任务,作为典型的RE活动。为了比较RE中任务切换的现实与开发人员的感知,我们进行了两项研究:(i)对19名开发人员的5,076个记录任务的案例研究分析和(ii)对25名开发人员的调查。我们的回顾性分析的结果表明,在所有的情况下,RE中断的破坏性在统计上不同于其他软件开发任务,RE相关的任务更容易受到中断相比,其他任务类型。此外,我们发现,上下文切换,中断任务的优先级,以及中断源和时间是影响RE中断的关键因素。我们还提供了一组RE任务切换模式,以及从业者和研究人员的建议。虽然我们的回顾性分析结果表明,自我干扰比外部干扰更具破坏性,但开发人员对各种干扰源的破坏性有不同的看法。
2017-07-04 cs.SE
Does class size matter? An in-depth assessment of the effect of class size in software defect prediction
在过去的20年里,缺陷预测研究已经普遍承认类大小对软件预测性能的影响。为了量化面向对象(OO)度量和缺陷之间的关系,建模必须考虑类大小对缺陷的直接和潜在的间接影响。然而,一些研究表明,在建立预测模型时,不能简单地控制或忽略大小。因此,是否以及何时控制班级规模仍然是一个问题。这项研究提供了一个新的深入检查类大小的影响之间的关系,面向对象的度量和软件缺陷或缺陷倾向。我们评估类大小对软件系统中缺陷和缺陷倾向的数量的影响,通过采用基于回归的调解(自举)和适度分析,调查类大小在计数和二进制缺陷预测中的直接和间接影响。我们的研究结果表明,规模效应并不总是显着的所有指标。在我们研究的七个OO指标中,大小一致地仅对对象之间的耦合(CBO)和缺陷/缺陷倾向性之间的关系具有显著的中介影响,并且对扇出和缺陷/缺陷倾向性之间的关系具有潜在的适度影响。根据研究结果,我们提出三点建议。第一,我们鼓励研究人员和从业人员研究班级规模对他们手头的具体数据的影响,并通过使用拟议的统计调解/调节程序。第二,我们鼓励实证研究在相关的情况下调查其模型中可能的附加变量的间接影响。第三,本研究所采用的统计方法可用于其他经验软件工程研究,以调查潜在的中介/调节者的影响。
2021-06-08 cs.SE
Connecting Software Metrics across Versions to Predict Defects
State Key Laboratory for Novel Software Technology, Nanjing University(南京大学计算机软件新技术国家重点实验室);Department of Computer Science and Technology, Nanjing University(南京大学计算机科学与技术系);Institute for Interdisciplinary Information Sciences, Tsinghua University(清华大学交叉信息研究院)
准确的软件缺陷预测可以帮助软件从业者有效地将测试资源分配到容易出现缺陷的模块上。在过去的几十年里,人们一直致力于建立准确的缺陷预测模型,包括开发质量缺陷预测器和建模技术。然而,目前广泛使用的缺陷预测,如代码度量和过程度量不能很好地描述软件模块如何改变项目的发展,我们认为这是重要的缺陷预测。为了解决这一问题,本文提出使用连续软件版本中的历史版本序列作为缺陷预测器。此外,我们利用递归神经网络(RNN),一种流行的建模技术,以HVSM作为输入来构建软件预测模型。实验结果表明,在大多数情况下,所提出的HVSM为基础的RNN模型有一个显着更好的努力意识的排名效率比常用的基线模型。
2017-12-28 cs.LG cs.SE
On the Use of Deep Learning in Software Defect Prediction
自动化软件缺陷预测(SDP)方法越来越多地被应用,通常使用机器学习(ML)技术。然而,现有的基于ML的方法需要手动提取的特征,这是繁琐的,耗时的,很难捕捉的语义信息报告的错误报告工具。深度学习(DL)技术为从业者提供了从更复杂和高维数据中自动提取和学习的机会。目的:本研究的目的是系统地识别,分析,总结和综合的DL算法的SDP在文献中的利用现状。方法:我们系统地选择了102个同行评议的研究,然后使用从这些研究中提取的数据进行定量和定性分析。结果如下:主要亮点包括:(1)大多数研究应用了监督DL;(2)三分之二的研究使用度量作为DL算法的输入;(3)卷积神经网络是最常用的DL算法。结论:基于我们的研究结果,我们建议(1)开发更全面的DL方法,自动捕获所需的功能;(2)使用不同的软件工件以外的源代码;(3)采用数据增强技术来解决类不平衡的问题;(4)发布复制包。
2022-10-05 cs.SE
Security Defect Detection via Code Review: A Study of the OpenStack and Qt Communities
本文通过分析 OpenStack 和 Qt 社区四个项目的代码审查评论,实证研究了安全缺陷检测的现状与效果,发现安全缺陷讨论较少但审查者建议多被采纳,并提出人工审查与自动化工具结合以及行为标准化的建议。
2023-07-05 cs.SE
A Systematic Review of Unsupervised Learning Techniques for Software Defect Prediction
背景:无监督机器学习器越来越多地应用于软件缺陷预测。这是一种对软件从业者有价值的方法,因为它减少了对标记的训练数据的需求。目的:研究无监督学习技术在软件缺陷预测中的应用和性能。方法:我们进行了一项系统性文献综述,确定了49项研究,其中包含2456项单独的实验结果,这些结果符合我们在2000年1月至2018年3月期间发表的纳入标准。为了以一致的方式比较这些研究的预测性能,我们(重新)计算了混淆矩阵,并采用马修斯相关系数(MCC)作为我们的主要性能指标。结果:我们的荟萃分析表明,无监督模型与监督模型在项目内和跨项目预测方面具有可比性。在14类无监督模型中,模糊C均值(FCM)和模糊自组织映射(FSOMs)表现最好。此外,在我们能够检查的地方,我们发现近11%(262/2456)的已发表结果(包含在16篇论文中)内部不一致,另有33%(823/2456)提供的细节不足以让我们检查。结论:虽然许多因素影响分类器的性能,例如,数据集特征,广义上说,无监督分类器的性能似乎并不比我们评论中的监督分类器差。然而,我们注意到令人担忧的普遍现象:(i)明显错误的实验结果,(ii)要求不高的基准,(iii)不完整的报告。因此,我们鼓励研究人员在报告中做到全面。
2020-02-19 cs.SE
On (Mis)perceptions of testing effectiveness: an empirical study
本研究通过受控实验及复制实验,发现学生在无先前经验时对测试与代码审查技术缺陷检测有效性的感知与实际不符,且感知可能基于自评应用熟练度而非技术偏好。
2024-02-11 cs.SE
Safety Practice and its Practitioners: Exploring a Diverse Profession
系统安全是指评估和改善社会技术系统及其软件密集型子系统安全的各个方面的各种工程学科。虽然几十年来系统安全一直是应用研究的一个重要领域,但其实践和从业人员似乎仍然没有得到很好的研究。除了主要的轶事证据(访谈,在线讨论),事件报告和调查,我们缺少促进知识转移和研究验证的公开,大规模和长期的调查。我们探讨的手段,工作安全从业人员依赖,影响他们的表现,他们的看法,他们在系统生存周期的作用的因素。与此同时,我们检查了以前的研究观察。我们建立了一个结构的安全实践,收集数据,这个结构使用在线调查,总结和解释收集的数据,并调查了几个假设的基础上,以前的观察。我们分析并提出了124从业者在安全关键系统和软件项目的反应。除了其他研究结果,我们的数据表明,安全决策主要取决于专家意见和项目记忆,缺乏证据表明,安全通常是一个成本效益问题,没有表现出偏见,正式的方法是没有好处的,让它不清楚是否标准和方法已经变得不充分,并表明,安全通常不会混淆与可靠性。此外,我们贡献了一个研究设计,旨在解释性的实证研究的安全实践。安全实践的实证研究仍处于早期阶段,面临着技术水平与实践水平不匹配的风险。然而,这种情况为研究提供了很大的机会。
2018-12-20 cs.CY cs.SE
Contrasting the Hyperparameter Tuning Impact Across Software Defect Prediction Scenarios
本研究对比超参数调优在版本内与跨版本两种软件缺陷预测场景中的影响,通过多算法、多数据集的实验发现场景不同调优增益差异显著,建议相关人员考虑场景因素。
2025-10-18 cs.SE
Critical Considerations on Effort-aware Software Defect Prediction Metrics
本文探讨了感知工作量的软件缺陷预测指标(EAMs)中工作量与代码度量(如LOC或McCabe复杂度)的假设关系对评估结果的影响,指出当前EAMs实为感知大小而非感知工作量,在分析工作量不依赖大小时可能产生误导。
2025-04-27 cs.SE
Moving from Cross-Project Defect Prediction to Heterogeneous Defect Prediction: A Partial Replication Study
Ryerson University(瑞尔森大学)
软件缺陷预测严重依赖于从软件项目中收集的度量。早期的研究通常使用机器学习技术来构建、验证和改进错误预测模型,这些模型使用的是在一个项目内或跨不同项目收集的一组指标。然而,这些模型所应用的技术和得出的结论受到这些指标是否相同的限制。如果在源项目中没有收集到足够的重叠度量,那么来自这些模型的知识将不能扩展到目标项目。为了探索在没有共同标记指标的情况下跨项目转移知识的可行性,我们通过复制和验证所获得的结果,系统地集成了异构缺陷预测(HDP)。我们的主要目标是扩展先前的研究,探索HDP的可行性,并最终将其性能与其前身跨项目缺陷预测进行比较。我们在不同的公开数据集上构建了一个HDP模型。此外,我们提出了一种新的集成投票方法,在HDP的上下文中,利用多个可用数据集的预测能力。我们的实验结果与最初的研究结果相当。然而,我们也探讨了HDP在实际案例中的可行性。我们的研究结果揭示了HDP算法由于其对参数选择的敏感性而在许多情况下不可行。总的来说,我们的分析深入了解了为什么以及如何执行从一个域到另一个域的迁移学习,特别是,提供了一套指导方针,以帮助研究人员和从业人员传播知识的缺陷预测域。
2021-03-05 cs.LG cs.SE
Quantum vs. Classical Machine Learning Algorithms for Software Defect Prediction: Challenges and Opportunities
University of Saskatchewan(萨斯喀彻温大学);University of Prince Edward Island(爱德华王子岛大学)
本研究针对量子机器学习在软件缺陷预测领域应用研究不足的问题,在20个数据集上对比3种量子与5种经典机器学习算法的性能,识别出表现更优的算法,并梳理了相关挑战与未来方向,为该领域发展提供参考。
2024-12-10 cs.LG cs.SE
Demystifying Feature Requests: Leveraging LLMs to Refine Feature Requests in Open-Source Software
针对开源软件中自然语言功能请求歧义和不完整的问题,提出利用 LLM 自动识别缺陷并生成澄清问题,且通过真实请求、人工标注对比及开发者访谈评估其效果。
2025-07-17 cs.SE
Automotive Perception Software Development: An Empirical Investigation into Data, Annotation, and Ecosystem Challenges
University of Gothenburg(哥德堡大学);RISE Research Institutes of Sweden(瑞典RISE研究院);Zenseact AB(Zenseact公司);Kognic AB(Kognic公司)
包含机器学习算法的软件是汽车感知的组成部分,例如,在驾驶自动化系统中。这种软件的开发,特别是机器学习组件的训练和验证,需要大型注释数据集。数据和注释服务行业已经出现,以服务于这种数据密集型汽车软件组件的开发。指定数据和注释需求的广泛困难挑战了OEM(原始设备制造商)及其软件组件,数据和注释供应商之间的合作。本文探讨了这些困难的原因,在瑞典汽车行业的从业人员,以达到明确的规格数据和注释。访谈研究的结果表明,缺乏有效的数据质量方面的指标,工作方式的模糊性,注释质量的定义不明确,以及商业生态系统中的缺陷是导致难以获得规范的原因。我们提供了一个建议列表,可以减轻在获得规格时的挑战,我们提出了未来的研究机会,以克服这些挑战。我们的工作有助于对应用于复杂软件系统的机器学习的问责制进行持续研究,特别是对于自动驾驶等高风险应用。
2023-03-10 cs.LG cs.SE
How Do Software Developers Use GitHub Actions to Automate Their Workflows?
本文首次实证研究开发者对 GitHub Actions 的使用及其影响,发现采用者评价积极,但该技术会增加月度拒绝 PR 数并减少已合并 PR 的月度提交数。
2021-03-22 cs.SE
AI for Requirements Engineering: Industry adoption and Practitioner perspectives
Department of Computer Science(计算机科学系);Engineering Chalmers University of Technology(查尔姆斯理工大学);University of Gothenburg, Sweden(戈尔丁大学)
本文通过调查55位从业者,发现AI在需求工程中已广泛采用且以人机协作(HAIC)为主,指出AI应作为协作伙伴而非替代人类,并呼吁建立RE专用HAIC框架与负责任治理。
2025-11-05 cs.AI cs.HC cs.SE
Breaking New Ground in Software Defect Prediction: Introducing Practical and Actionable Metrics with Superior Predictive Power for Enhanced Decision-Making
本研究提出基于人为错误框架的新指标,在方法级缺陷预测中优于现有代码和历史指标,显著提升可解释性与可操作性。
2025-08-06 cs.HC cs.SE
Energy-Efficient Software Development: A Multi-dimensional Empirical Analysis of Stack Overflow
针对现有开发者能耗认知调研样本量有限的不足,本研究通过分析1193条Stack Overflow能耗相关问题开展多维度实证分析,揭示了能效开发中的核心痛点并提出分层优化启示。
2025-11-15 cs.PF cs.SE
On the calibration of Just-in-time Defect Prediction
paluno-the Ruhr Institute for Software Technology(帕卢诺-软件技术鲁尔研究所)
本研究针对即时缺陷预测(JIT DP)模型的校准问题展开评估,发现现有模型存在校准不当问题(ECE为2-35%),且后校准方法未能持续改善,为提升JIT DP工具实用性提供了关键依据。
2025-04-16 cs.LG cs.SE
Does chronology matter in JIT defect prediction? A Partial Replication Study
Ryerson University(瑞尔森大学)
即时(JIT)模型检测修复引起的更改(或缺陷引起的更改)。这些模型是基于过去的代码更改属性与未来的代码更改属性相似的假设而设计的。然而,随着系统的发展,开发人员的专业知识和/或系统的复杂性也会发生变化。在这项工作中,我们的目标是调查随着时间的推移,代码更改属性对JIT模型的影响。我们还研究了使用最新数据以及所有可用数据对JIT模型性能的影响。此外,我们分析了加权抽样对JIT模型的固定诱导性能的影响。为此,我们使用了Eclipse JDT、Mozilla、Eclipse Platform和PostgreSQL的数据集。我们使用了五个系列的变更代码属性,如大小、扩散、历史、经验和目的。我们使用随机森林对JIT模型进行训练和测试,并使用Brier Score和ROC曲线下面积进行性能测量。我们的论文表明,JIT模型的预测能力不会随着时间的推移而改变。此外,我们观察到JIT缺陷预测模型中的数据时序可以通过考虑所有可用数据而被丢弃。另一方面,家庭的代码更改属性的重要性得分被发现振荡随着时间的推移。为了减轻代码更改属性演变的影响,建议使用加权抽样方法,其中更多的重点放在更接近当前时间发生的更改上。此外,由于诸如“开发者的专业知识”和“大小”等属性随着时间而演变,因此与采用较新数据集的模型相比,从旧数据获得的模型可能表现出不同的特征。因此,从业者应该不断地重新训练JIT模型,以包括新的数据。
2021-03-05 cs.LG cs.SE
A Qualitative Study on Using ChatGPT for Software Security: Perception vs. Practicality
The University of Adelaide(阿德莱德大学);Cyber Security Cooperative Research Centre(网络安全合作研究中心)
本文通过Twitter实证研究和漏洞检测实验,定性分析了ChatGPT在软件安全中的认知与实际可行性,发现其输出多为通用信息,尚不适合工业应用。
2024-08-01 cs.AI cs.CR cs.SE
Bringing Order Amidst Chaos: On the Role of Artificial Intelligence in Secure Software Engineering
本文通过实证评估SASTT、数据集与即时建模等方法,揭示安全软件工程中漏洞预测的工具局限和上下文重要性,以提升AI缺陷预测效果。
2025-01-09 cs.AI cs.CL cs.CR
Finding 709 Defects in 258 Projects: An Experience Report on Applying CodeQL to Open-Source Embedded Software (Experience Paper) -- Extended Report
本研究对258个开源嵌入式项目应用CodeQL,发现709个真实缺陷(误报率34%),其中75%为潜在安全漏洞,并推动37个CI工作流合并,证明现代SAST工具的有效性。
2025-04-25 cs.CR cs.SE