大语言模型(large language model,LLM,也称大模型)在软件开发技术问答任务中展现出强大潜力,为代码知识获取和理解提供了新途径.然而,在以Linux内核为代表的复杂系统软件领域,LLM在代码实现、关键机制理解、演化历史追溯及设计决策分...大语言模型(large language model,LLM,也称大模型)在软件开发技术问答任务中展现出强大潜力,为代码知识获取和理解提供了新途径.然而,在以Linux内核为代表的复杂系统软件领域,LLM在代码实现、关键机制理解、演化历史追溯及设计决策分析等方面的真实能力仍缺乏系统验证.现有评测基准多针对通用任务,存在领域深度不足、难度逐渐饱和及评测问题与工程实践存在偏差等局限,难以保障特定领域开发知识问答的客观性、准确性和全面性.为客观评估LLM在复杂系统软件中的知识问答能力,研究提出一种LLM问答能力评测基准数据集构建方法,并构建面向Linux内核的高质量问答评测基准LKQABench,同时设计一种多裁判协同的代码知识问答评测方法MJ-CCE.LKQABench基于开发者社区的真实技术问答数据,经过语义分析和人工审核修订,构建202个标准问答对,覆盖Linux内核主要模块和不同认知维度.MJ-CCE方法定义多个裁判大模型的协同评分与投票机制,从关键知识点覆盖度、事实正确性与表达清晰度等维度对回答进行多维度评估.在LKQABench上对主流大模型的实证研究表明,当前大模型能较好地回答内核实现的单点知识问题,但在涉及跨主题知识整合、深度推理及版本演化关联的问题中,存在知识点遗漏、逻辑链条不完整等不足.研究不仅揭示了大模型在软件开发知识问答中的能力边界,也为其在该领域的持续优化提供了实证数据支撑.展开更多
及时获取并应用安全漏洞修复补丁对保障服务器用户的安全至关重要.但是,学者和机构研究发现开源软件维护者经常悄无声息地修复安全漏洞,比如维护者88%的情况在发布软件新版本时才在发行说明中告知用户修复了安全漏洞,并且只有9%的漏洞...及时获取并应用安全漏洞修复补丁对保障服务器用户的安全至关重要.但是,学者和机构研究发现开源软件维护者经常悄无声息地修复安全漏洞,比如维护者88%的情况在发布软件新版本时才在发行说明中告知用户修复了安全漏洞,并且只有9%的漏洞修复补丁明确给出对应的CVE(common vulnerabilities and exposures)标号,只有3%的修复会及时主动通知安全监控服务提供者.这导致在很多情况下,安全工程师不能通过补丁的代码和描述信息直接区分漏洞修复、Bug修复、功能性补丁.造成漏洞修复补丁不能被用户及时识别和应用,同时用户从大量的补丁提交中识别漏洞修复补丁代价很高.以代表性Linux内核为例,给出一种自动识别漏洞修复补丁的方法,该方法为补丁的代码和描述部分分别定义特征,构建机器学习模型,训练学习可区分安全漏洞补丁的分类器.实验表明,该方法可以取得91.3%的精确率、92%的准确率、87.53%的召回率,并将误报率降低到5.2%,性能提升明显.展开更多
摘要大语言模型(large language model,LLM,也称大模型)在软件开发技术问答任务中展现出强大潜力,为代码知识获取和理解提供了新途径.然而,在以Linux内核为代表的复杂系统软件领域,LLM在代码实现、关键机制理解、演化历史追溯及设计决策分析等方面的真实能力仍缺乏系统验证.现有评测基准多针对通用任务,存在领域深度不足、难度逐渐饱和及评测问题与工程实践存在偏差等局限,难以保障特定领域开发知识问答的客观性、准确性和全面性.为客观评估LLM在复杂系统软件中的知识问答能力,研究提出一种LLM问答能力评测基准数据集构建方法,并构建面向Linux内核的高质量问答评测基准LKQABench,同时设计一种多裁判协同的代码知识问答评测方法MJ-CCE.LKQABench基于开发者社区的真实技术问答数据,经过语义分析和人工审核修订,构建202个标准问答对,覆盖Linux内核主要模块和不同认知维度.MJ-CCE方法定义多个裁判大模型的协同评分与投票机制,从关键知识点覆盖度、事实正确性与表达清晰度等维度对回答进行多维度评估.在LKQABench上对主流大模型的实证研究表明,当前大模型能较好地回答内核实现的单点知识问题,但在涉及跨主题知识整合、深度推理及版本演化关联的问题中,存在知识点遗漏、逻辑链条不完整等不足.研究不仅揭示了大模型在软件开发知识问答中的能力边界,也为其在该领域的持续优化提供了实证数据支撑.
摘要及时获取并应用安全漏洞修复补丁对保障服务器用户的安全至关重要.但是,学者和机构研究发现开源软件维护者经常悄无声息地修复安全漏洞,比如维护者88%的情况在发布软件新版本时才在发行说明中告知用户修复了安全漏洞,并且只有9%的漏洞修复补丁明确给出对应的CVE(common vulnerabilities and exposures)标号,只有3%的修复会及时主动通知安全监控服务提供者.这导致在很多情况下,安全工程师不能通过补丁的代码和描述信息直接区分漏洞修复、Bug修复、功能性补丁.造成漏洞修复补丁不能被用户及时识别和应用,同时用户从大量的补丁提交中识别漏洞修复补丁代价很高.以代表性Linux内核为例,给出一种自动识别漏洞修复补丁的方法,该方法为补丁的代码和描述部分分别定义特征,构建机器学习模型,训练学习可区分安全漏洞补丁的分类器.实验表明,该方法可以取得91.3%的精确率、92%的准确率、87.53%的召回率,并将误报率降低到5.2%,性能提升明显.