Developers' Perspectives on Software Licensing: Current Practices, Challenges, and Tools
William & Mary(威廉玛丽学院);University of Sannio(萨尼奥大学);University of Victoria(维多利亚大学)
本研究探讨开发者在软件许可合规中的实践、挑战及工具,通过调查和访谈揭示当前行业现状并提出改进建议。
2026-01-23 cs.SE
Understanding Flaky Tests: The Developer's Perspective
Flaky测试是在对相同的代码运行时显示出看似随机的结果(通过或失败)的软件测试。以前的工作已经检查了修复的重复测试,并提出了自动化的解决方案,以定位和修复重复测试-我们通过检查软件开发人员对这种现象的性质,相关性和挑战的看法来补充它。我们要求21名专业开发人员对他们之前修复的200个测试进行分类,根据片状的性质,片状的起源和修复工作。我们用有关固定策略的信息来补充这一分析。随后,我们对121名开发人员进行了在线调查,这些开发人员的工业编程经验中位数为5年。我们的研究表明:这种不稳定性是由于几种不同的原因造成的,其中四种以前从未被报道过,尽管这是修复成本最高的;不稳定性被绝大多数开发人员认为是重要的,不管他们的团队的规模和项目的领域如何,它会对资源分配、调度和测试套件的感知可靠性产生影响;开发人员报告面临的挑战主要是复制剥落行为和识别剥落的原因。数据和材料[https://doi.org/10.5281/zenodo.3265785]。
2019-07-02 cs.SE
AI Policies: Help or Hindrance? A Software Developer's Perspective
Monash University(莫纳什大学);Singapore Management University(新加坡管理大学)
本研究通过19次开发者访谈,探讨AI政策对软件开发者的帮助与阻碍,并提出以开发者为中心的政策引入方法,以支持管理决策。
2026-09-16 cs.AI cs.SE
Classifying Developers into Core and Peripheral: An Empirical Study on Count and Network Metrics
了解开发人员在软件项目中扮演的角色对于理解项目的协作动态是至关重要的。开发人员通常根据核心和外围角色的二分法进行分类。通常,基于开发人员活动的简单计数的操作化(例如,提交的数量)用于此目的,但人们担心它们的有效性和是否有能力得出有意义的见解。为了阐明这个问题,我们调查是否常用的操作化的核心-外围角色产生一致的结果,我们验证他们对开发人员的看法调查166开发人员。改进的最先进的,我们提出了一个关系的角度来看,开发人员的角色,使用开发人员网络模型的组织结构,并通过检查核心-外围角色的开发人员的位置和组织结构内的稳定性。在对10个实质性开源项目的研究中,我们发现现有的和我们提出的核心-外围操作化在很大程度上是一致和有效的。此外,我们表明,关系的角度可以揭示进一步有意义的见解,如核心开发人员表现出高的位置稳定性,在层次结构中的较高位置,以及与其他核心开发人员的高水平的协调。
2016-04-04 cs.SE
Reproducibility Challenges and Their Impacts on Technical Q&A Websites: The Practitioners' Perspectives
软件开发人员通常通过向Stack Overflow(SO)等技术问答网站提交问题来寻找代码级问题的解决方案。它们通常包括示例代码段,并带有描述编程问题的问题。因此,当用户试图回答问题时,他们更喜欢使用给定的代码段重现报告的问题。不幸的是,由于几个未满足的挑战(例如,未找到外部库),这可能会阻止问题获得及时和适当的解决方案。先前的一项研究产生了一个潜在挑战的目录,这些挑战阻碍了SO问题中报告的问题的再现性。然而,目前还不清楚从业人员(即,开发人员)感知挑战目录。理解开发人员的观点是引入交互式工具支持以促进可重复性的必然要求。因此,我们试图了解开发人员的观点,调查53个用户的SO。特别是,我们试图(1)了解开发人员对这些挑战的看法,(2)发现这些挑战的潜在影响,(3)了解开发人员如何解决这些挑战,以及(4)确定工具支持需求并对其进行优先级排序。调查结果显示,约90%的参与者同意已经暴露的挑战。然而,他们报告了一些额外的挑战(例如,错误日志丢失),这可能会妨碍再现性。根据参与者的说法,太短的代码段和代码段中缺少所需的类/接口/方法严重阻碍了可重复性,其次是缺少代码的重要部分。为了促进可重复性,参与者强烈建议引入工具支持,如果给定的代码段无法重现问题,则与问题提交者进行交互,并提供改进代码段的建议。
2021-12-19 cs.SE
Stuck in the Permissions With You: Developer & End-User Perspectives on App Permissions & Their Privacy Ramifications
虽然从最终用户的角度来看权限的文献很丰富,但缺乏关于开发人员为什么请求权限,他们对权限的概念化以及他们的观点如何与最终用户的观点进行比较的实证研究。我们的研究旨在使用混合方法来解决这些差距。通过对19名应用程序开发人员的采访和对309名Android和iOS终端用户的调查,我们发现这两个群体都对不必要的权限破坏信任、损害应用程序的声誉以及可能允许访问敏感数据有着类似的担忧。我们还发现,由于对某些权限的范围或第三方库要求的混淆,开发人员参与者有时会请求多个权限。此外,大多数最终用户参与者认为他们有责任授予权限请求,这是他们的选择,这是许多开发人员参与者所共有的信念。我们的研究结果对改善开发人员和最终用户的许可生态系统具有重要意义。
2023-01-31 cs.CR cs.HC cs.SE
MBSR at Work: Perspectives from an Instructor and Software Developers
本研究通过半结构化访谈探究MBSR项目在软件开发工作场景中的应用,结合开发人员与讲师的一手体验,发现参与者认可其个人提升效果,但职场落地仍有挑战。
2025-06-13 cs.SE
Integrating Energy Efficiency into Software Development: Developer Perspectives and Requirements
FH Aachen University of Appl. Sci.(亚琛应用科学大学)
研究软件开发人员对能源效率的看法及对相关工具的需求障碍,通过访谈和分析得出,能源效率在日常开发中作用不明确,节能多通过性能优化间接实现,还明确了障碍与工具支持要求,为相关工具设计提供见解。
2026-07-27 cs.SE
Forecasting Developer Environments with GenAI: A Research Perspective
The University of Osaka(大阪大学);Singapore Management University(新加坡管理大学);Zhejiang University(浙江大学);Heidelberg University(海德堡大学);University College London(伦敦大学学院);University of Auckland(奥克兰大学);University of Bari(巴里大学);Tianjin University(天津大学);University of Melbourne(墨尔本大学);Nara Institute of Science and Technology(奈良先端科学技术大学院大学);University of Victoria(维多利亚大学);Northern Arizona University(北亚利桑那大学)
本文探讨了生成式人工智能对集成开发环境的影响,通过专家讨论提出四个研究主题,旨在探索GenAI在软件工程中的应用与挑战。
2026-02-07 cs.SE
Selecting third-party libraries: The practitioners' perspective
选择第三方库是几乎任何软件开发项目的基本要素。然而,决定选择哪些库是一个具有挑战性的实际问题。选择错误的库会在成本、时间和开发工作方面严重影响软件项目,影响的严重程度取决于库在软件架构中的角色。尽管遵循仔细的图书馆选择过程很重要,但在实践中,第三方图书馆的选择仍然是以临时的方式进行的,其中数十个因素在决定中发挥着影响作用。在本文中,我们研究的因素,影响图书馆的选择过程中,所感知的行业开发人员。为此,我们对来自11个不同企业的16名开发人员进行了一项横断面访谈研究,并调查了115名参与选择库的开发人员。我们系统地设计了一套全面的26个技术、人力和经济因素,供开发人员在选择软件库时考虑。其中八个因素是新的文献。我们将解释这些因素中的每一个,以及它们如何在决策中发挥作用。最后,我们讨论了我们的工作的图书馆维护人员,潜在的图书馆用户,包管理器开发人员和经验的软件工程研究人员的影响。
2020-09-09 cs.SE
PerspectiveCoach: Exploring LLMs for Developer Reflection
Vrije Universiteit Amsterdam(阿姆斯特丹自由大学);Utrecht University(乌得勒支大学)
PerspectiveCoach通过LLM帮助开发者反思软件设计对边缘化社区的影响,提升伦理意识和用户视角理解。
2026-01-05 cs.HC cs.SE
Smart Contract Development from the Perspective of Developers: Topics and Issues Discussed on Social Media
基于区块链的平台正在成为一种变革性技术,可以在没有可信实体的情况下提供可靠性,完整性和可扩展性。这些平台的关键特征之一是以智能合约的形式对通用计算进行可信的去中心化执行,这些智能合约预计将具有广泛的应用。因此,近年来出现了一个快速增长和活跃的智能合约开发者社区。许多研究工作已经调查了这些开发人员面临的技术挑战,为智能合约开发引入了各种工具,语言和框架,重点是安全性。然而,对于社区本身、开发人员以及他们所面临和讨论的问题,人们所知相对较少。为了解决这一差距,我们研究了智能合约开发人员以及他们在两个社交媒体网站Stack Exchange和Medium上的讨论。我们深入了解这些讨论的趋势和关键主题,开发人员对各种安全问题和安全工具的兴趣,以及开发人员的技术背景。
2020-01-17 cs.CR cs.CY cs.SE
When Large Language Models Meet UAV Projects: An Empirical Study from Developers' Perspective
University of Electronic Science and Technology of China(电子科技大学);Peking University(北京大学);Zhejiang University(浙江大学);Guangdong University of Finance and Economics(广东财经大学);Qufu Normal University(曲阜师范大学)
通过分析997篇论文和1509个GitHub项目,并调查52位从业者,本研究分类了无人机项目中大型语言模型(LLM)的九种常见任务和四种工作流,揭示了研究与工业实践之间的差异,并指出了整合LLM的五大挑战因素。
2026-06-01 cs.SE
Novice Developers' Perspectives on Adopting LLMs for Software Development: A Systematic Literature Review
Monash University(墨尔本大学);Singapore Management University(新加坡管理大学)
该研究通过系统性文献综述梳理80项相关研究,分析新手开发者在软件开发中使用LLM的任务、优势、挑战等,为软件工程领域相关从业者提供参考与未来研究方向。
2025-08-01 cs.AI cs.SE
What's in a GitHub Repository? -- A Software Documentation Perspective
开发人员在GitHub上使用和贡献存储库。存储库中的文档是一个重要的资源,可以帮助开发人员理解、维护和为项目做出贡献。目前,存储库中的文档是多样化的,存在于各种文件中,其中大部分存在于自述文件中。然而,存储库中的其他软件工件,如问题报告和拉取请求,也可以对文档有所贡献,而无需显式指定文档。因此,在本文中,我们提出了一个分类的文档来源,通过分析不同的软件工件,开发人员的采访和卡片排序的方法。我们检查了950个公共GitHub存储库中的多个工件,这些工件是用四种不同的程序设计语言编写的,C++,C#,Python和Java,并分析了可以从这些工件中提取的文档的类型和数量。为此,我们观察到,约25.93%的信息提取的所有来源中提出的分类包含错误相关的文档,并拉请求贡献了约18.21%的提取信息。
2021-03-01 cs.SE
Source Code Recommender Systems: The Practitioners' Perspective
源代码的自动生成一直是软件工程研究领域的一个重要课题。已经提出了几种技术来加速新代码的编写。例如,代码完成技术可以向开发人员推荐他们可能键入的接下来的几个令牌,而基于检索的方法可以建议与手头任务相关的代码片段。此外,深度学习已用于从自然语言描述开始自动生成代码语句。虽然这一领域的研究非常活跃,但还没有研究调查代码推荐系统的用户(即,软件开发者实际上需要这些工具。我们提出了一项研究,涉及80名软件开发人员,他们认为重要的代码推荐系统的特点进行调查。我们的研究的输出是一个分类的70个“需求”,应考虑在设计代码推荐系统。例如,开发人员希望推荐的代码使用与正在开发的代码相同的编码风格。此外,代码编译器“知道”开发人员的知识(例如,他们过去已经使用的框架/库是什么),并且能够基于这种知识定制建议,这将受到从业者的赞赏。我们研究的分类输出为代码分析师指出了一系列未来的研究方向。
2023-02-08 cs.SE
Testing Practices, Challenges, and Developer Perspectives in Open-Source IoT Platforms
针对开源物联网平台因多样化组成导致的测试挑战,通过挖掘分析OpenHab和HomeAssitant代码集成及调查80名开发者,揭示测试实践与认知,为有效测试提供指导。
2025-02-11 cs.SE
Developer Perspectives on Licensing and Copyright Issues Arising from Generative AI for Software Development
University of Sannio(萨尼奥大学);University of Victoria(维多利亚大学)
本文通过对 574 名开发者的调查与访谈,分析其对 GenAI 编码中版权归属、补偿、许可及数据泄露等问题的看法,为监管决策提供建议。
2025-06-09 cs.AI cs.SE
Are Game Engines Software Frameworks? A Three-perspective Study
游戏引擎帮助开发人员创建视频游戏,避免重复代码和工作,就像传统软件系统的框架一样。在本文中,我们将从三个角度探讨开源游戏引擎:文学,代码和人类。首先,我们探索和总结了游戏引擎的学术文献。其次,我们比较了GitHub中282个最受欢迎的引擎和282个最受欢迎的框架的特征。最后,我们调查了124个引擎开发人员,了解他们开发引擎的经验。我们报告:(1)游戏引擎在软件工程研究中的研究并不充分,很少有研究将引擎作为研究对象。(2)开源游戏引擎在尺寸和复杂性方面略大,并且比传统框架更不受欢迎和吸引人。它们的程序设计语言与框架有很大的不同。引擎项目的历史更短,发布版本更少。(3)开发人员认为游戏引擎与传统框架不同。一般来说,他们构建游戏引擎是为了(a)更好地控制环境和源代码,(b)了解游戏引擎,以及(c)开发特定的游戏。我们的结论是,开源游戏引擎与传统的开源框架相比有差异,虽然这种差异并不需要特殊的待遇。
2020-09-19 cs.SE
SoK: Enhancing Privacy-Preserving Software Development from a Developers' Perspective
本文通过系统文献综述,识别并分析了经实证验证的隐私保护软件开发解决方案,指出现有研究多缺乏实证评估,旨在为研究者和从业者改进与采用有效方案提供见解。
2025-04-30 cs.CR cs.SE
Developer Perspectives on REST API Usability: A Study of REST API Guidelines
IT University of Copenhagen(哥本哈根IT大学);Ruhr University Bochum(波鸿鲁尔大学);viadee AG(viadee股份公司)
研究通过访谈16名REST API专家,探讨REST API指南的可用性、有效性因素及开发者对严格指南的抵触,提出遵循惯例是关键,需考虑指南大小与组织需求的匹配。
2026-01-23 cs.SE
The Impact Of Bug Localization Based on Crash Report Mining: A Developers' Perspective
本文通过18个月、三个团队的实践,评估基于崩溃报告分组的缺陷定位方法,发现开发者选择候选缺陷时考虑多种因素,该方法精确度约80%,并收集了开发者对可疑文件实用性的反馈。
2024-03-16 cs.IR 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
Insights from GitHub Community on the Matter Standard: Developer Perspectives and Challenges
University of Illinois Urbana Champaign(伊利诺伊大学厄巴纳-香槟分校);Tufts University(塔夫茨大学)
通过分析GitHub上超过13,000个议题,识别出Matter标准在测试、互操作性、开发及平台网络方面的四大挑战,为改进测试基础设施和跨厂商指南提供机会。
2026-07-03 cs.ET cs.HC cs.SE
Uncovering Non-native Speakers' Experiences in Global Software Development Teams -- A Bourdieusian Perspective
基于对27名中国开发者的访谈,运用布迪厄资本—场域—惯习框架分析全球软件开发团队中非英语母语者的经历,揭示四类资本及其导致系统性不利地位的机制。
2025-01-11 cs.SE
An Empirical Study on Developing Secure Mobile Health Apps: The Developers Perspective
移动应用程序利用嵌入式传感器和设备的无线连接,使用户能够进行便携式计算,上下文感知通信和增强的交互。具体而言,移动健康应用程序(简称mHealth应用程序)正在成为移动和普适计算的组成部分,以提高医疗服务的可用性和质量。尽管有这些好处,mHealth应用程序面临着一个关键的挑战,即,由应用程序产生和消费的健康关键数据的安全性。几项研究表明,移动健康应用程序的特定安全问题尚未得到充分解决。本研究的目的是从经验上(a)调查阻碍安全移动健康应用程序开发的挑战,(b)确定开发安全应用程序的实践,以及(c)探索影响安全开发的激励因素。我们通过收集来自25个国家的97名开发人员的回复进行了这项研究,他们在不同的团队和角色中工作,为Android,iOS和Windows平台开发移动健康应用程序。调查数据的定性分析基于(i)8个关键挑战,(ii)确保安全的最佳实践分类,以及(iii)影响安全移动健康应用程序的6个激励因素。这项研究提供了经验证据,作为从业者的观点和指导方针,以开发新兴的和下一代的安全移动健康应用程序。
2020-08-07 cs.CY cs.SE
An Empirical Study of Bots in Software Development -- Characteristics and Challenges from a Practitioner's Perspective
软件工程机器人-处理繁琐任务的自动化工具-越来越多地被工业和开源项目用于提高开发人员的生产力。目前在这一领域的研究是阻碍了缺乏共识的软件工程机器人(DevBots)实际上是什么,什么特征区分他们从其他工具,什么好处和挑战是与DevBot的使用。在本文中,我们报告了DevBot在工业实践中使用的混合方法实证研究。我们报告的调查结果,从采访21和调查共111名开发人员。我们在DevBot用户中确定了三种不同的角色(专注于自主性,聊天界面和“智能性”),每种角色都对DevBot是什么,开发人员为什么使用它们以及他们的斗争有不同的定义。我们的结论是,未来的DevBot研究应该在我们的框架内验证他们的工作,以明确确定工作目标是什么类型的机器人,以及从业者可以期待什么样的优势。此外,我们发现目前缺乏超越简单自动化工具或聊天界面的通用“智能”机器人。这是有问题的,因为我们已经看到,这种机器人,如果可用,可以对使用它们的项目产生变革性影响。
2020-10-29 cs.SE
Developers Need Protection, Too: Perspectives and Research Challenges for Privacy in Social Coding Platforms
像GitHub这样的社交编码平台(SCP)由于其协作和版本控制功能,已经成为现代软件工程的核心。与Facebook等主流在线社交网络(OSN)一样,SCP用户的个人资料和软件存储库中包含大量个人和项目相关数据,因此他们会受到隐私攻击和威胁。然而,与OSN不同的是,SCP用户的隐私问题和实践尚未在当前的文献中得到广泛的探讨和记录。在这项工作中,我们提出了一个在线调查的初步结果(N=105)解决开发人员的关注和感知的隐私威胁蒸汽从SCP。我们的研究结果表明,尽管用户对社交和组织隐私威胁表示担忧,但他们通常认为在这些平台上分享个人和项目相关信息是安全的。此外,针对敏感属性的推断的攻击被认为比那些寻求重新识别源代码贡献者的攻击更有可能。基于这些研究结果,我们提出了一套建议,为未来的调查解决隐私和身份管理的SCP。
2023-03-03 cs.HC cs.SE cs.SI
Characterizing Open-Source Video Games from a Software Engineering Perspective
Universidade Federal de São Carlos(圣卡洛斯联邦大学);Ontario Tech University(安大略理工大学)
本研究从软件工程视角分析491款GitHub开源游戏,发现其类型集中于益智、动作和平台类,仓库多休眠,常用Godot或Unity引擎,测试文档稀缺,为小团队开发提供洞见。
2026-10-06 cs.SE
Quantum Software Engineering Challenges from Developers' Perspective: Mapping Research Challenges to the Proposed Workflow Model
针对量子软件开发进展缓慢、软件工程实践与量子编程特性不匹配的问题,本文通过将现有软件工程研究映射到量子计算工作流,明确了量子计算领域软件工程的研究方向。
2023-08-02 cs.SE quant-ph
Enablers and Barriers of Empathy in Software Developer and User Interaction: A Mixed Methods Case Study
本文通过混合方法案例研究考察软件开发人员与用户互动中的同理心实践,识别其触发条件、促进因素与障碍,并提出克服策略及面向从业者和研究者的建议。
2024-01-17 cs.SE
"False negative -- that one is going to kill you": Understanding Industry Perspectives of Static Analysis based Security Testing
本研究通过对20名不同背景从业者的半结构化访谈,探究开发者对SAST工具的认知、期望与挑战,得出17项关键发现并提出未来研究方向,为SAST工具优化提供依据。
2024-06-18 cs.CR cs.SE
Perspectives, Needs and Challenges for Sustainable Software Engineering Teams: A FinServ Case Study
本研究通过 FinServCo 案例调查了金融服务 IT 部门对可持续软件工程的看法,发现高层与开发者在关注点(技术经济 vs 人本需求)上存在分歧,强调了共同设计上下文敏感干预措施的重要性。
2025-09-15 cs.SE
Reel Life vs. Real Life: How Software Developers Share Their Daily Life through Vlogs
软件开发人员正在转向vlog(视频博客),分享穿着他们的鞋子走路的一天。通过这些视频博客,开发人员可以分享他们的技术工作以及个人生活的丰富视角。然而,vlog中描绘的活动类型与行业开发人员执行的活动不同吗?如果一家软件公司的开发人员被要求通过视频博客分享他们的一天,他们会更喜欢在不同程度上展示活动吗?为了回答这些问题,我们分析了YouTube上软件开发人员的130个视频博客,并对一家大型软件公司的335名软件开发人员进行了调查。我们发现,尽管视频博客呈现了传统的开发活动,如编码和编码外围活动(11%),但它们也突出了健康和生活方式相关的活动(47.3%),这些活动在以前的软件工程文献中没有反映出来。我们还发现,软件公司的开发人员倾向于分享更多的非编码任务(例如,个人项目,与家人和朋友在一起的时间,以及健康),当被要求创建一个模拟vlog以促进多样性时。这些发现表明,我们对软件开发人员如何花费时间的理解发生了转变,并发现有价值的公开分享。我们讨论了vlog如何提供软件开发工作的更完整的视角,并作为实证研究的宝贵数据来源。
2021-07-27 cs.CY cs.HC cs.SE
Towards an Understanding of Developer Experience-Driven Transparency in Software Ecosystems
本研究从开发者体验视角出发,提出SECO-TransDX概念模型,系统梳理63个相关概念,经Delphi研究完善,为研究SECO中透明度与DX的关系提供框架,支撑可信开发者平台设计。
2025-09-04 cs.HC cs.SE
Walking the Tightrope of LLMs for Software Development: A Practitioners' Perspective
Faculty of Information Technology, Monash University(墨尔本大学信息科技学院);School of Computing and Information Systems, Singapore Management University(新加坡管理大学计算机与信息系统学院)
本文从软件开发者视角出发,研究LLMs对软件开发的影响及管理方法,通过22次访谈和STGT4DA分析方法,揭示了LLMs在个体、团队、组织和社会层面的利弊,并提出了缓解挑战的可行建议。
2026-05-21 cs.AI cs.SE
Challenges in Android Data Disclosure: An Empirical Study
Heinz Nixdorf Institute Paderborn University(帕德博恩大学海因茨·诺伊多夫研究所);Fraunhofer IEM(弗劳恩霍夫应用集成研究所以及工程研究所)
本文通过调查和分析开发者讨论,揭示开发者在填写Google数据安全部分表单时的分类困难和信心不足问题,指出需更清晰的指导和工具支持。
2026-04-24 cs.SE
Rise of Distributed Deep Learning Training in the Big Model Era: From a Software Engineering Perspective
本文从软件工程视角出发,针对大模型时代分布式训练的开发者问题开展首次全面研究,分析1131个真实问题构建30类细粒度故障分类并总结修复模式,提出多项助力深度学习软件开发的研究方向启示。
2023-04-28 cs.SE
Identifying Video Game Debugging Bottlenecks: An Industry Perspective
École de Technologie Supérieure (ÉTS)(高等技术学院)
本文从行业视角探讨视频游戏调试中的瓶颈问题,分析了开发者在调试过程中使用的技术工具及协作方式,揭示了调试活动中时间分配的主要特点。
2026-01-09 cs.SE
Did You Remember to Test Your Tokens?
身份验证是确认系统用户身份的关键安全功能,通常在Spring Security等框架的帮助下实现。这是一个复杂的功能,应该在开发的所有阶段进行可靠的测试。单元测试是一种有效的技术,用于细粒度验证未广泛用于测试身份验证的特征行为。部分问题在于帮助开发人员进行单元测试安全特性的资源有限。大多数安全测试指南推荐的测试用例都是从“黑盒”或渗透测试的角度出发的。这些资源对于编写新的单元测试的开发人员,或者想要从安全性的角度来看待覆盖率的开发人员来说并不容易。在本文中,我们通过应用一种基于理论的方法来解决这些问题,通过分析来自53个开源Java项目的481个JUnit测试来识别令牌身份验证的常见(单元)测试用例。本研究的结果是一个开发人员友好的单元测试指南,该指南被组织为53个令牌身份验证测试用例的目录,代表了从我们分析的数据集中学习到的17个场景、40个条件和30个预期结果的独特组合。我们在测试指南中补充了常见的测试气味,以避免。为了验证测试指南的准确性和实用性,我们从选定的开发人员那里寻求反馈,其中一些人在我们的数据集中编写了单元测试。
2020-06-25 cs.SE
An Empirical Study of False Negatives and Positives of Static Code Analyzers From the Perspective of Historical Issues
本文从历史问题视角系统研究了PMD、SpotBugs和SonarQube等静态代码分析器的假阴性与假阳性问题,揭示了其根本原因,并设计蜕变测试策略成功发现14个新问题。
2024-08-25 cs.SE
An Empirical Study of Usages, Updates and Risks of Third-Party Libraries in Java Projects
第三方库是开发软件系统的核心构建块。然而,过时的第三方库通常被使用,开发人员通常不太了解潜在的风险。因此,对第三方图书馆的使用、更新和风险进行定量和全面的研究,可以为可持续地改善生态系统提供实践性的见解。在本文中,我们在Java生态系统中进行了这样的研究。具体而言,我们进行库使用分析(例如,使用强度和过时性)和库更新分析(例如,更新强度和延迟)使用806个开源项目。这两项分析旨在从开源项目和第三方库的角度全面量化使用和更新实践。然后,我们进行库风险分析(例如,潜在的风险和开发人员的反应)的错误与15个常用的第三方库。该分析旨在量化使用过时库的潜在风险以及开发人员对风险的响应。我们从三个分析中得出的结论为开发人员和研究人员提供了关于维护第三方库(例如,智能警报和自动更新过时的库)。为了证明我们的研究结果的有用性,我们提出了一个错误驱动的警报系统,以帮助开发人员在更新第三方库版本时做出自信的决定。我们已经发布了我们的数据集,以促进有价值的应用程序和改善生态系统。
2020-02-25 cs.SE
Mind the Gap: A Decade-Scale Empirical Study of Multi-Stakeholder Dynamics in VR Ecosystem
本研究通过分析94万余条用户评论和38万余条开发者帖子,构建多视图实证框架,揭示了VR生态中用户关切与开发者行动在包容性和社区安全等领域的显著差距,为弥合双方鸿沟提供数据驱动建议。
2025-08-23 cs.SE
Regexes are Hard: Decision-making, Difficulties, and Risks in Programming Regular Expressions
正则表达式(regex)是解决字符串匹配问题的强大机制。它们被所有现代程序设计语言支持,并且估计出现在超过三分之一的Python和JavaScript项目中。然而,现有的研究主要集中在正则表达式编程的一个方面:可读性。我们对开发人员如何理解和编程正则表达式知之甚少,也不知道他们面临的困难。在本文中,我们提供了正则表达式开发周期的第一个研究,重点是(1)开发人员如何在整个过程中做出决策,(2)他们面临的困难,以及(3)他们如何意识到编程正则表达式所涉及的严重风险。我们采取了混合方法,调查了279名来自不同背景(包括顶级科技公司)的专业开发人员,以获得高层次的视角,并采访了17名开发人员,以了解他们面临的困难和他们更喜欢的解决方案的细节。简而言之,正则表达式很难。它们不仅难以阅读,我们的参与者说,它们很难搜索,很难验证,也很难记录。它们也很难掌握:我们研究的大多数开发人员都没有意识到使用正则表达式时可能发生的关键安全风险,而那些知道风险的人也没有以有效的方式处理它们。我们的研究结果为未来的工作,包括语义正则表达式搜索引擎正则表达式重用和改进的输入生成器正则表达式验证提供了多种影响。
2023-03-05 cs.SE
Verification-Conditioned Use: A Qualitative Study on How Generative AI Reshapes Learning, Autonomy, and Market Entry for Junior Software Developers
CESAR School(CESAR学院)
该研究从新手角度探讨生成式人工智能对初级软件开发人员职业生涯早期的影响,通过访谈分析得出围绕“验证条件使用”的16个主题,指出决定使用AI或人工的关键标准,揭示新手自我认知紧张关系及形成性悖论,还给出使AI使用可持续的个人实践要点。
2026-07-28 cs.SE
Self-Admitted Technical Debt in the Embedded Systems Industry: An Exploratory Case Study
技术债是指软件开发过程中的捷径,主要是为了方便。当开发人员明确承认这种快捷方式时(例如,写一个TODO/Fixme评论),它们被称为自我承认的技术债务或SATD。在开源项目中已经有相当多的研究SATD管理的工作,但在工业中的SATD相对较少。与此同时,没有工作集中在开发人员对SATD及其管理的观点。为了解决这个问题,我们与一个行业合作伙伴合作进行了一个探索性的案例研究,以研究他们如何看待SATD以及他们如何管理它。具体来说,我们通过识别和描述不同来源(问题,源代码注释和提交)的SATD来收集数据,并对12名软件从业者进行了一系列访谈。结果显示:1)工业项目中SATD的核心特征; 2)开发者对已识别的SATD和统计数据的态度; 3)从业者引入和回报SATD的触发因素; 4)不同来源的SATD之间的关系; 5)用于管理SATD的实践; 6)SATD管理的挑战和工具思想。
2022-11-21 cs.SE
Building the perfect game -- an empirical study of game modifications
游戏开发商不能总是满足游戏社区不断增长和变化的需求,因为开发商的时间表往往已经超负荷。所谓的modder可以帮助游戏开发者满足玩家的需求。Moders是为游戏提供修改或全新内容的爱好者。通过支持模组,游戏开发者可以满足玩家群快速增长和不断变化的需求。Moders有可能在延长游戏寿命方面发挥作用,从而节省游戏开发人员的时间和金钱,并为他们的玩家群带来更好的整体游戏体验。在本文中,我们实证研究了Nexus Mods分发平台上20款最受欢迎游戏的9,521个mods的元数据。我们的目标是从定量的角度为Nexus Mods分发平台的modding社区提供有用的见解,并为研究人员提供未来探索游戏mods的坚实基础。通过这样做,游戏开发人员可以潜在地减少开发时间和成本,因为通过mods增加了游戏的可重玩性。我们发现,提供官方支持的MOD可以有利于感知质量的游戏的MOD。此外,MOD用户愿意为MOD提交错误报告,但他们通常无法使用Nexus Mods平台的错误报告工具系统地完成此操作,导致难以解决的低质量错误报告。根据我们的研究结果,我们建议那些希望为自己的游戏建立一个活跃的改装社区的游戏开发者为改装社区提供官方支持的改装工具。此外,我们建议MOD发行平台,如Nexus Mods,改进其错误报告系统,以接收更高质量的错误报告。
2021-03-12 cs.SE
What Makes a Code Review Useful to OpenDev Developers? An Empirical Investigation
本研究通过混合方法调查OpenDev项目中代码评审评论的有用性,发现其受技术贡献和语言特征影响,评审经验正相关,而评审数量、文件评论量、行数及间隔负相关。
2023-06-19 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
How Developers Discuss Generative AI: A Longitudinal Study of the Visual Studio Code Community
Faculty of Engineering Kasetsart University(曼谷农业大学工程学院);Faculty of Environmental, Life, Natural Science and Technology Okayama University(冈山大学环境生命自然科学技术学部);Faculty of Digital Technology Chitralada Technology Institute(吉特拉达技术学院数字技术学院)
本研究通过分析VS Code代码库的25227个AI相关议题,发现开发者讨论生成式AI多聚焦于操作层面,而非调查强调的风险,且讨论正从代码补全向智能体开发演变,为相关研究提供了补充视角。
2026-09-07 cs.SE
An Empirical Study on the Usage of BERT Models for Code Completion
代码完成是现代集成开发环境(IDE)的主要功能之一。它的目标是通过预测开发人员可能编写的下一个代码令牌来加速代码编写。这一领域的研究大大提高了这些技术的预测性能。然而,对开发人员的支持仍然限于预测接下来要输入的几个令牌。在这项工作中,我们在这个方向上更进一步,提出了一个大规模的实证研究,旨在探索最先进的深度学习(DL)模型在支持不同粒度级别的代码完成方面的能力,包括单个令牌,一个或多个完整语句,直到整个代码块(例如,for循环的迭代块)。为此,我们训练和测试最近提出的RoBERTa模型的几个适应变体,并从几个角度评估其预测,包括:(i)评估DL生成模型时通常采用的指标(即,BLEU评分和Levenshtein距离);(ii)完美预测的百分比(即,与开发者编写的代码片段相匹配的预测代码片段);以及(iii)所生成的代码与开发者编写的代码相比的“语义”等价性。所取得的结果表明,BERT模型代表了一个可行的解决方案的代码完成,与完美的预测范围从~ 7%,当要求模型猜测整个块,高达~ 58%,达到在更简单的情况下,几个令牌从相同的代码语句屏蔽。
2021-03-12 cs.SE
Developers Who Vlog: Dismantling Stereotypes through Community and Identity
开发人员不仅仅是“整天躲在电脑后面的书呆子”,他们过着正常的生活,并不是所有人都走传统的道路学习编程。然而,公众仍然将软件开发视为“数学奇才”的职业。为了从第一人称视角更多地了解这种特殊类型的知识工作者,我们进行了三项研究,以了解开发人员如何通过YouTube上的vlog描述他们生活中的一天,以及这些vlog如何被更广泛的社区所接受。我们首先采访了16位vlog开发人员,以确定他们创建这些内容的动机以及他们选择描绘的内容背后的意图。其次,我们分析了130个vlog(视频博客),以了解通过视频传达的内容的范围。第三,我们分析了来自130个vlog的1176条评论,以了解vlog对观众的影响。我们发现,开发人员有动力促进和建立一个多元化的社区,通过分享生活的不同方面,定义他们的身份,并通过创建有关学习和职业机会的意识在计算。他们使用视频博客来分享软件开发人员的各种工作和生活方式-展示经常看不见的体验,包括他们个人生活中的亲密时刻。从我们的评论分析中,我们发现vlog对于观众寻找信息和寻求建议是有价值的。评论者寻求机会与其他人联系,分享他们所面临的胜利和考验,这些也在视频博客中显示。作为一个中心主题,我们发现开发人员使用vlog来挑战围绕他们的身份,工作生活和幸福的误解和刻板印象。这些社会耻辱是一个包容和接受社区的障碍,并可能阻止人们选择软件开发作为职业。我们还讨论了使用vlog来支持开…
2021-09-13 cs.CY cs.HC cs.SE
From GUI Tests to Conversational Interaction: A New Perspective on App-Specific Voice Assistants
Villanova University(维拉诺瓦大学)
研究针对移动平台语音助手与应用行为契合度低的问题,提出由语言模型驱动、利用图形用户界面测试代码自动开发特定应用语音助手的方法,经安卓原型验证,可复用测试代码实现语音助手合成并指明相关研究方向。
2026-07-14 cs.SE
Understanding the Impact of AI Code Assistants on Security API Usage: An Empirical Study
Centre for Research on Engineering Software Technologies (CREST) & Adelaide University, Australia(工程软件研究技术中心(CREST)及阿德莱德大学,澳大利亚);Edith Cowan University, Australia(埃德温·考文大学,澳大利亚);CSIRO’s Data61, Australia(CSIRO数据61,澳大利亚)
该研究通过对44名开发者的实证调查,探讨人工智能代码助手对安全API使用的影响。发现GitHub Copilot虽提高功能正确性、减少不安全模式,但未显著提升安全API使用,且开发者安全意识不足,进而给出相关建议与研究方向。
2026-07-14 cs.AI cs.SE