单元测试用于检验软件单一模块的功能是否正确,是软件开发过程中的重要步骤,可以及时发现代码中的缺陷,提升软件的质量和可信度.由于手动编写单元测试费时费力,经常遗漏覆盖重要的代码逻辑.为此,研究者提出单元测试用例自动生成技术.近来,预训练大语言模型(large language models,LLM)已经广泛应用于代码生成相关任务.然而,当前在重要的系统级编程语言C上,还没有相关工作.为了填补这一空白,本文面向C程序设计并实现了基于LLM的单元测试用例生成方法LLM4CUTCG.该方法结合LLM多智能体交互和程序分析技术,客服了LLM内在问题.为了验证方法效果,收集了125个C语言目标程序,并针对这些程序生成测试用例.实验结果表明,LLM4CUTCG生成的测试行覆盖率为91.71%,测试预言正确率为50.05%.其覆盖率优于传统方法符号执行.
在全球老龄化背景下,老年人的健康问题逐渐凸显,认知刺激对话是保持老年人认知健康的重要手段。前人构建了一个结合情感支持的中文认知刺激对话数据集(ChineseCognitiveStimulationDialogueDataset,CSConv),开启了中文认知刺激对话的研究工作。但是没有充分建模认知刺激对话中的逻辑推理关系,生成对话时没能有效利用策略标签的指导作用。本文将认知刺激对话生成视为一个多任务融合的逻辑思维推理过程,将情感分类任务、决策任务和对话回复生成任务间的逻辑关系,建模为一个推理过程,来引导大语言模型生成。针对决策任务,本文提出分层编码器结构的决策模型。决策实验结果表明,决策模型分别将认知刺激治疗原则及情感支持策略决策任务的准确率提高了3.96%和2.1%。针对多任务逻辑思维推理过程,本文提出多任务融合方法,将分类、决策、生成三个任务对应的模型结合在一起。实验结果表明,相比前人方法,多任务融合方法将双语评估替分-4(Bilingual Evaluation Understudy Score based on 4-gram,BLEU-4)提升了7.95%,表明对话回复能力得到提升,证明了该方法的有效性和先进性。
云原生数据库具有开箱即用、弹性伸缩、按需付费等优势,是目前学术界和工业界的研究热点.当前,云原生数据库仅支持“一写多读”,即读写事务集中在单一的读写节点,只读事务分散到多个只读节点.将读写事务集中在单一的读写节点,制约了系统的读写事务处理能力,难以满足读写密集型业务需求.为此,提出D3C(deterministic concurrency control cloud-native database)架构,通过设计基于确定性并发控制的云原生数据库事务处理机制来突破一写多读的限制,支持多个读写节点并发执行读写事务.D3C将事务分拆为子事务,并根据预先确定的全局顺序在各节点独立执行这些子事务,以满足多个读写节点上事务执行的可串行化.此外,提出基于多版本机制的异步批量数据持久化等机制以保证事务处理的性能,并提出基于一致性点的故障恢复机制以实现高可用.实验结果表明,D3C在满足云原生数据库关键需求的同时,在写密集场景下能够达到一写多读性能的5.1倍.
暂无评论