Compendium Manager是一个用Python编写的命令行工具,用于自动配置,启动和评估生物信息学管道。 尽管Snakemake和Nextflow等工作流管理工具使用户能够在单个测序项目中自动处理样本,但批量集成许多数据集需要启动并监控数百或数千个管道。 我们介绍了 Compendium Manager,这是一种轻量级的命令行工具,可以大规模启动和监控分析管道。 该工具可以通过项目列表衡量进度,将结果加载到共享数据库中,并记录详细的处理指标,以便以后进行评估和可重复性。
大型语言模型(LLM)在广泛的编程任务中表现出强大的性能,但其代码优化的潜力仍然不足。 这项工作调查了LLM是否可以优化汇编代码的性能,其中对执行的细粒度控制可以实现难以用高级语言表达的改进。 我们提出了一个强化学习框架,使用近端策略优化(PPO)训练LLM,该框架由奖励函数引导,该函数既考虑功能正确性,又通过测试用例验证,以及相对于行业标准编译器gcc-O3的执行性能。 为了支持这项研究,我们引入了8,072个现实世界计划的基准。 我们的模型Qwen2.5-Coder-7B-PPO实现了96.0基线,优于所有其他评估的20个模型,包括Claude-3.7-sonnet。 这些结果表明,强化学习可以释放LLM的潜力,作为汇编代码性能的有效优化器。
检测源代码中的漏洞仍然是一项关键但具有挑战性的任务,特别是当良性和易受攻击的功能具有显着的相似之处时。 在这项工作中,我们引入了VulTrial,这是一个受审判室启发的多代理框架,旨在增强自动漏洞检测。 它雇佣了四个特定角色的代理,他们是安全研究员,代码编写者,主持人和审查委员会。 通过使用GPT-3.5和GPT-4o的广泛实验,我们证明Vultrial优于单剂和多剂基线。 使用GPT-4o,VulTrial通过小数据(50对样本)的多智能体提高了102.39 84.17指令调优的性能,进一步提高了VulTrial的性能139.89分析增加代理相互作用数量对VulTrial整体性能的影响。 虽然由于代币使用量的增加,多代理设置本身会产生更高的成本,但我们的研究结果表明,将VulTrial应用于GPT-3.5等具有成本效益的模型可以提高其性能69.89,而单个代理设置中GPT-4o的整体成本较低。
最近,人工智能驱动的与计算设备的交互已经从基本的原型工具发展到复杂的基于LLM的系统,这些系统可以在图形用户界面中模拟类似人类的操作。 我们现在目睹了计算机使用代理(CUA)的出现,能够自主执行诸如导航桌面应用程序,网页和移动应用程序等任务。 然而,随着这些代理商的能力增长,他们也引入了新的安全和安保风险。 LLM驱动的推理中的漏洞,加上集成多个软件组件和多模态输入的复杂性,使安全环境进一步复杂化。 在本文中,我们提出了关于CUA安全和安全威胁的知识的系统化。 我们进行全面的文献综述,并沿着四个研究目标提炼我们的研究结果:(i)定义适合安全分析的CUA;(ii)对CUA中的当前安全威胁进行分类;(iii)提出现有防御策略的综合分类;(iv)总结用于评估CUA的安全性和性能的现行基准,数据集和评估指标。 在这些见解的基础上,我们的工作为未来的研究人员提供了一个结构化的基础,用于探索未开发的漏洞,并为从业者在设计和部署安全的计算机使用代理方面提供了可操作的指导。
随着现代软件系统的规模和复杂性的扩展,与其建模和配方相关的挑战变得越来越复杂。 传统方法往往缺乏有效解决这些复杂性,特别是在诸如用于维护和评估的设计模式检测以及优化和长期可持续性的代码重构等任务中。 这种日益加剧的不足突出表明,在如何处理和解决这些挑战方面需要范式转变。 本文介绍了分析软件工程(ASE),这是一种新颖的设计范式,旨在平衡抽象,工具可访问性,兼容性和可扩展性。 ASE 能够有效建模和解决复杂的软件工程问题。 范式通过两个框架进行行为结构序列(BSS)和优化设计重构(ODR)评估,这两个框架都是根据ASE原则开发的。 BSS提供了紧凑的、与语言无关的代码库表示,以方便精确的设计模式检测。 ODR统一了人工制品和解决方案表示,通过方法优化代码重构,同时消除迭代计算开销。 通过提供针对软件设计挑战的结构化方法,ASE为未来编码和分析复杂软件指标的研究奠定了基础。
大型语言模型(LLM)在广泛的编程任务中表现出强大的性能,但其代码优化的潜力仍然不足。 这项工作调查了LLM是否可以优化汇编代码的性能,其中对执行的细粒度控制可以实现难以用高级语言表达的改进。 我们提出了一个强化学习框架,使用近端策略优化(PPO)训练LLM,该框架由奖励函数引导,该函数既考虑功能正确性,又通过测试用例验证,以及相对于行业标准编译器gcc-O3的执行性能。 为了支持这项研究,我们引入了8,072个现实世界计划的基准。 我们的模型Qwen2.5-Coder-7B-PPO实现了96.0基线,优于所有其他评估的20个模型,包括Claude-3.7-sonnet。 这些结果表明,强化学习可以释放LLM的潜力,作为汇编代码性能的有效优化器。
本文介绍了用于快速原型制作和测试分布式空间系统的飞行软件的新型空间模拟环境的设计、开发和应用。 环境将软件模拟的灵活性、确定性和可观察性与通常仅通过实时硬件在环测试实现的保真度和深度相结合。 最终,这项工作可以实现一个工程过程,其中飞行软件以最终的飞行准备形式不断改进和交付,并降低了传统线性开发过程的设计更改和软件修订的成本。 现有工具中未找到的三种关键方法使该环境具有新颖性:第一,混合事件驱动模拟架构,结合了连续时间和离散事件模拟范式;第二,轻量级应用层软件虚拟化设计,允许执行编译的飞行软件二进制文件,同时建模过程调度,输入/输出和内存使用;第三,多航天器空间环境的高保真模型,包括无线通信,相对传感,如差分GPS和相机等。 模拟环境的功能应用于两个飞行就绪软件包的迭代开发和测试:VISORS任务的指导,导航和控制软件,以及用于会合和接近操作的斯坦福空间会合实验室软件套件。 33个月的飞行软件开发结果表明,使用这种模拟环境可以快速可靠地识别和解决缺陷,表征导航和控制性能,并仔细检查内存分配和航天器间网络协议等实现细节。
在分布式量子应用中,例如纠缠分布、精确的时间同步和高效的时间标记数据处理至关重要。 传统系统经常受到溢出、同步漂移和存储效率低下的影响。 我们提出了一个模块化的时间标记(TT)代理,它使用来自白兔(WR)设备的每秒1脉冲(PPS)信号来实现网络范围的同步,同时应用实时校准,溢出缓解和压缩。 一个实时的双实验室纠缠分布实验验证了系统的性能,实现了25,000计数/秒的同步巧合检测。
蜂窝网络需要严格的安全程序和措施,从核心到无线电接入网络(RAN)和最终用户设备。 随着网络变得越来越复杂和相互关联,如在O-RAN部署中,它们面临着许多安全威胁。 因此,确保强大的安全性对于 O-RAN 保护网络完整性和保护用户数据至关重要。 这需要严格的测试方法来减轻威胁。 本文介绍了基于 RAN 的自动化、自适应和可扩展的用户设备 (UE) 安全测试框架,旨在解决现有 RAN 测试解决方案的缺点。 使用商用现成硬件和开源软件构建的5G软件无线电测试台的实验结果验证了RAN Tester UE框架上开发的示例安全测试程序的效率和可重复性。
大型语言模型(LLM)最近已成为自动化单元测试生成的有前途的工具。 我们引入了一个名为EvoGPT的混合框架,该框架将基于LLM的测试生成与进化搜索技术集成在一起,以创建多样化的故障揭示单元测试。 单元测试最初通过不同的温度采样产生,以最大限度地提高行为和测试套件的多样性,然后进行生成修复循环和覆盖引导的断言增强。 由此产生的测试套件是使用遗传算法进化的,其指导是将突变得分优先于传统覆盖指标的健身功能。 这种设计强调单元测试故障检测的主要目标。 在多个开源Java项目上进行评估,与LLM和传统基于搜索的软件测试基线相比,EvoGPT实现了10个突变评分的平均提升。 这些结果表明,结合LLM驱动的多样性,有针对性的修复和进化优化可以产生更有效和弹性的测试套件。
我们引入了CRPE(代码推理过程增强器),这是一个创新的三阶段数据合成和模型训练框架,可推动大型语言模型(LLM)中复杂的代码推理能力的发展。 在现有系统-1模型的基础上,CRPE解决了在代码生成任务中增强LLM分析和逻辑处理的基本挑战。 我们的框架提出了在方法上严谨但可实施的方法来培养语言模型中的高级代码推理能力。 通过 CRPE 的实现,我们成功开发了一个增强型 COT-Coder,演示了代码生成任务的显著改进。 LiveCodeBench(20240701-20240901)上的评估结果表明,我们的COT-Coder-7B-StepDPO源自Qwen2.5-Coder-7B-Base,pass@1精度为21.88,超过了所有尺寸相似甚至更大的型号。 此外,我们的基于Qwen2.5-Coder-32B-Base的COT-Coder-32B-StepDPO具有卓越的性能,pass@1精度为35.08,优于GPT4O。 总体而言,CRPE代表了一种全面的开源方法,包括从指令数据采集到专家代码推理数据综合的完整管道,最终形成自主推理增强机制。
本文研究了代码 LLM 在代码智能任务(如代码摘要和生成)中静态分析的能力。 代码LLM现在是家喻户晓的名字,因为他们有能力完成一些编程任务,这些任务至今需要人们。 人们遵循的编程任务的过程长期以来一直被理解为需要静态分析。 例如,人类程序员导航大型程序的调用图来理解这些程序的不同部分。 编程教育包括静态分析,假设更好的静态分析技能得到更好的编程。 然而,虽然流行文化充满了拟人化的参考,如LLM“合理”,但事实上,代码LLM可以为人类表现出完全陌生的思维过程。 本文通过代码LLM研究静态分析的具体问题。 我们使用三种不同的静态分析任务(调用生成,AST生成和数据流生成)和三种不同的代码智能任务(代码生成,总结和翻译)与两种不同的开源模型(双子星和GPT-4o)和闭源模型(CodeLlaMA和Jam)作为我们的实验。 我们发现LLM在静态分析任务上表现出较差的性能,并且对静态分析任务的预训练并不能推广到更好的代码智能任务的性能。
AI编码助手广泛用于代码生成等任务。 这些工具现在需要大型和复杂的上下文,自动从各种 originx2014across 文件、项目和 contributorsx2014 形成向底层 LLM 提供的提示部分。 这种自动上下文收集引入了新的漏洞,允许攻击者巧妙地毒害输入以破坏助手的输出,从而可能生成易受攻击的代码或引入关键错误。 我们提出了一种新的攻击,跨源上下文中毒(XOXO),这是具有挑战性的检测,因为它依赖于语义等同的对抗性代码修改。 传统的程序分析技术难以识别这些扰动,因为代码的语义仍然正确,使其看起来合法。 这使得攻击者可以操纵编码助手产生不正确的输出,同时将责任转移到受害者开发人员身上。 我们引入了一种新颖的,与任务无关的黑箱攻击算法GCGS,该算法使用Cayley Graph系统地搜索转换空间,实现75.72任务和11个模型,包括流行的AI编码助手使用的GPT 4.1和Claude 3.5 Sonnet v2。 此外,像对抗性微调这样的防御对我们的攻击无效,这凸显了LLM驱动的编码工具中需要新的安全措施。
最近的多项研究记录了大型语言模型(LLM)在调用外部工具/功能方面的表现。 其他人专注于LLM处理更长上下文长度的能力。 在这些地区的交叉点是另一个有趣的问题:LLM在长上下文设置中准确执行函数调用的能力。 特别是,在调用工具时,LLM受到三个主要挑战的阻碍:(1)大量工具目录,(2)工具API的长期响应,(3)长多转对话。 这些挑战与LLM的企业应用程序特别相关,LLM与用户进行多转对话,以完成需要大量复杂工具的复杂任务。 该文献包含对长期背景挑战的多项调查,例如迷失在中间或大海捞针中用于自然语言任务。 在本文中,我们首次尝试在工具调用设置中全面研究这些模型的长上下文理解能力。 我们修改了挑战1和挑战3的现有基准,并为挑战2创建了一个新的评估集,以实现此分析。 我们逐渐增加输入上下文长度,也改变输入中答案的位置。 当使用几个长上下文模型进行评估时,我们观察到性能下降7增加,7个长度增加,13个变长。 我们的研究表明,LLM在工具调用设置中仍然难以与长上下文进行斗争,从而激励未来的研究进一步推动LLM的改进。
本文解决了以下问题:给定进程模型和包含进程持续案例痕迹前缀的事件日志,将每个案例映射到模型中的相应状态(即标记)。 此状态计算操作是其他过程挖掘操作的构建块,例如日志动画和短期仿真。 解决这种状态计算问题的方法是对模型执行基于令牌的重放每个痕迹前缀。 但是,当跟踪前缀不严格遵循进程模型的行为时,令牌重放可能会产生从进程的初始状态中无法到达的状态。 另一种方法是首先计算每个正在进行的案例和模型的跟踪前缀之间的对齐,然后重放对齐的跟踪前缀。 然而,(prefix-)对齐在计算上是昂贵的。 本文提出了一种方法,给定一个正在进行的案例的跟踪前缀,使用表示状态为n-grams的索引在恒定时间计算其状态。 经验评估表明,拟议方法的准确性与前缀对齐方法相当,同时实现了每秒数十万个痕迹的吞吐量。
自动驾驶系统(ADS)的安全性和可靠性至关重要,需要严格的测试方法,以便在部署前发现潜在的故障。 传统的测试方法通常优先考虑自然场景采样或安全关键场景生成,导致过于简单化或不切实际的危险测试。 在实践中,对自然场景的需求(例如,在评估ADS在现实世界中的可靠性时),关键情景(例如,在评估关键情况下的安全性时),或介于两者之间(例如,在不太文明的驾驶员区域测试ADS时)的需求因测试目标而异。 为了解决这个问题,我们提出了按需情景生成(OSG)框架,该框架可以生成具有不同风险水平的不同场景。 实现OSG的目标具有挑战性,因为量化复杂的车辆与环境相互作用所带来的关键性和自然性的复杂性,以及需要在各个风险级别之间保持场景多样性。 OSG从现实世界的流量数据集中学习,并使用风险强度监管机构来定量控制风险水平。 它还利用改进的灵论搜索方法来确保场景的多样性。 我们使用各种ADS在Carla模拟器上评估OSG。 我们验证了OSG生成具有不同风险水平的场景的能力,并通过比较跨风险级别的事故类型来证明其必要性。 在OSG的帮助下,我们现在能够根据不同的风险水平系统地客观地比较不同ADS的性能。
为了处理我们世界的复杂性,雕刻隐喻被用来建立一个现实的概念系统。 在这样的努力中,我们可以选择各种关节来雕刻;即我们可以概念化现实的各个方面。 概念建模涉及雕刻(例如,分类)和指定主题域的概念图。 本文涉及将雕刻概念应用于概念模型。 具体来说,它涉及基于所谓的东西机(TM)的建模。 核心问题是如何在构建TM模型时雕刻事件。 在 TM 中,事件被定义为 thimac(物/机器),具有时间特征,为静态 Thimac(称为区域)注入活力。 区域是基于五个通用操作的图表描述:创建、处理、释放、传输和接收。 本文包含有关TM建模和泛化的新材料,并侧重于雕刻问题,包括结构雕刻和动态事件。 研究结果为建立基于TM模型图的新型现实雕刻提供了基础。
维护一个“绿色”主线分支,所有构建都成功通过,在快节奏的大规模软件开发环境中至关重要,但具有挑战性,特别是在大型单体中同时进行代码更改。 SubmitQueue,一个旨在应对这些挑战的系统,投机性地执行构建,并且只有土地变化并成功的结果。 然而,尽管该系统的有效性很高,但它在资源利用方面面临效率低下的问题,导致过早构建中止率很高,并且由于较大的冲突而阻碍了较小的更改。 本文介绍了SubmitQueue的增强功能,重点是优化资源使用和改进构建优先级。 核心是我们的创新概率模型,它区分了构建时间更短和更长的变化,以优先考虑构建,以实现更高效的调度。 通过利用机器学习模型来预测构建时间并将其整合到概率框架中,我们加快了由相互冲突的大型耗时更改阻止的较小更改的着陆。 此外,引入炒作阈值的概念可确保只执行最有可能的构建,从而减少不必要的资源消耗。 在Uber的主要单数(Go、iOS和Android)中实施这些增强功能后,我们观察到持续集成(CI)资源使用量减少了约53次,这凸显了SubmitQueue在管理大规模软件更改的同时维护绿色主线的增强效率。
对象约束语言(OCL)对于定义基于模型的系统工程(MBSE)中的精确约束至关重要。 但是,手动编写 OCL 规则是复杂且耗时的。 本研究探讨了检索增强生成(RAG)的优化,用于自动化OCL规则生成,重点关注不同检索策略的影响。 我们评估了三种检索方法x2013 BM25(基于词汇),基于BERT(语义检索)和SPLADE(散射回流)x2013,分析了它们为大型语言模型提供相关上下文的有效性。 为了进一步评估我们的方法,我们将我们的检索优化生成结果与PathOCL进行比较和基准测试,PathOCL是一种最先进的基于图形的方法。 我们直接将 BM25、BERT 和 SPLADE 检索方法与 PathOCL 进行比较,以了解不同的检索方法如何为统一的评估框架执行。 我们的实验结果,侧重于检索增强生成,表明虽然检索可以提高生成精度,但其有效性取决于检索方法和检索块(k)的数量。 BM25低于基线,而语义方法(BERT和SPLADE)取得了更好的结果,SPLADE在较低的k值下表现最好。 然而,使用高k参数进行过度检索会导致检索不相关的块,从而降低模型性能。 我们的研究结果强调了优化检索配置以平衡上下文相关性和输出一致性的重要性。 这项研究提供了使用RAG改进OCL规则生成的见解,并强调了定制检索的必要性。
随着大型语言模型(LLM)成为与代码相关的任务的组成部分,一个核心问题出现了:LLM是否真正理解程序执行语义? 我们引入了EquiBench,这是一个通过等值检查来评估LLM的新基准,即确定两个程序是否为所有可能的输入产生相同的输出。 与以前的代码生成基准不同,此任务直接测试模型对代码执行语义的理解。 EquiBench由2400个程序对组成,分为四种语言和六个类别。 这些对通过程序分析、编译器调度和超优化生成,确保高置信度标签、非平凡难度和完全自动化。 这些变换跨越句法编辑、结构修改和算法变化,涵盖了广泛的语义变化。 我们评估了19个最先进的LLM,发现在最具挑战性的类别中,最好的精度是53.8以上的句法相似性,而不是对执行语义表现出强大的推理,突出了基本限制。
自动化程序修复(APR)已经显示出有希望的结果,特别是在使用神经网络方面。 目前,大多数 APR 工具都专注于测试套件指定的代码转换,而不是对程序意图和高级别 bug 规范进行推理。 如果正确理解程序意图,这些工具往往会生成超出不完整测试套件的补丁,并且无法反映开发人员的意图。 然而,关于程序意图的推理是具有挑战性的。 在我们的工作中,我们提出了一种叫做AdverIntent-Agent的方法,基于批评和对抗推理。 我们的方法新颖,将焦点从生成多个APR补丁转移到推断多个潜在的程序意图。 理想情况下,我们的目标是推断出在某种程度上相互对抗的意图,最大化至少一个与开发人员原始意图紧密一致的概率。 AdverIntent-Agent是一种多代理方法,由三个代理组成:推理代理,测试代理和修复代理。 首先,推理代理生成对抗程序意图以及相应的错误语句。 接下来,测试代理生成与每个推断意图一致的对抗性测试用例,构建使用相同输入但具有不同预期输出的神谕。 最后,修复代理使用动态和精确的LLM提示来生成满足推断程序意图和生成的测试的补丁。 AdverIntent-Agent在两个基准测试中进行了评估:Defects4J 2.0和HumanEval-Java。 AdverIntent-Agent 在两个基准测试中分别正确修复了 77 个和 105 个错误。
代码语言模型(CLMs),特别是那些利用深度学习的,在代码智能领域取得了巨大的成功。 然而,在这个过程中,安全问题,特别是后门攻击,往往被忽视。 以前的研究重点是为CLM设计后门攻击,但有效的防御尚未得到充分解决。 特别是,来自自然语言处理的现有防御方法,当直接应用于CLM时,效果不够,缺乏通用性,在某些模型和场景中工作良好,但在其他模型中和场景中失败,因此在持续缓解后门攻击方面不足。 为了弥补这一差距,我们首先确认“早期学习”现象是CLM训练期间普遍发生的。 这种现象是指模型最初侧重于训练数据的主要特征,但随着时间的推移,可能对后门触发器变得更加敏感,导致过度拟合和易受后门攻击。 然后,我们分析过度适应后门触发的结果,因为使用交叉熵损失函数,其中交叉熵的无边界导致模型越来越专注于中毒数据的特征。 基于这种见解,我们提出了通用和有效的损失函数DeCE(欺骗性交叉熵),通过混合欺骗性分布和应用标签平滑来限制梯度到边界,这可以防止模型过拟合到后门触发器,然后增强CLM对后门攻击的安全性。
我们开发QUICtester,一种在批准的QUIC协议实现(RFC 9000/9001)中揭示不合规行为的自动化方法。 QUICtester 利用主动自动学习将 QUIC 实现的行为抽象为有限状态机 (FSM) 表示。 与以前的不合规检查方法不同,为了帮助发现状态对事件时时的依赖性,QUICtester介绍了状态学习与事件时序变化的想法,采用有效且无效的输入配置,以及在学习过程中安全和运输层参数的组合。 我们使用对测试QUIC实现的学习行为模型的成正差分析,以属性无关的方式将不合规实例识别为行为偏差。 这利用了许多不同的QUIC实现的存在,消除了对经过验证的正式模型的需求。 不同的实现充当交叉检查测试神谕,以发现违规行为。 我们使用QUICtester分析了来自五个安全设置下的19个QUIC实现中的186个学习模型,并发现了55个实现错误。 值得注意的是,该工具发现了QUIC规范模糊性,导致易于利用的DoS漏洞,导致开发人员的5个CVE分配,以及迄今为止的两个漏洞赏金。
混沌工程旨在通过故意注入故障来识别和解决导致生产环境中断的系统弱点来提高软件系统的弹性。 虽然存在许多混沌工程工具,但它们的实际采用尚未探索。 本研究考察了971个GitHub存储库,其中包含10个流行的混沌工程工具,以识别其使用的模式和趋势。 该分析表明,Toxyproxy和Chaos Mesh是最常用的,自2016年以来显示出持续增长,并反映了云原生开发采用的增加。 新的混沌工程工具的发布在2018年达到顶峰,随后转向精致和集成,Chaos Mesh和LitmusChaos在正在进行的开发活动中处于领先地位。 软件开发是最常见的应用程序(58.0(16.2)以开发为重点的存储库往往具有更高的活性,特别是对于Toxiproxy和Chaos Mesh,突出了它们的工业相关性。 故障注入场景主要解决网络中断(40.9终止(32.7(3.0)
Rust 是将 C 的内存安全替代作为“系统”编程语言的有力竞争者,但将大量现有的 C 代码移植到 Rust 是一项艰巨的任务。 在本文中,我们评估大型语言模型(LLM)将C代码自动转译到惯用Rust的潜力,同时确保生成的代码可以减轻原始代码中存在的任何内存相关的漏洞。 为此,我们介绍了 SafeTrans 的设计和实现,SafeTrans是一个使用 LLM 来 i) 将 C 代码转入 Rust 和 ii) 迭代修复生成的代码中的任何编译和运行时错误的框架。 我们方法的一个关键新颖之处在于引入了针对翻译错误的几枪引导修复技术,该技术为特定错误类型提供上下文信息和示例代码片段,引导LLM走向正确的解决方案。 我们工作的另一个新颖方面是评估传输过程的安全影响,即原始C代码中的潜在漏洞是否在翻译的Rust代码中正确处理。 我们用六个领先的LLM和一组2653个C程序进行了实验评估,并附有全面的单元测试,用于验证翻译代码的正确性。 我们的结果表明,我们的迭代修复策略提高了54个成功翻译的速度,并且在翻译的Rust代码中有效地缓解了原始C代码中所有类型的已识别的漏洞。