An approach for Test Impact Analysis on the Integration Level in Java programs
测试影响分析是一种获取受代码更改影响的测试子集的方法。这种方法主要应用于单元测试,在这种测试中,代码和相关测试之间的联系很容易获得。然而,在集成级别上,通过编程找到这样的链接并不简单,特别是当集成测试保存在单独的存储库中时。我们提出了一种基于代码变化的运行时分析来选择集成测试的方法,以减少测试执行开销。我们提供了一组工具和框架,可以插入现有的CI/CD管道。我们已经评估了一系列的开源Java程序的方法,发现$\approx$ 50\%的测试减少,并在少数情况下超过80\%。我们还将该方法应用于生产中的大规模商业系统,并发现了类似的结果。
2022-11-14 cs.SE
JMigBench: A Benchmark for Evaluating LLMs on Source Code Migration (Java 8 to Java 11)
University College London(伦敦大学学院);Nanjing University(南京大学)
JMigBench基准评估了大语言模型在Java 8到Java 11源代码迁移任务中的表现,发现其在简单API替换上有效,但对复杂迁移任务仍存在不足。
2026-02-10 cs.SE
TestMiner: Software Testing Analysis for GitHub Repositories
UFMG(米纳斯吉拉斯联邦大学);University of Sheffield(谢菲尔德大学);University of Bordeaux, CNRS(波尔多大学,法国国家科学研究中心)
研究针对软件系统测试特性差异带来的理解困难,提出TestMiner工具,可提供项目测试实践概述。通过本科课程中50名学生使用该工具探索真实仓库测试实践,学生反馈良好,此为其主要贡献。
2026-07-15 cs.SE
RepoRescue: An Empirical Study of LLM Agents on Whole-Repository Compatibility Rescue
Beihang University(北京航空航天大学);Singapore Management University(新加坡管理大学)
研究LLM智能体能否自动修复因环境演化而失效的旧仓库,提出RepoRescue基准,包含315个仓库,评估多种智能体系统,发现跨文件协调是主要难点,且系统间互补性显著。
2026-07-02 cs.SE
Empirical Analysis of Temporal and Spatial Fault Characteristics in Multi-Fault Bug Repositories
本文实证分析了Defects4J和BugsInPy中16个开源项目的故障时空特征,发现许多故障长期存在且多版本共存,且故障在子集中均匀分布,纠正了原数据集单故障假设。
2025-08-12 cs.SE
Learning Quick Fixes from Code Repositories
代码分析器,如Error Prone和FindBugs,可以检测出bug、性能问题或不良风格的代码模式。这些工具将模式表达为检测和重写不需要的代码的快速修复。但是,很难提出新的快速修复,并决定哪些是有用的,并经常出现在实际代码中。我们建议依靠程序员的集体智慧,并从软件存储库的修订历史中学习快速修复。我们提出了REVISAR,一个工具,用于发现常见的Java编辑模式的代码库。给定代码存储库及其修订历史,REVISAR(i)从修订中识别代码编辑,以及(ii)将编辑聚类到可以使用编辑模式描述的集合中。代码分析器的设计者可以检查这些模式,并将相应的快速修复添加到他们的工具中。我们在九个流行的GitHub项目上运行了REVISAR,发现了89个有用的编辑模式,这些模式出现在3个或更多的项目中。此外,64%的发现模式没有出现在现有的工具中。然后,我们对来自124个项目的164名程序员进行了一项调查,发现程序员明显更喜欢所发现的9种模式中的8种。最后,我们提交了16个pull request,将我们的模式应用于9个项目,在撰写本文时,程序员接受了其中的6个(60%)。这项工作的结果有助于工具工匠发现快速修复,并根据程序员实际应用的模式,对优先考虑哪些快速修复做出明智的决定。
2018-09-08 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
Domain-Driven Design in Practice: A Large-Scale Empirical Characterisation of the Open-Source Ecosystem
Eindhoven University of Technology(埃因霍温理工大学);Wageningen University & Research(瓦赫宁根大学与研究)
研究对GitHub上的领域驱动设计(DDD)进行大规模实证特征描述。采用MSR方法及语义验证管道,识别出相关仓库。发现DDD采用率在2017年后加速,项目寿命长,不同架构有不同应用情况,还指出存在的问题及差距,呼吁制定标准并提供指导。
2026-07-08 cs.SE
Characterizing Issue Management in Runtime Systems
本文对GitHub中34个运行时系统存储库的约118K个问题进行了实证研究,揭示了问题类型、解决率及特征对问题关闭的影响,并提出了六项改进建议。
2023-10-24 cs.SE
Using LSTMs to Model the Java Programming Language
Marist College(玛丽斯特学院)
递归神经网络(RNN),特别是长短期记忆网络(LSTM),可以有效地建模自然语言。本研究调查的能力,这些相同的LSTM执行下一个“字”预测的Java程序设计语言。来自四个不同存储库的Java源代码经历了一个转换,该转换保留了源代码的逻辑结构,并删除了代码的各种特定性,如变量名和文字值。这样的数据集和附加的英语语言语料库用于训练和测试标准LSTM预测序列中的下一个元素的能力。结果表明,LSTM可以有效地对Java代码进行建模,实现22以下的困惑度和0.47以上的准确度,这比LSTM在英语语言上的表现有所改善,后者表现出85的困惑度和0.27的准确度。该研究可以在其他领域,如语法模板建议和自动错误修补的适用性。
2019-08-26 cs.CL cs.PL cs.SE
LabelGit: A Dataset for Software Repositories Classification using Attributed Dependency Graphs
Bernoulli Institute University of Groningen Groningen, Netherlands
软件存储库托管服务包含大量开源软件,GitHub托管了超过1亿个存储库,从新的到已建立的。考虑到如此大量的项目,迫切需要基于软件的内容和功能进行搜索。然而,尽管GitHub提供了各种解决方案来帮助软件发现,但大多数存储库没有任何标签,从而降低了搜索和基于主题的分析的实用性。此外,软件模块的分类也变得越来越重要,因为基于代理的软件开发越来越多。然而,以前的工作集中在使用基于关键字的方法或项目代理的软件分类上(例如,README),并不总是可用的。在这项工作中,我们创建了一个名为LabelGit的GitHub Java项目的新注释数据集。我们的数据集使用来自源代码的直接信息,例如依赖图和来自标识符的源代码神经表示。使用这个数据集,我们希望帮助开发不依赖代理的解决方案,而是使用整个源代码来执行分类。
2021-03-16 cs.LG cs.SE
Resolving Java Code Repository Issues with iSWE Agent
IBM
本文提出iSWE代理,专注于Java问题解决,结合基于规则和模型的技术,提升企业软件开发效率。
2026-03-11 cs.AI cs.MA cs.SE
GE852: A Dataset of 852 Game Engines
游戏引擎为开发人员提供了一个平台,可以通过定制的界面来构建游戏,以处理游戏开发过程中的复杂性。为了减少工作量并提高游戏开发质量,我们迫切需要了解和分析游戏引擎的质量及其各个方面,例如API可用性,代码质量,代码重用等。据我们所知,我们在文献中没有任何数据集迎合游戏引擎。为此,我们提出了GE852,这是一个从GitHub中以两种语言(即Java和C++)挖掘的852个游戏引擎存储库的数据集。该数据集包含了所有挖掘仓库的元数据,包括提交、拉取请求、问题等,我们相信我们的数据集可以为游戏引擎领域的实证研究奠定基础。
2019-05-11 cs.SE
MigrationBench: Repository-Level Code Migration Benchmark from Java 8
AWS AI(亚马逊人工智能)
提出MigrationBench基准,用于评估大语言模型在从Java 8迁移到Java 17/21的仓库级代码迁移任务上的表现,并设计了智能体框架实现高成功率。
2026-05-28 cs.SE
Automatically Extracting Subroutine Summary Descriptions from Unstructured Comments
子程序的概要描述是用自然语言对程序中子程序的行为和目的的简短(通常是一句话)解释。这些摘要在文档中无处不在,许多工具(如JavaScriptTM和Doxygen)都围绕它们生成文档。然而,从非结构化的源代码存储库中提取摘要仍然是一个困难的研究问题--除非程序员对摘要进行注释,否则很难生成干净的结构化文档。这在遗留代码的大型存储库中成为一个问题,因为在几十个或几百个旧程序中追溯注释摘要的成本太高。同样,这对于自动文档生成算法的创建者来说也是一个问题,因为这些算法通常必须从大型带注释的数据集学习,而这些数据集对于许多程序设计语言来说并不存在。在本文中,我们提出了一种通过众包的半自动化方法和一种全自动化方法,用于从非结构化代码注释中注释摘要。我们目前的实验验证的方法,并提供建议和自动标注大型存储库的成本估计。
2019-12-21 cs.SE
PerfCurator: Curating a large-scale dataset of performance bug-related commits from public repositories
本文提出 PerfCurator 仓库挖掘流程,利用轻量高性能的 PcBERT-KD 从 GitHub 构建跨三种语言的大规模性能缺陷修复提交数据集,并证明其可提升数据驱动检测效果。
2024-06-17 cs.SE
Automating Test Case Identification in Java Open Source Projects on GitHub
软件测试是软件质量保证的重要组成部分。许多研究人员从测试人员的动机以及测试应该或不应该如何编写的角度来处理测试过程。然而,从建议中并不知道如何在实际项目中编写测试。本文研究了“test”一词在不同自然语言中的指称;“test”一词出现的次数是否与测试用例的数量相关;以及测试框架的使用情况。该分析是在从430万个GitHub项目中选出的38个GitHub开源存储库上进行的。我们手动分析了803个类中的20,340个测试用例,并使用自动化方法分析了170 k个类。结果表明:(一)存在弱相关性(ii)使用静态文件分析的算法正确检测了97%的测试用例;(iii)15%的分析类使用了main()函数,它代表了在不使用任何第三方的情况下测试生产代码的常规Java程序。党的框架。由于实现的多样性,这种测试的识别非常复杂。这些结果可以被用来更快地识别和定位存储库中的测试用例,理解定制测试解决方案中的实践,以及挖掘测试以提高未来的程序理解。
2021-07-30 cs.SE
AVATAR: A Parallel Corpus for Java-Python Program Translation
University of California, Los Angeles(加州大学洛杉矶分校);Columbia University(哥伦比亚大学)
针对程序翻译平行语料缺失的问题,研究者构建了含9515组Java-Python对应代码及250组单元测试的AVATAR平行语料库,基准测试显示现有预训练语言模型生成功能准确代码的能力仍有欠缺。
2023-05-04 cs.CL cs.SE
CoCoMUT: A Tool for Code-Context Mining and Automated Dataset Generation
University of Texas at Dallas(德克萨斯大学达拉斯分校);Heritage High School(遗产高中);William & Mary(威廉玛丽学院)
提出CoCoMUT工具,通过构建统一管道自动提取方法级上下文并生成JSON数据集,在20个Java项目上验证了高准确率。
2026-07-01 cs.SE
Deterministic vs. Probabilistic Summarisation: An Empirical Trade-off Study in Design Pattern Centric Java Code
Monash University(莫纳什大学);Singapore Management University(新加坡管理大学)
本文通过对比确定性(基于启发式)和概率性(基于LLM)管道在面向意图的设计模式Java代码摘要中的表现,研究了摘要方法的权衡问题,发现概率性摘要在语义对齐和上下文覆盖上更优,而确定性方法在简洁性和可重复性上更胜一筹。
2026-05-21 cs.SE
DiffSearch: A Scalable and Precise Search Engine for Code Changes
成功的项目的源代码一直在不断发展,导致成千上万的代码更改存储在源代码存储库中。这些丰富的数据可能是有用的,例如,查找与计划的代码更改相似的更改或重复代码改进的示例。本文介绍了DiffSearch,一个搜索引擎,给定一个查询,描述了一个代码的变化,返回一组匹配的查询的变化。这一方法得益于三个关键贡献。首先,我们提出了一个查询语言,扩展了底层的编程语言与通配符和占位符,提供了一个直观的方式制定查询,很容易适应不同的程序设计语言。其次,为了确保可扩展性,该方法在一次性预处理步骤中索引代码更改,将其映射到特征空间中,然后在特征空间中为每个查询执行有效的搜索。第三,保证精度,即,任何返回的代码变化确实匹配给定的查询,我们提出了一个基于树的匹配算法,检查是否可以扩展到一个具体的代码变化的查询。我们提出了Java,JavaScript和Python的实现,并表明该方法在几秒钟内响应查询超过一百万个代码更改,具有80.7%的Java,89.6%的Python和90.4%的JavaScript的召回,使用户能够找到相关的代码更改更有效地比基于正则表达式的搜索,并且有助于收集真实世界错误修复的大规模数据集。
2022-10-31 cs.SE
Evaluating LLMs on Java Code Snippet Adaptation Using a Mutation-Injection Framework
University of Windsor(温莎大学);University of Manitoba(曼尼托巴大学);University of Saskatchewan(萨斯喀彻温大学)
通过突变注入框架构建Java代码片段数据集,研究无指令条件下LLM对代码片段的适配能力,分析适配类型难度、复杂度影响及所需上下文范围。
2026-06-26 cs.SE
Evolution of repositories and privacy laws: commit activities in the GDPR and CCPA era
University of Cyprus(塞浦路斯大学)
研究分析了GDPR和CCPA时代软件仓库的提交活动,发现隐私相关术语在提交信息中出现,但对用户权利的引用较少,提出需加强隐私教育和工具开发。
2025-05-28 cs.SE
Evaluating Maintainability Prejudices with a Large-Scale Study of Open-Source Projects
夸大或上下文的变化会使维护性经验变得有偏见。例如,JavaScript通常被视为最不优雅的语言,因此可维护性最低。这种偏见不应在事先没有经验验证的情况下指导决策。我们基于偏见制定了10个关于可维护性的假设,并在大量开源项目(6,897个GitHub存储库,4.02亿行,5种程序设计语言)中进行了测试。我们用五个静态分析度量来操作可维护性。我们发现,JavaScript代码并不比其他代码差,Java代码比C#代码具有更高的可维护性,C代码比其他代码具有更长的方法。Java代码中的接口文档的质量比其他代码中的要好。由团队开发的代码并不具有更高和更大的代码库,也不具有更低的可维护性。具有高可维护性的项目并不更受欢迎或更经常分叉。总体而言,大多数假设没有得到开放源数据的支持。
2018-06-12 cs.PL cs.SE
RealSec-bench: A Benchmark for Evaluating Secure Code Generation in Real-World Repositories
Sun Yat-sen University(中山大学);Nanyang Technological University(南洋理工大学);Alibaba Group(阿里巴巴集团);The State Key Laboratory of Blockchain and Data Security, Zhejiang University(浙江大学区块链与数据安全国家重点实验室)
RealSec-bench是一个基于现实世界Java仓库构建的安全代码生成评估基准,通过多阶段流程和专家验证,评估5种LLM在功能正确性和安全性方面的表现。
2026-01-30 cs.CR cs.SE
Detect Related Bugs from Source Code Using Bug Information
开源项目在开发和维护过程中经常会维护开放的bug仓库,报告者在提交bug时往往会直接或含蓄地指出bug发生的原因。关于bug的注释对于开发人员定位和修复bug是非常有价值的。同时,在大型软件中,程序员根据相同的逻辑重写或重载某些方法是非常常见的。如果一个方法导致了一个bug,那么很明显,其他重写或重载的方法可能会导致相关或类似的bug。在本文中,我们提出并实现了一个工具Rebug- Detector,它使用错误信息和代码特征来检测相关的错误。该方法首先从缺陷库中的缺陷信息中提取缺陷特征;其次从源代码中定位缺陷方法,并提取缺陷方法的代码特征;然后计算每个被覆盖或重载的方法与缺陷方法之间的相似度;最后确定哪个方法可能导致潜在的相关或相似缺陷。我们在一个开源项目Apache Lucene-Java上评估Rebug-Detector。我们的工具总共检测到61个相关的错误,其中包括21个真正的错误和10个可疑的错误,它花费了我们大约15.5分钟。结果表明,我们的工具提取的错误特征和代码特征是有用的,以发现在现有的项目中的真正的错误。
2011-03-18 cs.SE
FreshBrew: A Benchmark for Evaluating AI Agents on Java Code Migration
Google(谷歌);Max Planck Institut für Intelligente Systeme (MPI-IS)(马克斯·普朗克智能系统研究所);ELLIS Institute, Tübingen(图宾根ELLIS研究所);Salesforce;Gologic Inc(Gologic公司)
本文提出了FreshBrew基准,用于评估AI智能体在项目级Java代码迁移中的表现,发现最优模型Gemini 2.5 Flash能成功迁移52.3%的项目,并揭示了当前智能体方法的优势与局限。
2026-10-06 cs.AI cs.SE
What Makes a Good TODO Comment?
本研究针对开源项目中大量低质量TODO注释的问题,调研了TODO注释质量的四个维度,提出高质量TODO识别标准,构建的深度学习方法可有效评估注释质量,助力提升开发效率与代码质量。
2025-03-19 cs.SE
StRuCom: A Novel Dataset of Structured Code Comments in Russian
MTS AI(MTS人工智能研究所);ITMO University(ITMO大学);IITU University(IITU大学)
针对俄语代码注释生成模型表现差的问题,提出首个俄语大规模结构化代码注释数据集StRuCom,整合人工与合成注释并验证多语言规范,微调模型后相关指标显著提升。
2025-05-16 cs.AI cs.CL cs.LG
A Large Language Model Approach to Identify Flakiness in C++ Projects
本文提出一种基于大语言模型的方法,通过微调 Mistral-7b、Llama2-7b 和 CodeLlama-7b 模型,在代码层面识别 C++ 项目中不稳定测试的根本原因,实验表明 Mistral-7b 性能最优,为高效调试不稳定测试提供了新途径。
2025-06-05 cs.SE
Follow Your Nose -- Which Code Smells are Worth Chasing?
The Hebrew University(希伯来大学)
本文实证研究了代码异味与代码质量的因果关系,通过分析677个GitHub仓库中31,687个Java文件,发现CheckStyle检测的151种异味中不到20%具有潜在因果性,开发者往往移除容易而非有效的异味。
2024-01-15 cs.LG cs.SE
DepWareTrans: Dependency-Aware Incremental Repository Migration across Co-executable Languages
TU Munich(慕尼黑工业大学);andrena objects;University of Groningen(格罗宁根大学)
提出依赖感知增量迁移框架,构建依赖图分组文件进行批量翻译,在 STAR 仓库等上实现 100% 编译和测试成功率,提升仓库级代码翻译的可扩展性与可靠性。
2026-08-17 cs.SE
Semantic Source Code Models Using Identifier Embeddings
本文利用 fastText 对 Java、Python、PHP、C、C++ 和 C# 六种语言的超过 13,000 个代码仓库训练标识符嵌入模型,以构建语义代码表示,并分析了跨语言差异对预处理和训练参数的影响。
2019-04-15 cs.SE
Source Code Comments: Overlooked in the Realm of Code Clone Detection
重用代码可能会在代码存储库中产生重复或近似重复的代码克隆。目前的代码克隆检测技术,如程序依赖图,依赖于代码结构和它们的依赖关系来检测克隆。这些技术是昂贵的,使用大量的处理能力、时间和存储器。在实践中,程序员经常利用代码注释来理解和重用代码,因为注释携带重要的领域知识。但目前的代码检测技术忽略了代码注释,这主要是由于英语语言的歧义性。信息检索技术的最新进展可能具有利用代码注释进行克隆检测的潜力。我们通过在JHotDraw包上实证比较检测克隆的准确性来研究这一点,JHotDraw包包含315个类和27K行代码。为了在文件级别检测克隆,我们使用了一种主题建模技术,潜在狄利克雷分配,来分析代码注释,并使用GRAPLE(利用程序依赖关系图)来分析代码。我们的结果显示94.86召回率和84.21精度与潜在的Dirichlet分配和28.7召回率和55.39精度使用GRAPLE。我们发现潜在狄利克雷分配产生误报的情况下,程序缺乏质量的意见。但是,这种限制可以通过使用混合方法来解决:在文件级别使用代码注释来减少克隆集,然后在方法级别使用基于程序依赖图的技术来检测精确的克隆。我们进一步分析了Java和Python包,Java Swing和PyGUI,发现召回率为74.86%,准确率为84.21%。我们的研究结果要求重新审查的假设,在当前的克隆检测技术中使用的代码注释。
2020-06-25 cs.SE
Linking Sketches and Diagrams to Source Code Artifacts
最近的研究表明,草图和图表在软件开发人员的日常工作中起着重要的作用。如果这些可视化工件被存档,它们通常与它们记录的源代码分离,因为没有足够的工具支持来帮助开发人员捕获、存档和检索与某些源代码工件相关的草图。本文介绍了SketchLink,一个工具,旨在增加软件开发过程中创建的草图和图表的价值,支持开发人员在这些任务。我们的原型实现提供了一个Web应用程序,该应用程序采用智能手机和平板电脑的摄像头来捕获模拟草图,但也可以在台式计算机上用于上传,例如,计算机生成的图表。我们还为Java IDE实现了一个插件,该插件将链接嵌入Javadoc注释中,并在源代码编辑器中将其可视化为图形图标。
2017-06-29 cs.SE
Attribution Required: Stack Overflow Code Snippets in GitHub Projects
Stack Overflow(SO)是最大的开发者问答网站,提供了大量可复制的代码片段。使用这些片段会引起各种维护和法律问题。SO许可证需要署名,即,引用原始问题或答案,并要求派生作品采用兼容的许可证。虽然有一个激烈的辩论SO的许可证模型的代码片段和所需的归属,很少有人知道的程度,代码片段被复制从SO没有适当的归属。在本文中,我们提出了一项实证研究的研究设计和总结结果,分析了GitHub项目中SO代码片段的属性和非属性使用。平均而言,3.22%的被分析仓库和7.33%的流行仓库包含对SO的引用。此外,我们发现开发人员更愿意参考SO上的整个线程,而不是特定的答案。对于Java,至少有三分之二的复制片段没有属性。
2017-07-03 cs.SE
Code2Doc: A Quality-First Curated Dataset for Code Documentation
Code2Doc是一个高质量的代码文档生成数据集,通过四阶段定制流程筛选出13,358对高质量函数-文档对,显著提升了代码文档生成模型的性能。
2025-12-24 cs.AI cs.CL cs.SE
The Code of Theseus: Can Agents Rebuild Software from Recovered Design Documents?
IDSIA (SUPSI)(瑞士应用信息学与系统研究所(瑞士南方应用科学与艺术大学));DFKI(德国人工智能研究中心)
该研究提出从代码库恢复设计的框架,构建含万余代码库的数据集,通过忒修斯之船实验发现恢复的设计可优化模块结构,为智能体设计提供可扩展数据。
2026-10-16 cs.SE
SantaCoder: don't reach for the stars!
Hugging Face;ServiceNow Research(ServiceNow研究院);ScaDS.AI Leipzig(莱比锡ScaDS.AI);C4AI Community(C4AI社区);IBM Research(IBM研究院);MIT(麻省理工学院);SAP(思爱普);Saama Technologies(Saama科技);Wellesley College(韦尔斯利学院);Northeastern University(东北大学);EleutherAI;University of Amsterdam(阿姆斯特丹大学);Huawei Noah’s Ark Lab(华为诺亚方舟实验室);Berner Fachhochschule(伯尔尼应用科技大学);UWA(西澳大学);Flowrite;Sea AI Lab(Sea人工智能实验室);Discover Dollar Pvt Ltd(Discover Dollar私人有限公司);CSIRO’s Data61(澳大利亚联邦科学与工业研究组织Data61);Monash University(莫纳什大学);PIISA;Telefonica I+D(西班牙电信研发中心);Unfold ML;Ontocord, LLC(Ontocord有限责任公司);ServiceNow;Carnegie Mellon University(卡内基梅隆大学)
BigCode项目是一个开放的科学合作项目,致力于负责任地开发代码的大语言模型。本技术报告描述了截至2022年12月的合作进展,概述了个人身份信息(PII)编辑管道的当前状态,为降低模型架构风险而进行的实验,以及为训练数据研究更好的预处理方法的实验。我们在The Stack的Java、JavaScript和Python子集上训练1.1B参数模型,并在MultiPL-E文本到代码基准测试中对其进行评估。我们发现,更积极地过滤近似重复可以进一步提高性能,令人惊讶的是,从GitHub 5星以上的存储库中选择文件会显着降低性能。我们的最佳模型在MultiPL-E的Java、JavaScript和Python部分的从左到右生成和填充方面都优于以前的开源多语言代码生成模型(InCoder-6.7 B和CodeGen-Multi-2.7 B),尽管它是一个小得多的模型。所有模型都在https://hf.co/bigcode的OpenRAIL许可下发布。
2023-02-24 cs.AI cs.LG cs.SE
Tales from the Git: Automating the detection of secrets on code and assessing developers' passwords choices
本研究通过爬取公共 GitHub 代码库中数百万个密码,首次调查了开发者在不同编程语言和上下文下的密码选择特质,发现开发者倾向于使用更安全的密码,但仍需加强明文密码泄露的安全意识。
2023-07-03 cs.CR cs.SE
Coverage-Guided Multi-Agent Harness Generation for Java Library Fuzzing
University of Lübeck(吕贝克大学)
本文提出一种多智能体架构,通过 LLM 功能智能体自动化生成 Java 库的模糊 harnesses,提升模糊测试效率并发现漏洞。
2026-03-09 cs.CR cs.SE
Six Million (Suspected) Fake Stars in GitHub: A Growing Spiral of Popularity Contests, Spams, and Malware
本文通过构建可扩展工具 StarScout,对 2019-2024 年 GitHub 元数据进行大规模测量,揭示虚假星标活动在 2024 年激增,主要用于推广恶意软件,且仅有短期推广效果,长期有害。
2025-09-06 cs.CR cs.SE
Understanding the Effectiveness of LLMs in Automated Self-Admitted Technical Debt Repayment
针对大语言模型在自动偿还自承认技术债务领域研究不足的问题,构建了大规模多语言数据集与新型评估指标,对比评估了微调和提示工程两类方法的效果,为该领域研究提供了基准与参考。
2025-01-17 cs.SE
CodeSense: a Real-World Benchmark and Dataset for Code Semantic Reasoning
Iowa State University(爱荷华州立大学);Columbia University(哥伦比亚大学);Microsoft Data & AI(微软数据与人工智能)
CodeSense通过现实世界代码项目构建细粒度语义推理基准,揭示LLM在代码推理中的能力不足,并提供工具集支持地面真实数据收集。
2026-02-03 cs.AI cs.SE
HistoryFinder: Advancing Method-Level Source Code History Generation with Accurate Oracles and Enhanced Algorithm
本研究提出HistoryFinder方法历史生成工具,通过构建修正基准并优化算法,在400个方法上超越现有工具,兼顾高准确率与竞争性运行时性能。
2025-10-15 cs.SE
Usage and Attribution of Stack Overflow Code Snippets in GitHub Projects
Stack Overflow(SO)是最受软件开发人员欢迎的问答网站,提供了大量可复制的代码片段。使用这些片段会引起维护和法律问题。SO的许可证(CC BY-SA 3.0)需要署名,即,引用原始问题或答案,并要求派生作品采用兼容的许可证。虽然有一个激烈的辩论SO的许可证模型的代码片段和所需的归属,很少有人知道的程度,代码片段被复制从SO没有适当的归属。我们提出了一项大规模实证研究的结果,分析了公共GitHub(GH)项目中SO答案中非平凡Java代码片段的使用和属性。我们遵循三种不同的方法来对未归因使用的比例进行三角测量,并与软件开发人员进行了两次在线调查,以补充我们的结果。对于我们分析的不同项目集,包含引用SO的文件的项目比例在3.3%和11.9%之间变化。我们发现,在所有分析过的包含SO代码的存储库中,最多有1.8%的代码以与CC BY-SA 3.0兼容的方式使用。此外,我们估计,从SO复制的代码片段中,最多有四分之一是根据需要进行属性化的。在接受调查的开发人员中,近一半的人承认在没有署名的情况下从SO复制代码,约三分之二的人不知道SO代码片段的许可及其影响。
2018-09-21 cs.SE
Exploiting Token and Path-based Representations of Code for Identifying Security-Relevant Commits
University of Waterloo(滑铁卢大学);SAP Security Research(SAP安全研究院)
公共漏洞数据库(如CVE和NVD)仅占开源项目中存在的安全漏洞的60%,并且已知质量不一致。在过去的两年中,在NPM和Maven Central等各种存储库中可用的项目中,已知漏洞的数量有了相当大的增长。这种日益增加的风险要求建立一种机制,以及时推断安全威胁的存在。我们提出了新的分层深度学习模型,用于从提交差异或Java类的源代码中识别安全相关的提交。通过将我们的模型与code2vec(一种从基于路径的代码表示中学习的最先进的模型)和逻辑回归基线进行比较,我们发现深度学习模型在识别安全相关的提交方面显示出有希望的结果。我们还对各种深度学习模型如何在不同的输入表示中学习以及正则化对模型泛化的影响进行了比较分析。
2019-11-15 cs.CL cs.SE
A Unified Issue Resolution Benchmark for Requirement Clarification, Planning, and Code Generation for Coding Agents
Singapore Management University(新加坡管理大学);Monash University Malaysia(马来西亚莫纳什大学);Daegu Gyeongbuk Institute of Science and Technology (DGIST)(大邱庆北科学技术院);The Chinese University of Hong Kong(香港中文大学);North Carolina State University(北卡罗来纳州立大学);City University of Hong Kong(香港城市大学);The Hong Kong University of Science and Technology(香港科技大学);The University of Hong Kong(香港大学)
该研究推出SWE-RPG编码智能体基准,评估发现主流编码智能体在该基准上平均解决率仅31.5%,隐性需求恢复是主要瓶颈,为改进编码智能体提供了方向。
2026-08-11 cs.AI cs.SE
Mining Program Properties From Neural Networks Trained on Source Code Embeddings
在本文中,我们提出了一种新的方法来挖掘不同的程序功能,通过分析的内部行为的深度神经网络训练的源代码。使用未标记的数据集的Java程序和三种不同的嵌入策略的方法在数据集中,我们训练每个程序嵌入的自动编码器,然后我们测试的新兴能力的内部神经元自主建设内部表示不同的程序功能。我们定义了三个受实际编程问题启发的二进制分类标签策略,以便测试每个神经元根据这些分类规则对程序进行分类的性能,表明一些神经元实际上可以检测不同的程序属性。我们还分析了选择作为输入的程序表示如何影响上述任务的性能。另一方面,我们感兴趣的是找到网络中信息量最大的神经元,而不管给定的任务是什么。为此,我们提出并评估了两种独立于任何属性的神经元排名方法。最后,我们将讨论如何将这些想法应用于不同的环境中,以简化程序员的工作,例如,如果包括在软件存储库或代码编辑器等环境中。
2021-03-09 cs.NE cs.SE
Hidden in Plain Sight: Where Developers Confess Self-Admitted Technical Debt
University of Oulu(奥卢大学);University of Helsinki(赫尔辛基大学)
本研究利用PENTACET数据集分析超9000个Java开源仓库,将超22.5万条SATD注释与源代码结构关联,发现SATD主要出现在定义、条件判断和异常处理附近的内联代码中,是开发者在变更时有意识的认知信号。
2025-11-03 cs.CL cs.PL cs.SE
An Execution-Verified Multi-Language Benchmark for Code Semantic Reasoning
Singapore Management University(新加坡管理大学);Monash University(墨尔本大学);Nanjing University of Science and Technology(南京理工大学);GovTech Singapore(新加坡政府科技局)
本文提出TraceEval,首个经过执行验证的多语言代码语义推理基准,通过验证执行消除标注偏差,评估10个LLM在零样本下的表现,展示了其在代码语义推理中的有效性。
2026-05-10 cs.AI cs.SE
A Manually-Curated Dataset of Fixes to Vulnerabilities of Open-Source Software
SAP Security Research(SAP安全研究部门)
本文发布人工整理的开源 Java 漏洞与修复提交数据集,含624个漏洞、205个项目和1282个提交,并提供脚本支持数据获取、扩充及安全提交分类器训练。
2019-03-19 cs.CR cs.LG cs.SE