A Hybrid LTR-based System via Social Context Embedding for Recommending Solutions of Software Bugs in Developer Communities
Ferhat Abbas University(费尔哈特·阿巴斯大学);College of Sciences(理学院)
本文提出基于社交上下文嵌入的混合LTR系统,通过挖掘Stack Overflow实现软件bug解决方案推荐,达到78%的准确率。
2026-03-07 cs.AI cs.SE
How do Developers Test Android Applications?
实现移动应用程序的全自动测试最近已成为研究人员和从业人员的重要研究课题。已经提出了大量的工具和方法,通过增加手动测试实践和自动化测试过程的各个部分来帮助移动开发人员。然而,目前的自动化测试方法无法让开发人员相信它们的好处,导致大多数移动测试都是手动执行的。为了帮助设计支持移动测试方法的研究人员和从业人员了解开发人员的需求,我们分析了来自Android项目的102位开源贡献者关于他们在执行测试时的实践的调查回复。调查的重点是关于开发人员/测试人员在野外的实践和偏好的问题:(i)设计和生成测试用例,(ii)自动化测试实践,以及(iii)对质量度量的看法,例如用于确定测试质量的代码覆盖率。通过分析从这次调查中收集到的信息,我们汇编了一套知识体系,以帮助指导研究人员和专业人员根据不同开源开发人员的需求定制新的自动化测试方法。
2018-01-19 cs.SE
Understanding Emotions of Developer Community Towards Software Documentation
开源项目的可用性促进了开发人员在广泛的项目上做出贡献和协作。因此,为此类开源项目做出贡献的开发人员社区也在增加。许多项目都涉及频繁更新和广泛重复使用。一个更新良好的文档有助于更好地理解软件项目,也有助于有效的贡献和重用。虽然软件文档在软件开发和维护过程中扮演着重要的角色,但它也存在着诸如不充分、不一致、可维护性差等问题,探讨开发人员对文档的看法有助于理解软件文档中普遍存在的问题背后的原因。它可以进一步帮助决定可以向开发人员社区提供的培训,以便为社会建立更可持续的项目。分析项目贡献者的情绪可以为理解开发人员的看法提供见解。因此,作为朝着这个方向迈出的第一步,我们分析了特定于软件项目文档的提交消息的情感。为此,我们考虑了GHTorrent数据集中998个GitHub项目的提交历史,并确定了10,996个提交对应于存储库的文档。此外,我们应用情感分析技术来获得对所选提交的提交消息中表达的情感类型的见解。我们观察到,大约45%的已识别提交消息表达了信任情绪。
2021-03-01 cs.SE
"Always Nice and Confident, Sometimes Wrong": Developer's Experiences Engaging Large Language Models (LLMs) Versus Human-Powered Q&A Platforms for Coding Support
本研究通过分析1700多条Reddit帖子,对比开发者使用Stack Overflow与ChatGPT获取编程支持的体验,明确二者的优势、场景与障碍,提出未来GenAI代码助手的设计启示及结合双方优势的工作流建议。
2025-02-20 cs.HC cs.SE
Continuous integration in a social-coding world: Empirical evidence from GitHub. **Updated version with corrections**
持续集成是一种软件工程实践,它频繁地将所有开发人员的工作副本与一个共享的主分支合并,例如,一天几次随着GitHub的出现,一个以其“社交编码”功能而闻名的平台,该功能有助于协作和共享,并且目前是开源世界中最大的代码主机,协作软件开发从未如此突出。在GitHub开发中,可以区分两种类型的开发人员对项目的贡献:直接贡献,来自对主项目存储库具有写访问权限的典型的一小群开发人员,以及间接贡献,来自分叉主存储库的开发人员,在本地更新他们的副本,并提交pull请求进行审查和合并。在本文中,我们将探讨GitHub开发人员如何使用持续集成,以及贡献类型(直接与间接)和不同的项目特征(例如,主程序设计语言或项目年龄)与自动构建的成功相关联。
2015-12-06 cs.SE
The Transformative Influence of LLMs on Software Development & Developer Productivity
本文系统综述了LLMs作为AI编程助手对软件开发的影响,揭示了隐私、偏见等挑战,并提出12个开放问题。
2025-07-05 cs.HC cs.SE
The Impact of Human Aspects on the Interactions Between Software Developers and End-Users in Software Engineering: A Systematic Literature Review
本文通过遵循Kitchenham指南、检索六个数据库并结合滚雪球法,对46项一手研究进行SLR,系统梳理影响开发者与用户交互的人为因素、关系、正负影响及缓解策略,并提出研究建议。
2024-05-08 cs.SE
Multilingual Multimodal Software Developer for Code Generation
Beihang University(北京航空航天大学);Alibaba Group(阿里巴巴集团);M-A-P;Nanjing University(南京大学)
针对现有代码生成模型仅限文本忽略视觉辅助的问题,提出多模态开发者 MM-Coder,结合 UML 图表与流程图等视觉设计与文本指令,并构建指令微调数据集 MMc-Instruct 与评估基准 MMEval,显著提升了代码生成准确性与架构对齐。
2025-07-11 cs.AI cs.CL cs.SE
The Fast and Spurious: Developer Productivity with GenAI
Oregon State University(俄勒冈州立大学);CodeDay;Colorado State University(科罗拉多州立大学);Northern Arizona University(北亚利桑那大学)
本文研究了生成式AI对开发者生产力不同维度的影响,发现虽然任务完成速度提升,但导致代码审查负担增加、认知负荷持续存在,整体生产力可能虚增。
2026-04-05 cs.HC cs.SE
Context-Augmented Software Development Projects: Literature Review and Preliminary Framework
软件开发是一项复杂的活动,依赖于各种技术和人们的专业知识。开发软件的方法高度依赖于这些不同的特征,这些特征是开发人员所服从的上下文。这个上下文包含大量的知识,不捕获它意味着知识不断丢失。虽然广泛的研究,在软件开发中的上下文仍然是不明确的,也没有提出一个更广泛的观点,软件开发人员和工具所需要的上下文。因此,开发人员的生产力受到影响,因为重用这种丰富上下文的能力受到阻碍。本文提出了一个文献综述的软件开发环境,通过九个研究问题。本研究的目的是使所发现的上下文显式到一个集成的视图,并提出了一个平台,以帮助软件开发使用上下文信息。我们相信,通过上下文知识的表示和挖掘来支持推荐和实时提供,可以显着改善大数据软件项目的开发。
2019-10-17 cs.SE
Does Co-Development with AI Assistants Lead to More Maintainable Code? A Registered Report
本研究通过两阶段受控实验,评估AI助手对软件可维护性的影响,采用贝叶斯分析比较完成时间、感知生产力、代码质量与测试覆盖率。
2024-08-20 cs.SE
AssetHarvester: A Static Analysis Tool for Detecting Secret-Asset Pairs in Software Artifacts
本文提出静态分析工具 AssetHarvester,通过识别秘密-资产共置模式并结合模式匹配、数据流分析与启发式方法检测秘密-资产对,以帮助开发者过滤误报并优先移除高风险秘密。
2024-11-20 cs.CR cs.SE
Is Your Private Information Logged? An Empirical Study on Android App Logs
Rochester Institute of Technology(罗切斯特理工学院);University of Waterloo(滑铁卢大学)
本研究通过构建Android应用日志数据集,分析隐私泄露现状及原因,揭示开发者对隐私问题的关注,并提出隐私保护建议。
2026-02-17 cs.SE
On Autopilot? An Empirical Study of Human-AI Teaming and Review Practices in Open Source
The University of Melbourne(墨尔本大学);Singapore Management University(新加坡管理大学)
本研究通过分析开源项目中AI辅助PR的互动模式,发现非所有权贡献者提交的AI共同撰写的PR被快速合并且反馈极少,揭示了AI在软件工程中的协作与审查实践问题。
2026-01-20 cs.SE
What Challenges Do Developers Face About Checked-in Secrets in Software Artifacts?
在整个2021年,GitGuardian对公共GitHub存储库的监测显示,与2020年相比,暴露的秘密(数据库凭据,API密钥和其他凭据)数量增加了两倍,累积了超过600万个秘密。据我们所知,开发人员面临的挑战,以避免签入的秘密尚未特征化。我们的论文的目标是帮助研究人员和工具开发人员理解和优先考虑未来的研究和工具自动化的机会,通过经验调查的挑战和解决方案,以减轻签入秘密。我们提取了779个与Stack Exchange上签入秘密相关的问题,并应用定性分析来确定每个挑战的挑战和其他人提出的解决方案。我们确定了27个挑战和13个解决方案。四个最常见的挑战按排名顺序是:(i)在部署期间存储秘密/秘密版本;(ii)在源代码中存储秘密/秘密版本;(iii)忽略/隐藏源代码中的秘密;以及(iv)清理历史记录。按排名顺序,三种最常见的解决方案是:(i)将机密移出源代码/版本控制并使用模板配置文件;(ii)部署中的机密管理;以及(iii)使用本地环境变量。我们的调查结果表明,已经提到了相同的解决方案,以减轻多种挑战。然而,我们的研究结果也发现了一个日益增长的趋势,即缺乏公认的解决方案的问题,证实了未来对管理秘密的研究和工具自动化的需求。
2023-01-29 cs.CR cs.SE
Multi-granular Software Annotation using File-level Weak Labelling
本文提出利用项目级标签进行弱标注并借助层次聚合实现源代码文件、包及整个项目的多粒度自动标注,实验表明该方法可正确标注50%的文件和超过50%的包,并能平均为每个项目发现三个新的相关标签。
2023-11-20 cs.SE
A Preliminary Study on the Impact of AI in the Creativity and Collaboration in Software Teams
Universidade Federal de Pernambuco (UFPE)(巴西国立伯南布哥联邦大学);University of Southampton(南安普顿大学)
研究人工智能对软件团队创造力和协作的影响,通过对13名软件专业人员半结构化访谈,发现人工智能拓宽创意范围但缩窄独立构思,削弱同伴学习指导,团队发展出开发者、同事和人工智能共同推理的三方协作模式。
2026-07-21 cs.SE
A Survey of Third-Party Library Security Research in Application Software
本文综述了应用软件中第三方库的使用、生态系统、检测与防御加固研究,总结了现有成果与未来方向,旨在帮助开发者防范安全风险并促进软件生态健康发展。
2024-04-27 cs.SE
What's in a Package? Getting Visibility Into Dependencies Using Security-Sensitive API Calls
North Carolina State University(北卡罗来纳州立大学);Endor Labs
本文提出通过调用图分析构建生态系统安全敏感 API 列表,并以 Java 实现,用于比较功能相似包的安全风险;110 人调查显示过半开发者愿意使用该信息选择依赖。
2026-10-27 cs.CR cs.SE
Assessing Semantic Frames to Support Program Comprehension Activities
软件开发人员在构建和处理软件系统时,经常依赖于出现在软件工程工件中的自然语言文本来访问关键信息。例如,开发人员访问需求文档以了解要构建什么,访问源代码中的注释以了解设计决策,访问问答网站上的问题答案以了解API,等等。为了帮助软件开发人员访问和使用这些自然语言信息,软件工程研究人员经常使用自然语言处理中的技术。在本文中,我们探讨框架语义,一般的语言学方法,已被用于需求文本,也可以帮助解决问题时,应用基于词汇分析的技术与程序理解活动的文本。我们评估通用语义框架解析的适用性,并根据结果,我们提出SEFrame定制语义框架解析程序的理解使用。我们评估的正确性和鲁棒性的方法,发现SEFrame是正确的73%和74%的情况下,它可以解析文本从各种软件工件用于支持程序的理解。我们描述了如何使用这种方法来增强现有的方法来确定意图的含义从软件工程文本。
2021-05-12 cs.SE
SecretBench: A Dataset of Software Secrets
根据GitGuardian对公共GitHub存储库的监测,与2020年相比,2021年机密(API密钥和其他凭据)的暴露量增加了两倍,总计超过600万个机密。然而,没有基准数据集可供研究人员和工具开发人员公开评估产生许多误报警告的秘密检测工具。我们的论文的目标是帮助研究人员和工具开发人员评估和改进秘密检测工具,通过从开源存储库中系统地收集秘密来管理秘密的基准数据集。我们提出了一个标记的源代码数据集,其中包含从818个公共GitHub存储库中提取的各种秘密类型的97,479个秘密(其中15,084个是真正的秘密)。该数据集涵盖了49种程序设计语言和311种文件类型。
2023-03-12 cs.CR cs.SE
The Evolution of Information Seeking in Software Development: Understanding the Role and Impact of AI Assistants
本研究通过混合方法调查发现,开发者日益依赖AI工具进行信息寻求以提升效率,但需重视基础开发者知识以指导AI输出,对AI工具整合进开发流程具有启示。
2025-04-25 cs.HC cs.SE
COSPEX: A Program Comprehension Tool for Novice Programmers
开发人员在软件维护过程中经常会遇到不熟悉的代码,这会消耗大量的时间来理解,特别是对于新手程序员。分析源代码并向开发人员提供关键信息的自动化技术可以有效地理解代码。研究人员已经提出了自动代码摘要技术,该技术通过生成简要摘要而不是帮助理解代码摘要来关注代码摘要。现有的调试器表示程序的执行状态,但它们不显示单个点的完整执行。研究表明,如果为新手程序员提供工作示例,则可以减少程序理解所需的努力。因此,我们提出了CO(通过程序执行使用摘要的理解)--一个Atom插件,它动态提取每行执行代码的关键信息,并以交互式示例式动态信息实例的形式将其呈现给开发人员。作为初步评估,我们在用户调查中向14名具有1年以上Python编程经验的本科生介绍了代码理解任务。我们观察到COdac帮助新手程序员理解程序,并提高他们对代码执行的理解。源代码和工具可在https://bit.ly/3utHOBM上获得,Youtube上的演示可在https://bit.ly/2Sp08xQ上获得。
2021-07-06 cs.SE
Empirical Study on the Characteristics and Evolution of AI-usage in GitHub Repositories: Evidence from Code Comments
Missouri University of Science and Technology(密苏里科技大学);Drexel University(德雷塞尔大学)
通过分析35,361条提及AI的GitHub代码注释及后续提交,发现开发者主要用LLM实现代码,随后频繁重构、集成和修复,AI引用从代码生成转向知识支持和代码增强。
2026-06-05 cs.SE
Building Sustainable Software - The CSDMS Approach
CSDMS,社区表面动力学建模系统,是一个NSF资助的项目,其重点是帮助地球和海洋系统模型用户和开发人员的多样化社区使用和快速创建强大的软件。为此,CSDMS开发,整合,存档和传播地球系统模型和工具,以建立一套必要的工具,以模拟地球系统的国际(67个国家)社区的目标。建模人员使用CSDMS访问数百个开源表面动力学模型和工具,以及模型元数据。这样的模型存储库增加了模型的透明度,并通过呈现建模工作的当前状态来帮助消除重复。为了提高软件的可持续性、可组合性和互操作性,CSDMS促进了定义公共建模接口、模型之间的语义中介和模型元数据的标准。通过在线资源和研讨会,CSDMS促进了软件工程最佳实践,这对我们建模社区中的许多开发人员来说是陌生的。例如,版本控制、单元测试、持续集成、测试驱动开发和编写良好的干净代码都是CSDMS教育任务的主题。
2014-11-15 cs.SE
The Perceptions of Software Engineers Concerning the Utilization of Bots in the OSS Development Process: An Exploratory Survey
本研究通过调查37名软件工程师,探讨了开源软件(OSS)开发中Bots的使用情况,发现Bots在多阶段提供支持并提升生产力,但受访者认为当前Bots不够智能,并提出了改进建议。
2024-11-14 cs.SE
CrashJS: A NodeJS Benchmark for Automated Crash Reproduction
针对 JavaScript 缺乏自动化崩溃复现工具与评测资源的问题,本文提出 CrashJS,提供含 453 个 Node.js 崩溃、覆盖真实与合成测试及多复杂度的基准数据集。
2024-05-09 cs.SE
Who Writes the Docs in SE 3.0? Agent vs. Human Documentation Pull Requests
Nara Institute of Science and Technology(奈良先端科学技术大学院大学);University of Calgary(卡尔加里大学)
研究发现 AI 代理在文档拉取请求中比人类更活跃,且其文档修改较少被人类跟进,引发对文档质量和人机协作的担忧。
2026-01-28 cs.SE
Hashing It Out: A Survey of Programmers' Cannabis Usage, Perception, and Motivation
大麻是最常见的精神改变物质之一。它被用于医疗和娱乐,并陷入了复杂和不断变化的法律环境。有证据表明,一些软件开发人员可能会使用大麻来帮助完成一些编程任务。与此同时,禁毒政策和测试在许多软件工程环境中仍然很常见,有时会导致某些工作的招聘短缺。尽管存在这些联系,但实际上对方案拟订时使用大麻的流行率和动机知之甚少。在本文中,我们报告了程序员使用大麻的第一次大规模调查的结果。我们报告了关于803名开发人员(包括450名全职程序员)大麻使用率,感知和动机的调查结果。例如,我们发现一些程序员在编程时经常使用大麻:我们的样本中有35%的人在使用大麻时尝试过编程,18%的人目前至少每月一次。此外,这种大麻的使用主要是出于对某些软件开发技能的增强(例如头脑风暴或进入编程区),而不是医学原因(例如缓解疼痛)。最后,我们发现,尽管大麻的认知和可见性存在差异,但编程员工,经理和学生在编程时使用大麻的比率相似。我们的研究结果对规划工作药物政策和激励未来的研究大麻使用,而编程的影响。
2021-12-17 cs.SE
Experience Report on Formally Verifying Parts of OpenJDK's API with KeY
软件的演绎验证尚未进入行业,因为复杂性和可扩展性问题需要高度专业的专家。然而,长期的观点是开发验证工具,帮助工业软件开发人员更快,更容易地找到软件系统中的错误或瓶颈。KeY项目构成了一个用于指定和验证软件系统的框架,旨在使形式化验证工具适用于主流软件开发。为了帮助KeY的开发人员、用户和演绎验证社区,我们从用户的角度总结了使用KeY 2.6.1指定和验证真实世界Java代码的经验。为此,我们集中讨论OpenJDK 6的Collections-API的部分内容,其中存在非正式规范。当我们描述我们如何桥接非正式和正式规范时,我们也展示了我们遇到的伴随的挑战。我们的经验是,(a)原则上,演绎验证类API代码库是可行的,但需要很高的专业知识,(b)为现有的代码库开发正式的规范仍然是出了名的困难,(c)在Java中的某些语言结构的规格是具有挑战性的工具建设者。我们在指定OpenJDK 6的部分方面的初步努力构成了未来研究案例研究的垫脚石。
2018-11-27 cs.LO cs.PL cs.SE
GiveMeLabeledIssues: An Open Source Issue Recommendation System
School of Informatics, Computing, and Cyber Systems(信息学、计算与网络系统学院);Northern Arizona University(北亚利桑那大学)
针对开源项目Issue追踪系统中开发者难匹配合适任务的问题,提出GiveMeLabeledIssues工具,基于解决Issue涉及的API领域标注所需技能,实现技能与任务匹配,减轻维护者负担,预测准确率达83.9%。
2023-03-23 cs.LG cs.SE
FairLay-ML: Intuitive Debugging of Fairness in Data-Driven Social-Critical Software
Pennsylvania State University(宾夕法尼亚州立大学);University of Texas at El Paso(德克萨斯大学埃尔帕索分校)
FairLay-ML是一个面向数据驱动软件的公平性调试工具,通过可视化数据、模型与决策逻辑、训练多组公平性-准确性权衡模型并结合反事实测试,帮助开发者和最终用户发现并解释公平性缺陷。
2024-12-24 cs.CY cs.LG cs.SE
A Comparative Study of Software Secrets Reporting by Secret Detection Tools
本研究评估了五个开源和四个专有秘密检测工具,发现基于精确度和召回率的最佳工具分别为 GitHub Secret Scanner 和 Gitleaks,并建议开发人员根据项目秘密类型选择工具,供应商应定期更新规则并改进验证机制。
2023-07-03 cs.CR cs.SE
Tool Support for Continuous Quality Control
随着时间的推移,软件系统的质量会逐渐下降,因此,如果组织未能采取积极的对策,成本可能会上升。质量控制是避免这种成本陷阱的第一步。持续的质量评估可以帮助用户在早期发现质量问题,当他们的删除仍然是廉价的;他们还通过提供一个软件系统的当前状态的综合视图来帮助决策。作为一个副作用,持续和及时的反馈有助于开发人员和维护人员提高他们的技能,从而降低未来质量缺陷的可能性。为了使定期质量控制切实可行,必须高度自动化,评估结果必须以汇总的方式呈现,以避免数据使用户不堪重负。本文概述了旨在解决这些问题的工具。作者还讨论了他们自己灵活的开源工具包,该工具包支持创建用于质量控制的仪表板。
2016-11-28 cs.SE
Chronicles of CI/CD: A Deep Dive into its Usage Over Time
本文通过分析 GitHub 仓库数据,深入探究了过去 12 年 CI/CD 技术的使用与演变,揭示了多技术并用和频繁切换现象,并为支持开发人员管理 CI/CD 流水线提出了未来研究方向。
2024-02-27 cs.SE
An Empirical Study on Logging Evolution On Stack Overflow: Trends, Topics, and Challenges
Department of Computer Engineering and Software Engineering Polytechnique Montreal(蒙特利尔理工大学计算机工程与软件工程系)
基于 Stack Overflow 上的 216,094 篇帖子,使用大语言模型分类方法,识别出 11 个日志相关主题,并发现容器化环境中的日志记录是最具挑战性的主题。
2026-05-27 cs.PL cs.SE
To What Extent Does Agent-generated Code Require Maintenance? An Empirical Study
National Institute of Technology, Nara College(奈良工业高等专门学校);Nara Institute of Science and Technology(奈良先端科学技术大学院大学)
研究通过分析AI生成与人工编写代码的维护情况,发现AI代码维护频率较低,主要修改类型为功能扩展,而人工代码则以修复bug为主,人类开发者主导了大部分维护工作。
2026-05-09 cs.SE
What are the Practices for Secret Management in Software Artifacts?
在整个2021年,GitGuardian对公共GitHub存储库的监测显示,与2020年相比,暴露的秘密(数据库凭据,API密钥和其他凭据)数量增加了两倍,累积了超过600万个秘密。系统地推导出管理秘密的实践可以帮助安全开发的从业者。我们的论文的目标是帮助从业人员通过识别软件工件中的秘密管理实践,通过系统的推导在互联网工件中传播的做法,以避免暴露的秘密。我们对互联网人工制品进行灰色文献审查,如博客文章和问答帖子。我们确定了24种做法,分为六个类别,包括开发人员和组织的做法。我们的研究结果表明,使用本地环境变量和外部秘密管理服务是最推荐的做法,以移动秘密的源代码和安全地存储秘密。我们还观察到,使用版本控制系统扫描工具和采用短期秘密是最推荐的做法,以避免意外提交秘密和限制秘密暴露,分别。
2022-08-24 cs.CR cs.SE