The Present and Future of Bots in Software Engineering
Concordia University(康考迪亚大学);University of Stuttgart(斯图加特大学);Northern Arizona University(北亚利桑那大学);Radboud University(拉德堡德大学);ICREA(加泰罗尼亚高等研究院)
本文围绕软件工程机器人的广泛应用,梳理其事件驱动、自动执行任务的机制,并总结相关实践经验与未来挑战。
2022-07-04 cs.AI cs.SE
Autonomy Is An Acquired Taste: Exploring Developer Preferences for GitHub Bots
软件机器人在集体软件开发中发挥着重要作用,开发人员采用它们可以提高生产力。过去的研究已经发现,通信过于频繁的机器人可能会激怒开发人员,从而影响机器人的效用。然而,目前尚不清楚人机协作的其他属性会影响开发人员的偏好,或者这些属性可能会产生什么影响。本文的主要思想是在GitHub拉取请求的背景下,探索影响开发人员对人类和机器人之间交互的偏好的特征。我们进行了一个探索性的连续研究与访谈和随后的基于插图的调查。我们发现开发人员通常更喜欢那些有个性但几乎没有自主性的机器人,然而,更有经验的开发人员倾向于更自主的机器人。基于这些经验证据,我们建议机器人程序开发人员增加机器人程序的配置选项,以便个人开发人员和项目可以配置机器人程序,以最好地符合他们自己的偏好和项目文化。
2023-02-10 cs.SE
Optimizing Workflow for Elite Developers: Perspectives on Leveraging SE Bots
本文针对精英开发者因全方位项目职责产生倦怠、需要自动化支持的问题,基于前期研究与访谈提出六条SE Bots设计准则,并探讨其未来在减轻精英开发者增长的工作负荷方面的方向。
2023-04-28 cs.SE
BotHawk: An Approach for Bots Detection in Open Source Software Projects
East China Normal University(华东师范大学)
本研究提出BotHawk模型,通过分析17个特征在5个维度上的行为,检测开源软件项目中的机器人账户,实现0.947的AUC和0.89的F1分数,优于其他模型。
2023-07-25 cs.LG cs.SE
MSRBot: Using Bots to Answer Questions from Software Repositories
软件存储库包含大量有用的信息,可用于增强软件项目。以前的工作已经利用存储库数据来改进软件开发过程的许多方面,例如,帮助提取需求决策,识别潜在的缺陷代码以及改进维护和演化。然而,在许多情况下,从业者不能从软件存储库中充分受益,因为他们需要特殊的专业知识和专门的努力来挖掘他们的存储库。因此,在本文中,我们使用机器人来自动化和简化从软件存储库中提取有用信息的过程。特别是,我们提出了一种方法,即如何使用位于软件存储库之上的机器人来回答开发人员面临的一些最常见的软件开发/维护问题。我们与12名参与者进行了初步研究,以验证机器人的有效性。我们的研究结果表明,使用机器人在回答准确性,速度和有用性方面取得了非常有希望的结果。我们的工作有可能通过显着降低进入门槛来改变MSR领域,使从软件存储库中提取有用信息变得像与机器人聊天一样简单。
2020-03-18 cs.HC cs.SE
Challenges and guidelines on designing test cases for test bots
测试机器人是一种自动化测试工具,它可以自主地定期运行一组测试用例,以检查被测系统是否满足客户提出的需求。自动化减少了开发团队花费在测试上的时间。随着开发项目变得越来越大,通过设计更有效的测试用例来专注于改进测试机器人是很重要的,因为否则时间和使用成本会大大增加,并且可能会从测试结果中得出误导性的结论,例如测试执行中的误报。然而,文献目前缺乏对测试用例设计如何影响测试机器人的有效性的见解。本文采用案例研究的方法,通过确定测试机器人设计测试的挑战来调查这些影响。我们的研究结果包括这些机器人的测试设计方案的指导方针,这些机器人支持从业者克服参与者在我们的研究期间提到的挑战。
2020-04-21 cs.SE
Past, Present and Future: Exploring Adaptive AI in Software Development Bots
Toronto Metropolitan University(多伦多 Metropolitan 大学)
本文探讨了自适应AI对话代理在软件开发中的作用,分析了其从传统规则系统到AI驱动解决方案的演进,评估了其优势、挑战及未来潜力。
2025-07-14 cs.AI cs.SE
Bot Detection in GitHub Repositories
像GitHub这样的当代社交编码平台促进了协作开发。托管在这些平台上的许多开源软件存储库使用机器帐户(机器人)来自动化和促进广泛的工作密集型和重复性活动。确定一个帐户对应于机器人还是人类贡献者对于社会技术发展分析非常重要,例如,了解人类如何在机器人存在的情况下进行协作和互动,评估使用机器人的积极和消极影响,识别顶级项目贡献者,识别潜在的公共汽车因素,我们的项目旨在将BoDeGHa机器人检测工具中经过训练的机器学习(ML)分类器作为一个插件包含到GrimoireLab软件开发分析平台中。在这项工作中,我们提出了形成一个管道的过程,用于使用Perceval检索贡献和贡献者数据,使用BoDeGHa区分机器人和人类,并使用Kibana可视化结果。
2022-03-31 cs.SE
A Network Perspective on the Influence of Code Review Bots on the Structure of Developer Collaborations
本文采用网络分析方法,基于大规模 GitHub 仓库样本研究代码审查机器人对开源软件团队协作网络结构的影响,旨在揭示人机交互对开发者协作的深层效应。
2023-05-26 cs.SE cs.SI
Nip it in the Bud: Moderation Strategies in Open Source Software Projects and the Role of Bots
本研究通过访谈14名开源从业者,考察OSS社区的审核结构、规范与冲突缓解策略,并探讨机器人辅助审核的现状、认知及改进建议。
2023-08-14 cs.HC cs.SE
Nudging Students Toward Better Software Engineering Behaviors
大型本科计算机科学课程的学生体验越来越受到自动化系统的影响。机器人,或软件自动化的代理,对于有效地分级和生成反馈是有用的。目前CS教育中的自动化工作集中在支持教学任务上,但并没有解决学生由于不良行为(如拖延)而产生的问题。在本文中,我们探讨使用机器人,以改善软件工程的行为,学生使用开发人员推荐选择架构,一个框架,将行为科学的概念,建议,以改善程序员的行动。我们在class-bot中实现了这个框架,这是一个新颖的系统,旨在推动学生在编程作业时做出更好的选择。这项工作提出了一个初步的评价,将这个工具在一个介绍性的编程课程。我们的研究结果表明,类机器人有利于改善学生的开发行为,提高代码质量和生产力。
2021-03-17 cs.SE
Don't Disturb Me: Challenges of Interacting with SoftwareBots on Open Source Software Projects
通过访谈21名OSS从业者,研究揭示拉取请求中软件机器人引发的交互挑战,核心是噪声干扰沟通与工作流,并提出开发者将烦人机器人行为感知为噪声的理论。
2021-03-25 cs.SE
On The Gap Between Software Maintenance Theory and Practitioners' Approaches
研究人员对从业人员在实践中执行维护任务的方式知之甚少。反过来,从业人员并不总是与研究界提供的建议保持同步。这项工作调查的研究社区和软件维护实践提出的软件维护技术之间的差距。我们对来自92家公司和12个国家的112名从业人员进行了调查。我们专注于分析从业者是否以及如何理解和应用以下主题:不良气味,重构,软件度量和变更影响分析。这项研究表明,在这些主题的研究方法和行业实践之间存在很大的差距,特别是在变化影响分析和软件度量。
2021-04-08 cs.SE
Secure Software Engineering in the Financial Services: A Practitioners' Perspective
安全软件工程是现代软件开发中的一项基本活动。然而,虽然安全研究领域已经取得了相当快的进展,但在实践中,安全专家和软件开发团队之间仍然存在巨大的知识差距。毕竟,我们不能指望开发人员和其他软件从业人员成为安全专家。了解软件开发团队如何将安全性纳入他们的流程以及他们面临的挑战是缩小这一差距的一步。在本文中,我们研究了金融服务公司如何确保其软件系统的安全性。为此,我们进行了一项定性研究的基础上,半结构化的采访,16个软件从业人员从11个不同的金融公司在三大洲。我们的研究结果揭示了从业人员在软件开发过程的不同阶段所采取的安全考虑因素,软件团队使用不同的安全实践来确保其软件系统的安全性,从业人员认为在现有的实践安全工具中重要的改进,不同的知识共享和学习实践,开发人员用来了解更多关于软件安全,以及软件从业人员目前面临的挑战,当谈到保护他们的系统。
2021-04-08 cs.SE
Responsible AI in the Software Industry: A Practitioner-Centered Perspective
本研究以软件从业者为中心,通过25人半结构化访谈,调研负责任AI原则在软件工程中的实践现状与挑战,发现公平性等原则受关注较多,透明度、问责制受关注不足,需更完善的框架推动其全面落地。
2024-12-10 cs.SE
Advantages of maintaining a multi-task project-specific bot: an experience report
机器人正在成为许多软件项目中自动化基本日常任务的流行方法。这尤其是因为团队可以快速采用许多现成的特定于任务的机器人(有时会使用额外的特定于任务的自定义机器人来完成)。根据我们在Coq项目中的经验,我们已经开发和维护了一个多任务的项目特定的机器人,我们认为,这种替代方法的项目自动化应该得到更多的关注,因为它在生产力和适应性之间取得了良好的平衡。在本文中,我们将描述我们的机器人实现的自动化类型,我们通过维护特定于项目的机器人获得的优势,以及使其成为可能的技术和架构选择。我们得出的结论应该推广到其他愿意投资项目自动化而不中断工作流程的中型软件团队。
2022-04-27 cs.SE
What Practitioners Really Think About Continuous Software Engineering: A Taxonomy of Challenges
持续软件工程是一种协作式的软件开发环境,它提供了在短时间内持续开发和部署高质量软件项目的能力。针对持续软件工程实践尚不成熟,软件组织对采用持续软件工程犹豫不决的问题,本研究的目的是:(1)通过系统的文献综述(SLR)和问卷调查研究获得行业专家的见解,以探索持续软件工程的挑战;(2)使用模糊层次分析法(FAHP)对调查的挑战进行优先级排序。研究结果提供了一套软件组织所面临的关键挑战,同时采用持续软件工程和基于优先级的分类的持续软件工程的挑战。FAHP的应用是新颖的,在这个研究领域,因为它有助于解决从业者的连续软件工程的影响因素的不确定性。我们相信,这项研究的结果将作为一个知识体系,为现实世界的从业者和研究人员修改和开发新的战略,成功地实施持续软件工程的做法在软件行业。
2023-03-30 cs.SE
"The Law Doesn't Work Like a Computer": Exploring Software Licensing Issues Faced by Legal Practitioners
本研究通过调查30名法律从业者及16次访谈,揭示了开源软件许可证合规生态系统的现状、具体实践及面临的挑战,得出14项关键发现,填补了软件工程社区对法律从业者经验的认知空白。
2024-03-22 cs.SE
Accessibility in Software Practice: A Practitioner's Perspective
能够在日常生活中访问软件对每个人都至关重要,因此可访问性是软件开发的根本挑战。然而,鉴于许多用户报告的无障碍问题数量,例如,在应用程序审查中,尚不清楚无障碍环境是否已广泛纳入当前的软件项目,以及软件项目如何解决无障碍环境问题。在本文中,我们报告了一项研究的关键挑战和好处,将可访问性纳入软件开发和设计。我们采用定性和定量相结合的方法,从来自五大洲26个国家的15次访谈和365名调查受访者中收集数据,以了解从业者如何看待实践中的无障碍开发和设计。我们从从业者的角度和不同的软件开发阶段得到了44个关于可访问性的陈述,分为八个主题。我们的统计分析揭示了群体之间的巨大差距,例如,实践者有直接与间接无障碍相关的工作经验,当他们审查总结报表。这些差距可能会阻碍无障碍开发和设计的质量,我们使用我们的研究结果建立一套指导方针,以帮助从业者意识到无障碍的挑战和好处因素。我们还提出了一些补救措施,以解决差距,并突出未来的主要研究方向。
2021-03-16 cs.SE
Bots Don't Mind Waiting, Do They? Comparing the Interaction With Automatically and Manually Created Pull Requests
作为一个开源软件项目的维护者,你通常会对以拉取请求的形式提供的贡献感到高兴,因为这会使项目向前迈进一步。过去的研究表明,在审查拉取请求时,不仅要考虑其内容,还要考虑贡献者的社会特征。因此,是否接受捐款以及需要多长时间不仅取决于捐款的内容。然而,到目前为止,我们只有迹象表明,来自机器人的拉取请求可能会优先级较低,即使机器人是由开发团队显式部署的,并且被认为是有用的。机器人研究和开发社区的一个目标是设计有用的机器人,以各种方式有效地支持软件开发。为了更接近这个目标,在这个GitHub挖掘研究中,我们研究了维护者如何与人类手动创建的拉取请求进行交互,与机器人自动创建的拉取请求进行交互的可衡量差异。目前,GitHub上大约三分之一的拉取请求来自机器人。虽然来自人类的拉取请求在72.53%的情况下被接受和合并,但这只适用于37.38%的机器人拉取请求。此外,与机器人拉取请求进行交互并将其合并所需的时间要长得多,即使它们平均包含的更改比人工拉取请求少。这些结果表明,机器人尚未充分发挥其潜力。
2021-03-05 cs.HC cs.SE
It is Giving Major Satisfaction: Why Fairness Matters for Software Practitioners
本研究通过对108名软件从业者的调查和有序逻辑回归分析,揭示四类公平感知显著影响工作满意度,且对弱势群体和经验较少者影响更强。
2025-07-24 cs.SE
Together or Apart? Investigating a mediator bot to aggregate bot's comments on pull requests
针对拉取请求中机器人评论造成的信息过载问题,本文设计并评估中介机器人 FunnelBot,并通过25名新人的受试者内研究为降低噪音、支持新人的机器人设计提供依据。
2022-08-08 cs.SE
Raising AI Ethics Awareness through an AI Ethics Quiz for Software Practitioners
本文开发了AI Ethics Quiz工具,通过29名软件从业者参与的互动工作坊验证其能显著提升AI伦理意识与理解,并为软件公司采纳类似举措提供建议。
2024-09-03 cs.SE
Empathy Guidelines for Improving Practitioner Well-being & Software Engineering Practices
Monash University(蒙纳士大学);Monash Centre for Health Research and Implementation, Monash Health(蒙纳士健康研究与实施中心,蒙纳士健康)
本文提出17条共情指南,旨在通过提升从业者福祉和改进软件工程实践,促进可持续的共情应用。
2026-01-16 cs.SE
Prompting in Practice: Investigating Software Practitioners' Use of Generative AI Tools
William & Mary(威廉与玛丽学院)
研究调查软件从业者在实际开发中使用生成式AI工具的提示策略与实践,揭示其在代码生成、调试等任务中的应用现状及挑战。
2026-01-23 cs.SE
From Blackboard to the Office: A Look Into How Practitioners Perceive Software Testing Education
教学过程可能需要具体的教学方法,以建立与行业惯例的关系。最近,一些研究调查了教育工作者的观点和本科课程,以确定潜在的弱点和解决方案的软件测试教学过程。然而,目前还不清楚从业人员如何评价获得有关软件测试的知识,在本科课程。这项研究对68名新毕业的从业人员进行了专家调查,以确定行业对他们的期望以及他们在学术界学到了什么。结果表明,这些从业者的学习速度与其他具有长期行业经验的人相似。此外,他们研究了调查中收集的35个软件测试主题中的不到一半,并参加了行业支持的课外课程,以补充他们的学习。此外,我们的研究结果指出了一系列对未来研究的影响,因为受访者的学习困难(例如,缺乏学习资源)以及学术教育与行业期望之间的差距(例如,认证)。
2021-06-11 cs.SE
Mining for sustainability in cloud architecture among the discussions of software practitioners: building a dataset
本文通过挖掘 StackExchange 上 192 条从业者讨论构建云架构可持续性标注数据集,发现从业者侧重设计阶段和技术与经济可持续性,与学术界强调环境可持续性形成对比。
2024-06-10 cs.SE
How do software practitioners perceive human-centric defects?
本研究通过调查和访谈软件从业者,发现以人为中心的缺陷(HCDs)管理存在认知不足和流程缺口,并提出改进反馈、分类和自动化以提升其管理。
2024-02-05 cs.SE
Agile Practices for Quantum Software Development: Practitioners Perspectives
量子软件系统是新兴的软件工程(SE)流派,其利用量子比特(Qubit)和量子门(Qgates)的原理来解决当今经典计算机不能在合理时间内有效地完成的复杂计算问题。根据其支持者的说法,敏捷软件开发实践有可能解决量子软件开发中特有的许多问题。然而,缺乏证据证实敏捷实践是否适合并可以被软件团队采用,因为它们是在量子软件开发的背景下。为了解决这一问题,我们进行了一项实证研究,以调查使用敏捷实践开发量子软件的需求和挑战。虽然我们对10个国家的26名从业者进行了半结构化访谈,强调了敏捷实践在这一领域的适用性,但访谈结果也揭示了阻碍这些实践有效整合的新挑战。我们的研究结果为敏捷实践的进一步情境化和无缝集成与开发下一代量子软件提供了跳板。
2022-10-18 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
How Do Practitioners Perceive Assurance Cases in Safety-Critical Software Systems?
安全关键型软件系统是指其故障或失灵可能导致人员伤亡和/或严重财务损失的系统。在这样的系统中,安全保证案例(SAC)是一种新兴的方法,采用积极主动的策略来产生结构化的安全理由和论据。虽然在许多软件密集型安全关键域中建议使用SAC,但缺乏关于从业人员使用SAC的观点的知识阻碍了这种方法的有效采用。为了获得这些知识,我们采访了九位专注于安全关键软件系统的从业者和安全专家。总的来说,我们的参与者发现SAC方法有利于在多学科环境中沟通安全论点和管理安全问题。他们在使用SAC时面临的挑战主要与以下方面有关:(1)缺乏工具支持,(2)流程集成不足,以及(3)缺乏有经验的人员。为了克服这些挑战,我们的参与者提出了专注于创造直接安全论点的策略。还需要对流程和组织进行调整,以简化SAC的分析和创建。最后,我们的参与者强调了在软件密集型安全关键领域共享有关SAC的知识的重要性。
2018-03-21 cs.SE
Assessing Practitioner Beliefs about Software Engineering
软件工程是一门高度动态的学科。因此,随着时代的变化,我们对这一领域核心过程的信念也会发生变化。本文检查了过去几十年中产生的关于(i)开发人员生产力;(ii)软件质量和(iii)多年开发经验之间关系的五个信念。使用1995年至2006年期间从1,356名开发人员收集的数据,我们发现只有一个支持五个信念,题为“质量需要生产力”。我们没有发现其他四个基于程序设计语言和软件开发人员的信念的明确支持。然而,从其他四个信念的零星证据中,我们了解到,一个狭窄的范围可能会欺骗从业者,使他们误解某些影响,从而在日常工作中保持下去。最后,通过评估这五个信念的汇总视图,我们发现程序设计语言是开发人员生产力和软件质量的混杂因素。因此,这项工作的总体信息是,它是既重要又可能重新审视SE的旧信念。研究人员和实践者应该定期重新测试旧的信念。
2021-05-24 cs.SE
Temporal Discounting in Technical Debt: How do Software Practitioners Discount the Future?
技术债务管理决策总是意味着在不同时间点的结果之间进行权衡。在这种跨期选择中,远距离结果的价值往往低于近距离结果,这种现象被称为时间折扣。技术债务研究主要是开发软件工程师应该如何做出这样的决定的规定性方法。很少有人研究过它们是如何制造的。这就留下了关于软件从业者如何做决策的核心问题。本文研究了软件从业者如何贴现不确定的未来结果,以及他们是否表现出时间贴现。我们采用跨期选择,一个活跃的研究领域的实验方法。我们对来自两家公司的33名开发人员进行了在线问卷调查,在问卷中,我们提出了在开发功能和对架构进行长期投资之间的选择。结果表明,广泛的时间折扣与个人行为的显着差异。研究结果与消费者行为中的类似研究一致,并提出了一些关于软件工程中影响时间折扣的因果因素的问题。作为第一个跨期选择在SE的实证研究,本文建立了一个实证基础,了解软件开发人员如何处理跨期选择,并提供了未来的研究蓝图。
2019-04-02 cs.SE
Managing Security Issues in Software Containers: From Practitioners Perspective
本文通过两项半结构化访谈研究,从软件工程从业者视角分析容器化项目中的安全挑战与管理方法,并识别出增强容器安全的技术与非技术使能因素。
2025-04-10 cs.SE
What Characterizes a Software Leader? Identifying Leadership Practices from Practitioners Social Media
Atlantico Institute(大西洋研究所);State University of Ceará(塞阿拉州立大学);University of Molise(莫利塞大学);Federal University of Cariri(卡里里联邦大学);Federal Institute of Ceará(塞阿拉联邦学院)
本文通过分析116篇开发者文章,识别并分类软件领导者感知的领导力实践,发现领导力主要与管理及人际实践相关,而非技术能力。
2026-04-30 cs.SE
Software Engineering for Internet of Things: The Practitioner's Perspective
基于物联网的系统(简称IoT系统)在不同的工业领域越来越受欢迎,并且它们的发展正在迅速增加,以向最终用户和公民提供增值服务。到目前为止,很少有研究揭示物联网系统所需的核心开发过程生命周期,因此软件工程师发现自己对这种新的系统开发类型没有准备,也不熟悉。为了弥补这一差距,我们进行了一项定量和定性相结合的研究,从现有的物联网文献中得出了一个概念性的过程框架,确定了27项关键任务,可纳入物联网系统的开发过程。该框架随后通过对来自6大洲35个国家的127名物联网系统从业者开发人员的调查进行了验证,他们具有15种不同的行业背景。我们的研究提供了对最重要的开发过程任务的理解,并告知软件工程从业者和研究人员与下一代物联网系统开发相关的挑战和建议。
2021-05-05 cs.SE
The Influence of Human Aspects on Requirements Engineering-related Activities: Software Practitioners Perspective
需求工程(RE)相关的活动需要在软件工程(SE)中的各种角色之间进行高度协作,例如需求工程师,利益相关者,开发人员等。他们的人口统计,观点,对技术的理解,工作风格,沟通和协作能力使RE高度依赖于人。确定动机、领域知识、沟通技巧、个性、情感、文化等“人的方面”如何影响可再生能源相关活动,将有助于我们从总体上改善可再生能源和可持续能源。本研究的目的是更好地了解当前行业的角度对人的方面的影响,对RE相关的活动,特别是专注于动机和个性,针对软件从业人员参与RE相关的活动。我们的研究结果表明,软件从业者认为动机,领域知识,态度,沟通技巧和个性非常重要的人的方面时,参与RE相关的活动。一组因素被确定为软件从业者的动机因素时,参与RE相关的活动,并确定了重要的个性特征时,参与RE。我们还确定了因素,使个人参与RE相关的活动时,效率较低,并获得了初步的想法,测量个人的性能时,参与RE。我们的研究结果表明,各个领域需要更多的调查,我们总结了一套关键的建议,以进一步研究。
2022-06-06 cs.SE
Does Documentation Matter? An Empirical Study of Practitioners' Perspective on Open-Source Software Adoption
本研究通过访谈与调研探究OSS文档在行业采用中的作用,构建主题模型自动提取文档信息,提出结合TF-IDF与ChatGPT的DocMentor方法增强文档信息,经从业者调研验证可提升理解效果。
2024-03-06 cs.SE
Combined Intuition and Rationality Increases Software Feature Novelty for Female Software Designers
克服社会的复杂问题需要新的解决方案。在设计针对这些问题的软件时,应用不同的认知风格可以促进新颖性。通过对80名软件设计从业者的实验,我们发现,偏好一种以上认知风格(直觉和理性)的女性从业者产生了所有参与者中最新颖的软件功能。
2020-12-10 cs.SE
Practitioners Perspective on Motivators of Agile in Global Software Development
本文通过调查139名欧洲从业者并使用Smart-PLS分析,实证识别了在全球软件开发中成功实施敏捷方法的关键激励因素。
2025-03-10 cs.SE
On the Rationale and Use of Assertion Messages in Test Code: Insights from Software Practitioners
本文通过调查138名专业软件从业者,研究断言消息的使用目的、编写挑战与维护方式,并为高质量断言消息及自动化测试工具改进提供指南。
2024-08-03 cs.SE
A survey on software testability
软件可测试性是软件系统或被测单元支持其自身测试的程度。为了预测和提高软件的可测试性,在过去的几十年里,从业人员和研究人员提出了大量的技术和度量。审查和获得整个国家的最先进的和国家的做法在这一领域的概述往往是具有挑战性的从业者或新的研究人员。目的:我们的目标是总结这一领域的知识体系,并使读者(从业者和研究人员)在准备,测量和改进软件可测试性方面受益。方法:为了满足上述需求,作者以系统的文献映射(分类)的形式进行了一项调查,以了解我们作为一个社区对这一主题的了解。在编译了303篇论文的初始池,并应用一组纳入/排除标准后,我们的最终池包括208篇论文。结果:软件可测试性领域已经被研究者和实践者广泛研究。测试性的测量方法和测试性的改善是最常见的文件。影响可测性的两个最常提到的因素是可观测性和可控性。提高可测试性的常用方法是可测试性转换、提高可观察性、添加断言和提高可控性。结论:本文为研究人员和实践者提供了可测试性领域大量知识的“索引”。结果可以帮助从业者在他们的项目中测量和提高软件的可测试性。
2018-12-06 cs.SE
Technical debt and agile software development practices and processes: An industry practitioner survey
内容:现代软件开发通常是在动态的、资源稀缺的环境中进行的,这些环境容易积累技术债务。虽然这种普遍现象是公认的,但仍然未知的是技术债务如何具体体现在软件过程中并影响软件过程,以及所采用的软件开发技术如何适应或减轻这种债务的存在。目的:我们试图借鉴从业者的见解和经验,以便对敏捷方法的使用对技术债务管理的影响进行分类。我们探讨了从业者对技术债务的知识广度;技术债务如何在软件过程中表现出来;以及常见的敏捷软件开发实践和过程对技术债务的影响。在这样做的过程中,我们解决了技术债务知识的研究差距,并提供新颖的和可操作的管理建议。方法:我们设计,测试和执行了一个多国调查问卷,以解决我们的目标,从巴西,芬兰和新西兰的从业者收到184个答复。结果如下:我们的研究结果表明:1)实践者意识到技术债务,尽管这个概念还没有得到充分利用; 2)技术债务通常存在于遗留系统中,但是,技术债务的具体实例很难概念化,这使得管理成为问题; 3)质疑敏捷实践和过程有助于减少技术债务;特别是,验证和维护已实现工件的结构和清晰度的技术。结论:技术债务情况往往具有共同的特点,这一事实意味着对其管理采取系统的办法是可行的。然而,尽管一些灵活做法对技术债务管理产生了积极影响,但利益攸关方之间的利益冲突仍然是一个令人关切的问题。(节录)
2021-04-30 cs.SE
Out of the Day Job: Perspectives of Industry Practitioners in Co-Design and Delivery of Software Engineering Courses
本文通过回顾性研究探讨业界从业者参与软件工程课程共同设计与交付的动机、期望与经验,提炼关键主题并提出未来合作建议,以填补相关学术空白并促进校企合作长期可持续。
2025-07-01 cs.SE
Software Development with Feature Toggles: Practices used by Practitioners
背景资料:使用功能切换是一种技术,允许开发人员使用条件语句中的变量打开或关闭功能。软件公司越来越多地使用功能切换来促进持续集成和持续交付。但是,不恰当地使用功能切换可能会导致一些问题,这些问题可能会产生严重的影响,例如代码复杂性、死代码和系统故障。例如,一个旧功能切换的错误再利用导致美国全球金融服务公司Knight Capital Group破产,原因是由此产生的不正确系统行为的影响。目的:这个研究项目的目标是帮助软件从业者在使用的做法,以支持软件支持软件开发的功能切换,通过一个实证研究的功能切换实践使用的从业者。方法:我们进行了定性分析的99个伪影从灰色文献和10个同行评议的论文功能切换。我们对38家公司的从业人员进行了调查。结果:我们确定了4类17种实践:管理实践、可持续实践、实施实践和清理实践。我们观察到,所有的调查对象都使用专用工具来创建和管理代码中的功能切换。记录功能切换的元数据、设置功能切换的默认值以及记录功能切换的更改也是经常观察到的实践。结论:在这项工作中发现和列举的功能切换开发实践可以帮助从业者更有效地使用功能切换。这项工作可以使未来的挖掘代码库,以自动识别功能切换的做法。
2020-03-11 cs.SE
Rapid Reviews in Software Engineering
基于证据的软件工程(EBSE)的主要目标之一是将研究证据集成到实践中。次要研究是EBSE的主要产品之一,旨在总结最好的研究证据,并使其易于被从业者使用。然而,最近的研究表明,一些次级研究缺乏与软件工程实践的联系。在本章中,我们提出了快速审查的概念,这是轻量级的二次研究,重点是及时向从业者提供证据。快速审查有助于从业人员的决策,应结合实际问题进行,并纳入实际背景。因此,快速审查可以很容易地纳入知识/技术转让倡议。在描述了基本概念之后,我们介绍了进行两次快速审查的结果和经验。我们还提供了指导方针,以帮助研究人员和从业人员谁想要进行快速审查,我们最后讨论的主题,我关心的研究社区快速审查的可行性,作为一种基于证据的方法。总之,我们相信快速评审可能会引起从事软件工程研究与实践交叉工作的研究人员和实践者的兴趣。
2020-03-22 cs.SE
Emerging Trends in Software Architecture from the Practitioners Perspective: A Five Year Review
本研究基于五年内八大行业会议的5,677场演讲,结合大语言模型与专家验证,揭示Kubernetes和Serverless等云原生技术主导软件架构实践且集中于DevOps后期阶段。
2025-07-25 cs.SE
Characterizing Role Models in Software Practitioners' Career: An Interview Study
本文通过主题编码分析对十名拉丁美洲软件从业者的访谈,首次研究了角色模型对软件从业者职业生涯的影响,发现从业者更看重角色模型的人性面与道德价值观,且任何从业者均可成为角色模型。
2024-02-15 cs.SE
The Unfulfilled Potential of Data-Driven Decision Making in Agile Software Development
随着数据驱动决策(DDDM)的普遍趋势,组织正在寻找使用DDDM来改进决策的方法。然而,很少有研究探讨DDDM的从业者的观点,特别是敏捷组织。在本文中,我们研究了使用DDDM的经验,以及数据如何改善决策。通过电子邮件向敏捷软件开发公司的124名行业从业者发送了调查问卷,其中84人回答了问题。结果表明,很少有从业者表示,DDDM在他们目前的决策实践中的广泛使用。实践者对它在更高级别和更一般的决策制定中的未来使用更加积极,对它在需求获取和优先级决策中的使用相当积极,而对它在团队级别的未来使用不太积极。实践者确实在敏捷环境中看到了DDDM的巨大潜力;然而,目前尚未实现。
2019-04-08 cs.SE
Software Testing and Code Refactoring: A Survey with Practitioners
本研究面向软件测试从业者开展调研,探究其代码重构实践的收益与局限,发现重构可助力自动化测试维护、提升团队绩效,但存在管理层重视不足等障碍,为测试人员提升编码能力提供参考。
2023-10-03 cs.SE
Emotion-Centric Requirements Change Handling in Software Engineering
背景资料:需求变更(RC)--软件产品中功能/非功能需求的添加/修改/删除--对软件从业者来说是一个挑战。处理一些变化可能会显着影响从业者的情绪。目的:我们想知道使RC处理困难的关键挑战,这些挑战如何影响软件从业者的情绪,是什么影响他们的RC处理,以及如何使RC处理在情绪上不那么具有挑战性。方法:我们采用混合方法。我们进行了两项调查研究,分别有40名参与者和201名参与者。介绍了关键的定量数据,然后进行描述性统计分析,定性数据进行了分析,使用施特劳斯-柯宾扎根理论,社会技术扎根理论分析技术。研究结果:我们发现(1)几个关键因素,使RC处理情绪的挑战,(2)不同的情绪,从业者觉得当它是具有挑战性的处理RC,(3)利益相关者,包括从业者自己,同行,经理和客户,如何影响RC处理和从业者的感觉,由于利益相关者的影响,和(4)的做法,可以用来更好地处理RC。结论:有些挑战是技术性的,有些是社会性的,这些挑战也属于敏捷实践、情商和认知智能的范畴。因此,为了更好地处理社会技术环境中具有积极情绪的RC,敏捷性,情绪智力和认知智力需要相互合作。
2022-05-12 cs.SE
Exploring Data Management Challenges and Solutions in Agile Software Development: A Literature Review and Practitioner Survey
本文通过系统文献综述(45项研究)与从业者调查(32位从业者)的混合方法,探索敏捷软件开发中的数据管理挑战及解决方案,为研究与实践提供见解并强调有效数据管理实践的重要性。
2025-02-18 cs.SE
Insights into Software Development Approaches: Mining Q&A Repositories
本研究通过主题建模与定性分析结合的混合方法,挖掘三大问答论坛的13903篇开发者帖子,识别出15个软件开发方法高频主题、49项实践挑战及难点主题上升趋势,为从业者提供参考以提升软件质量。
2023-05-02 cs.SE
Towards a corpus for credibility assessment in software practitioner blog articles
博客是灰色文献的一个来源,被软件从业者广泛采用来传播意见和经验。分析这些文章可以为软件工程研究的实践状态提供有用的见解。然而,在从大量可用的文章中确定更高质量的内容方面存在挑战。可信度评估可以帮助识别高质量的内容,尽管缺乏现有的语料库。可信度通常通过一系列概念标准来衡量,其中“论证”和“证据”是两个重要标准。我们创建了一个标记为论证和证据的语料库,可以帮助可信度社区。该语料库由来自单个软件从业者的博客的文章组成,并且是公开的。三个注释者用一系列概念可信度标准标记语料库,达到0.82(Fleiss' Kappa)的一致性。我们提出了初步的分析语料库,用它来调查索赔句子(我们的十个标签之一)的识别。我们训练四个系统(BERT,KNN,决策树和SVM)使用三个特征集(Bag of Words,Topic Modelling和InferSent),使用InferSent和线性SVM实现F1得分为0.64。我们的初步结果是有希望的,表明语料库可以帮助未来的研究在检测灰色文献的可信度。未来的研究将调查在何种程度上的句子水平的注释可以推断出整个文件的可信度。
2021-06-21 cs.SE