ASE(CCF A)(共 2141 篇)
DBLP 沿用旧名 conf/kbse
2026448 篇 · Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering
KVerus:面向 Rust 代码的可扩展且鲁棒的形式化验证证明生成
提出 LLM 辅助的 Verus 证明生成工作流 KVerus,用动态知识库支持仓库级跨文件证明生成与修复。
智能体程序验证中的自动化引理发现
提出 LLM 智能体 LemmaNet,通过程序语义理解离线合成与在线适配辅助引理,自动完成演绎验证中的 VC 证明。
通过溯源分析保障 LLM 智能体免于失准
提出基于溯源分析的形式化框架与 ProvenanceGuard 流水线,在工具调用执行前检测 LLM 智能体的失准行为。
GPU 加速的信念传播程序分析
提出 FastLBP,一个支持灵活更新策略与局部结构的 GPU 加速信念传播框架,用于大规模程序分析。
仅凭测试能否合成形式规约?
用 LLM 仅从测试代码与动态执行轨迹(黑盒)推断 JML 形式规约,并以有界模型检验迭代精化。
利用系统级观测为定量验证中的模型参数贝叶斯学习提供信息
提出 EPIK,用可直接观测的系统级属性引导贝叶斯先验,从而更准确地对模型转移参数学习并验证难以测量的定量性质。
MalSkills:通过神经符号推理检测智能体供应链中的恶意技能
提出神经符号检测框架 MalSkills,从异构构件中推理识别 LLM 智能体供应链中的恶意技能,F1 达 93%。
基于 LLM 引导策略选择的自适应证明精化
提出 Adapt 框架,用 LLM 引导的决策器动态选择证明精化策略,显著提升定理证明的自动化成功率。
基于多模态验证器的可认证程序合成
提出基于 Lean 多模态验证器 Velvet 的分阶段 agent 流水线 LeetProof,实现从自然语言到程序、规格与机器可检验证明的可认证合成。
面向代码智能体检索的 TypeScript 仓库索引
基于 TypeScript Compiler API 实现 abcoder-ts-parser,直接复用编译器 AST 与语义信息,为代码智能体高效构建函数级代码索引。
AgenticSCR:面向未成熟漏洞检测的自主智能体安全代码审查
提出带安全语义记忆的智能体代码审查器,在早期漏洞检测中显著优于静态LLM、多智能体与SAST工具。
REAP:从交互式生产使用中自动整理编码智能体基准
提出 REAP 自动化流水线,从真实开发者-智能体会话构建可执行、可复现的生产分布基准 Harvest。
DafnyRAG:一个检索增强与验证驱动的 Dafny 代码自动修复工具
提出结合形式验证反馈与检索增强生成来迭代修复 Dafny 代码并提升形式规约准确性的工具。
LLM Agent 技能如何泄露你的凭证:一项实证研究
首次大规模实证研究 LLM agent 技能的凭证泄露,归纳出 10 类泄露模式,并揭示 fork 分发使修复失效。
RACE-Bench:面向仓库级代码智能体特性添加任务的推理增强基准
提出 RACE-Bench,用可执行补丁验证与结构化中间推理轨迹双重评估仓库级代码智能体的特性添加能力。
EMERGE:通过规则合成检查 LLM 的实现等价性
提出 EMERGE,借助规则合成检查 LLM 的实现等价性,并发布 ASE 2026 工件。
翻译接力队:形式规则与 LLM 合作比分开翻译更多宏
提出形式化宏翻译器 MerC 与基准 MacroBench,并证明 MerC 先翻译、LLM 补余的接力法优于单独使用。
JavaVulBench:具有真实划分、统一多后端评测框架与泄漏感知评估模式的 Java 漏洞基准
发布 JavaVulBench:面向 Java 漏洞检测的真实划分、多后端统一评测与预训练泄漏感知基准。
在 Meta 自动化低风险代码审查:RADAR、风险校准与审查效率
在 Meta 部署 RADAR 多级漏斗自动审查并放行低风险 diff,量化风险阈值与安全、效率的权衡。
ProbGuard:基于概率预测的 LLM 智能体安全主动式运行时监控
ProbGuard 用从执行轨迹学到的 DTMC 预测 LLM 智能体的安全风险,实现提前预警与干预。
Doc2Feat-Bench:评估文档驱动的功能添加
提出文档驱动功能添加基准 Doc2Feat-Bench,含 634 个真实任务与人工校验子集,最佳智能体成功率仅 37.72%。
LLM 智能体可以看见代码仓库
首次系统实证多模态模型理解代码仓库:可视化结构上下文可降 token 并保持或提升问题解决准确率。
ReCodeAgent:面向大规模仓库的语言无关翻译与验证的多智能体工作流
提出多智能体工作流 ReCodeAgent,实现全自动、语言无关的大规模仓库级代码翻译与验证。
多轮 LLM 编程对话中的回归累积
通过 542 个任务×8 轮实验揭示多轮 LLM 编程对话中的回归累积现象,并提出验证门策略加以缓解。
终端中的智能体代码评审:行为、成本与人类对齐的轨迹级分析
以轨迹级分析刻画终端智能体代码评审的行为模式、隐藏成本与人类对齐情况。
TELLER:面向 LLM 推理的非侵入式跨层根因分析
提出非侵入式跨层根因分析框架 TELLER,用结构化 trace 表示与多模态模型定位 LLM 推理异常步骤并生成解释。
使用 LLM 合成代码转换规则:潜力与局限
实证研究 LLM 能否为三种转换规则 DSL 合成正确、可泛化、可复用的代码转换规则,并揭示其能力边界。
自我发现的安全预言机:通过对抗自博弈元学习漏洞检测策略
提出 MetaMorphSES,用对抗自博弈元学习让基础模型自主演化漏洞生成与检测策略,无需预设提示或规则。
在开发者心流中捕获问题:面向 Google 规模的低延迟智能体程序修复
提出并部署 FlowAgent,在 Google 提交前 CI 流程中以低延迟 LLM 智能体自动修复测试失败,人工评估修复准确率达 67.18%。
从真实世界重构实践中学习语义保持变异算子以测试静态分析器
提出SAFuzzer,从真实重构提交学习语义保持变异算子,并用蜕变测试发现SAST工具缺陷。
基于差异感知特征的部署风险评估:Prime Video 案例研究
提出以代码 diff 特征为核心、用 LLM 做多语言特征提取的部署风险预测框架,跨数据集 F1 达 0.81。
SkillMOO:面向软件工程的智能体技能多目标优化
提出 SkillMOO,将软件工程智能体技能包视为多目标搜索对象,用 LLM 编辑与 NSGA-II 联合优化通过率和推理成本。
调试调试器:面向软件工程智能体的失败锚定结构化恢复
提出 PROBE,将失败运行遥测转为结构化诊断与有界恢复指导,提升软件工程智能体的失败后恢复能力。
歧义并非前提:理解 LLM 在模糊需求下的代码生成
提出 Orchid 基准,首次系统实证研究需求歧义对 LLM 代码生成的影响,发现歧义普遍降低模型性能。
PSearch:LLM 驱动的自动程序修复时代的基于搜索的补丁生成
提出基于搜索的补丁生成框架 PSearch,通过迭代评估与精化提升 LLM 自动程序修复效果并降低成本。
基于代码生成的表格自动复现
提出 Artisan,将论文表格数值复现转化为 LLM 代码生成任务,并发布首个复现基准 Artisan-Bench。
当知识发生变化:基于变异的 RAG 系统蜕变测试
提出蜕变测试框架,用11种变异算子评估RAG系统在语料演化下的一致性,检出被现有指标漏掉的故障。
从探针到生成:程序变体引导的仓库级修复基准测试增强
用语义程序变体作为行为探针,自动生成回归测试以补齐仓库级修复基准的测试薄弱点。
DCAS:解耦 CLI 智能体脚手架,将规划能力内化到跨脚手架模型
提出 DCAS 拦截层解耦 CLI 智能体脚手架与后端模型,使规划能力可跨脚手架内化迁移。
形式验证集成的强化学习用于自动化 ORM Schema 合成
提出 ReinforceORM,用强化学习搜索 ORM Schema 的多目标帕累托最优解,并以 Alloy 形式验证保证正确性。
CppPerf:面向性能改进的 C++ 提交的自动化流水线与数据集
提出自动化流水线 CppPerf-Mine 挖掘 C++ 性能改进补丁,并构建含 347 个可复现补丁的基准 CppPerf-DB。
基于部分依赖图的有效且高效上下文检索用于仓库级代码生成
提出 DyRetriever,用 LLM 按需构建部分依赖图并多跳推理检索上下文,提升仓库级代码生成。
EffiHolmes:差分性能剖析引导的仓库级时间低效修复位置定位
提出差分剖析与LLM引导推理的仓库级时间低效修复定位框架,并构建首个基准RepoEffi-Bench。
面向可靠 C-to-Rust 翻译的规则引导推理与强化学习
提出 TRAVEL,用规则引导 MCTS 推理与强化学习提升 LLM 的 C-to-Rust 翻译正确性。
地基正在移动:对软件度量基础的反思
指出AI代理使用开发工具生成的痕迹违背人类来源假设,呼吁检测假设失效并开展AI辅助复现研究。
LLM 如何阅读缺陷报告?面向自动程序修复的 LLM 注意力实证研究
首次实证研究 LLM 自动程序修复中的注意力模式,发现注意力错配是修复失败的关键因素。
SmellCC:一种自动化代码坏味道修复工具
提出 VS Code 扩展 SmellCC,结合 SonarQube 与 LLM 流水线,一键检测并重构 Python 代码坏味道。
TasmScan:面向 TVM 字节码的续延感知污点分析与 Savelist 抽象
提出首个 TVM 字节码级静态分析框架,通过建模 savelist 语义实现跨续延污点分析并检测合约缺陷。
IcFuzz:基于语义阶段引导与多级变异的 Isaac Sim 模糊测试
首个面向 Isaac Sim 的模糊测试方法,利用 LLM 语义阶段分割与多级变异提升覆盖率和缺陷检测能力。
几页 Markdown:提交式 AI 配置与采用编码智能体后更低的质量代价
提出基于提交工件的四级 AI 成熟度模型 RAMP,发现编码智能体带来普遍提速,但缺少提交式 AI 配置的仓库质量代价约翻倍。
ReLog:面向 LLM 调试的、带运行时反馈的执行感知日志生成
提出运行时反馈驱动的迭代式日志生成框架 ReLog,以下游调试任务而非文本相似度评估日志质量。
迈向全自动医学影像代码生成:基于验证的上下文工程
提出多智能体框架 AutoMedImg,以多阶段验证与自动上下文工程实现零人工干预的医学影像处理代码生成。
面向混淆下鲁棒代码理解的大语言模型事后注意力引导
提出 CodeSteer,利用程序分析得到的后向切片与控制流路径,在推理时重分配 LLM 注意力以提升混淆代码理解。
ProofPulse:面向 Dafny 的交互式证明覆盖率分析
提出三值证明覆盖率模型,通过证明依赖分析诊断 Dafny 规格质量,揭示弱前置条件与空洞证明。
ExeCRE:执行一致性引导的自校正代码生成可靠性估计
用随机输入下执行输出的一致性模式与 Dawid–Skene 模型估计生成代码的可靠性,为自校正代码生成提供更可信的反馈信号。
PAIChecker:发现并检查类 SWE-Bench 基准中的 PR-Issue 错位
提出多智能体系统 PAIChecker,检测类 SWE-Bench 基准中 PR 与 Issue 的错位,提升基准可靠性。
使用大型语言模型的面向增强现实应用的仓库感知蜕变关系生成
提出仓库感知的LLM流水线,自动生成并精炼AR应用蜕变关系,并验证其可转化为测试断言。
MultiKernelBench:面向 kernel 生成的多平台基准
发布首个跨 NVIDIA GPU、华为 NPU 与 Google TPU 的深度学习 kernel 生成基准,含 300 个任务、15 类算子。
为基于 LLM 的 Issue 解决压缩代码上下文
提出 OCD 上下文蒸馏与轻量压缩模型,推理时把代码上下文压缩约 6×,提升 LLM 修 issue 的成功率。
从猜测到看见:通过轨迹引导的多策略辩论增强基于 LLM 的程序修复
提出 TraceRepair,将运行时执行轨迹作为客观约束,通过多智能体交叉验证与辩论迭代精化补丁,在 Defects4J 上修复 392 个缺陷。
RealisticTritonBench:面向真实世界 AI 框架中 Triton 内核生成的基准
首个从真实 AI 框架 PR 抽取任务的 Triton 内核生成基准,并在原框架端到端环境中评估 LLM。
NPM 恶意包检测器效果如何?一项大规模实证研究
首个 NPM 恶意包检测大规模实证研究:统一基准评测 11 个工具 16 个变体,并阅读源码剖析成败根因。
当 LLM 写代码时什么会出错?智能体代码助手的操作安全失效刻画
通过对论文与 GitHub issue 的大规模实证分析,构建 LLM 编码智能体的操作安全失效分类体系,揭示严重风险与任务分布。
Kani:面向 Rust 的模型检测器
Kani 是开源 Rust 模型检测器,从 MIR 编译证明 harness 到 CBMC,无需标注即可验证安全性并用契约扩展到无界功能正确性。
面向安全软件工程的 EVerest 数据集
提出 EVerest 数据集,首次贯通需求、架构与代码并细粒度标注安全要素,支持端到端安全验证。
面向机器学习 Notebook 的自动断言生成与回归测试
提出首个面向 ML Notebook 的自动断言生成工具 NBTestGen 与回归测试框架 NBTest。
通过解析系统化字符串编辑变异来学习黑盒系统的词法结构
对输入串施加系统化编辑变异并解析黑盒系统响应,以推断其词法结构。
评估针对 LLM 生成代码中包幻觉的推理时防御
系统评估七种推理时防御并提出包效用指标,发现 RAG 与 Self-Refine 在对抗提示下更稳健。
KQFuzz:面向量子库的基于大语言模型的知识引导模糊测试
提出知识引导的LLM量子库模糊测试方法,结合代码库知识、适应度评估与两级变异,提升覆盖率并发现真实缺陷。
全有或全无:库类型注解如何影响 Python 客户端错误
研究 Python 库类型注解对客户端代码错误的影响,并提供完整可复现实验制品。
ATLAS:大规模软件生态系统的智能体化分类体系
用 LLM 智能体自动构建并迭代修正 GitHub 仓库的层次分类体系,端到端完成仓库归类。
面向企业软件工程定制 LLM:Gemini for Google 的实践
面向 Google 内部软件工程定制 Gemini,经万亿 token 数据中训练与全栈调优,显著提升编码助手效率与代码留存率。
K-COBAgent:面向 COBOL 现代化的知识驱动多智能体框架
提出知识驱动多智能体框架 K-COBAgent,结合规则翻译与 LLM 辅助,实现 COBOL 到 Python 的现代化。
SpecFSM:从协议规范文档中提取并修复有限状态机
提出 SpecFSM,从协议规范文档中提取有限状态机并修复其中的错误或不一致。
面向车载场景理解的视觉语言模型的搜索式测试
提出 ISU-Test,将渲染式场景生成与搜索式测试结合,自动暴露车载场景理解 VLM 的失败场景。
GALA:面向微服务根因分析与事件响应的图增强 LLM 智能体
提出图增强 LLM 智能体框架 GALA+,用服务依赖约束探索,实现微服务根因分析、事件总结与分层响应建议。
使用抽象解释推断 R 程序中数据框的形状
提出一种抽象解释静态分析,推断 R 程序中 data frame 的列名与行列数形状。
基于模型合并的跨领域克隆检测统一模型
系统评估模型合并,发现同基座 TIES 无需训练数据即可构建跨领域代码克隆检测器,并给出实用配方。
弥合差距:在企业内源中通过语义聚类自动发现安全的 Dockerfile 参考标准
提出六阶段流水线,用LLM语义聚类挖掘企业内源Dockerfile参考标准并量化安全优化差距。
GraphDroid:基于异步 LLM 的移动应用 GUI 测试——历史感知探索与混合意图满足
提出 GraphDroid,用聚类记忆、异步意图生成与混合意图满足提升 LLM 移动应用 GUI 测试覆盖率并大幅降低成本。
面向安全补丁检测的代码语言模型综合评估
系统重评代码语言模型检测安全补丁的能力,发现模型规模增益有限且代码上下文无可靠提升。
面向可信的基于 LLM 软件验收测试的需求增强生成
提出 REAG 与置信度校准级联判定,为 LLM 软件自动生成上下文相关的测试预言并给出可靠判定。
SpecTrum:面向以太坊共识客户端的规范引导差分模糊测试
提出机械化规范与前提覆盖度量,引导生成测试,发现以太坊共识客户端的 27 例跨实现分歧。
IncSFS:面向C/C++的增量式全稀疏流敏感指针分析
提出首个面向C/C++的增量式全稀疏流敏感指针分析算法,支持代码增删并保持精度与效率。
发现性能原型:关键路径感知的模式分析与回归检测
提出关键路径感知的多信号性能分析方法,发现13种跨应用性能原型,并用于回归检测。
面向深度神经网络的基于张量的批量模糊测试与自适应扰动缩放
提出规范感知的批量模糊测试框架,用张量化批量迭代与自适应扰动缩放显著提升 DNN 测试吞吐与反例发现率。
换个名字就不甜了:LLM 文档工作流中的格式鲁棒性实证研究
提出格式感知蜕变测试框架,系统揭示 LLM 文档工作流因文档格式变化而出现的准确率下降与决策漂移。
基于 Mixture of Prompts 的多层级代码优化
提出 Optimo,利用差分剖析定位瓶颈,并以 Mixture-of-Prompts 路由到多层级优化策略,显著提升动态语言代码运行效率。
基于梯度行为向量的 ML 赋能系统演化感知回归测试优先级排序
提出 GBV-PD,首次将行为向量空间用于演化感知的回归测试优先级排序,无需运行演化后模型即可预测测试用例损失的升降。
AEG-Edit:连接 API 演化与代码语义,实现代码生成中准确的 API 使用
提出 AEG-Edit,将 API 演化信息与代码语义相结合,提升代码生成中 API 调用的准确性。
Kozuchi Agent:一个语言无关的开源权重软件修复代理
提出 Kozuchi Agent,一个语言无关、开源权重的 LLM 修复代理与 CI 评估管道,在 SWE-bench 等基准上达到开源权重领先水平。
GANADI:通过基于关键函数聚类揭示C/C++开源软件复用谱系以增强供应链安全
提出GANADI,通过关键函数聚类与复用方向推断构建C/C++ OSS复用谱系,提升供应链安全与漏洞管理。
从计划到行动:智能体究竟在多大程度上遵循计划?
首次系统分析编程智能体对给定计划的遵循程度,揭示计划质量、提醒与阶段安排对任务成败的影响。
eARCO:基于提示优化的高效自动化根因分析
将提示优化用于云事故根因分析,显著提升LLM与微调SLM推荐准确率。
OpsAgent:用于微服务事件管理的自演化多智能体系统
提出自演化多智能体系统 OpsAgent,通过免训练数据处理器与多智能体协作实现可解释、低成本、可泛化的微服务事件管理。
UIBenchKit:面向设计到代码模型评估的统一工具包
提出开源统一工具包 UIBenchKit,标准化设计到代码(截图→HTML/CSS)生成的评测流程,支持即插即用比较与多指标分析。
GraphQLer:用上下文感知 API 测试增强 GraphQL 安全
提出 GraphQLer,基于类型依赖图合成多步漏洞链,自动检测 GraphQL API 的访问控制与注入缺陷。
禁还是不禁?开源项目如何治理生成式 AI 贡献
通过对67个高关注开源项目的多阶段定性分析,提炼出生成式AI贡献治理的3种取向、12种策略及政策工具。
OpenStack-RCA-Bench:一个可复现的 IaaS 根因分析数据集
发布可复现的 OpenStack IaaS 根因分析数据集,含 64 个事件、结构化日志与评估框架。
TORI:一种测试预言质量评估工具
提出 Java 测试预言质量静态分析工具 TORI,可识别断言并计算可扩展的评估度量。
移动应用中编译器优化问题的无源码检测与影响分析
提出无源码框架 OptDetect,从移动应用二进制检测低优化级别编译问题并量化其影响。
当压缩成为攻击面:针对提示压缩 LLM 智能体的黑盒攻击
揭示提示压缩在共享预算下引入对抗性信息丢失,并提出黑盒攻击 COMA。
当 Elo 说谎:实践中基于 Codeforces 的大语言模型评测中的隐藏偏差
实证揭示基于 Codeforces Elo 的大模型竞技编程评测受提交顺序、赛题选择与运行随机性影响,分数可差逾千分。
Bifrost:赋予预训练语言模型故障性表示以进行基于日志的故障诊断
提出 Bifrost,用自监督对比学习为日志学习多层级故障性表示,提升基于日志的故障诊断。
模式凌驾于像素:测量多模态代码生成中的模式补全偏差
首次构建视觉模式补全偏差基准,揭示多模态代码生成模型强烈偏向重复 UI 模式而忽略局部异常。
VeriSBOM:基于零知识证明的安全可验证 SBOM 共享
提出 VeriSBOM,用零知识证明实现不泄露敏感信息的可验证 SBOM 共享与策略合规检查。
TDiFf:通过迁移 DBMS 测试用例检测 DataFrame 系统中的缺陷
提出 TDiFf,将 DBMS 测试用例迁移到 DataFrame 系统,以自动检测其实现缺陷。
二进制代码表示学习中的指令对齐
提出将指令对齐作为辅助训练目标,利用编译器调试信息提升二进制代码表示学习,改善函数级相似性检索与判别性。
先思考再编码:面向 LLM 代码生成中自然语言安全–效用权衡的双重推理
提出 SUDS 指标与 Dual Reasoning 推理时方法,在代码生成前做安全审计与审查,统一功能正确性与自然语言安全警告。
论代码理解代理指标的可靠性
通过两项人类研究检验常见代码理解代理指标的相对可靠性,发现输入输出题与反应时指标较可靠,语法题指标不可靠。
端到端监管合规演化流水线:从法律需求到开发者测试
提出端到端合规演化流水线,将不断变化的法律需求转化为开发者测试。
ECLAIR:面向经验软件工程科学发现的因果基础 AI 框架
提出将 LLM 嵌入经验软件工程科学方法全流程的因果推理框架 ECLAIR,并以提示设计对代码生成准确率影响的案例研究验证。
FlakeFighters:检测不稳定测试失败的 Pytest 插件
提出可扩展的 pytest 插件 FlakeFighters,利用静态与执行数据将 Python 测试失败分类为真正缺陷或不稳定行为。
通过自调试的思维链合成文件级数据用于单元测试生成
提出自调试数据蒸馏方法,生成带忠实思维链的高质量单元测试训练数据,并微调模型显著提升测试生成效果。
EnergyTrackr:一种模块化的能耗回归检测工具
EnergyTrackr 是一个模块化开源工具,可自动检测、分类并可视化提交历史中的能耗回归。
隐式却影响深远:理解 Java 项目中的隐藏依赖
首次大规模实证刻画 Java/Maven 中隐式依赖的成因、生命周期影响与安全维护后果。
一个不够:单个漏洞对应多个安全补丁的未讲述故事
首次大规模实证研究多补丁漏洞,构建数据集与分类法,并开发 SPectre 提升补丁发现覆盖。
WebCQ:面向可扩展 Web GUI 测试的协作式多智能体深度强化学习
提出 WebCQ,用 QTRAN 协作多智能体深度强化学习与轻量同步机制,实现可扩展的大规模 Web GUI 测试。
ARDoCo 工具全景:面向架构可追溯性的 REST API、TraceView 与 TraceViz
发布 ARDoCo 工具全景,以 REST API、TraceView 和 TraceViz 降低架构追踪链接恢复的使用门槛。
别在我的 Git 仓库里搞事:在提交与发布阶段捕获后门
结合差分 fuzzing 与代码变更分析,在 CI 与发布流程中自动检测并定位代码级后门。
面向基于身份软件签名的上下文感知信任验证
提出 DiVerify,将多源身份声明、TEE 环境证明与签名密钥绑定,并用可机检策略验证签名条件。
从 Backlog 条目到安全指南:迈向持续安全合规
提出基于 NLP 的 backlog 丰富系统,检测安全相关条目并链接安全需求,以支持持续安全合规。
平衡在哪里被打破?有限模拟预算下的游戏平衡测试边界发现
提出 BBExplorer,在有限模拟预算下高效发现非确定性游戏中平衡与不平衡的边界,用于平衡回归测试。
Simulink 信息物理系统模型的变异测试:实践中的挑战与解决方案
通过工业试点揭示 Simulink/StateFlow 模型变异测试的实践挑战(等价变异体、需求追溯等)并给出经验教训。
低成本人在回路的大规模 GitHub 毒性言论研究
提出低成本人在回路标注流程,用小型本地 LLM 加随机森林验证器完成 12.4 万条 GitHub 对话的毒性标注与实证分析。
MicroAgent:面向自动微服务拆分的上下文增强多智能体框架
提出上下文增强的多智能体框架 MicroAgent,将单体应用微服务拆分为五个子任务,在 10 个 Java 应用上拆分准确率达 89.2%。
局部空间中的灰盒模糊测试
提出将覆盖问题变换到局部空间并施加数值方法与线性代数的灰盒模糊测试方法,提升分支覆盖。
Orbis:引导符号执行技术以最大化选项相关分支覆盖率
提出 Orbis,引导符号执行的探索方向以最大化程序中 option 相关分支的覆盖率(摘要缺失)。
特征聚焦的测试生成
提出 FFTG,将规格测试生成视为配置问题,通过特征模型与规格特化,聚焦指定特征生成有效测试。
攻破面向编程的定制化 LLM:面向指令后门攻击的自动化红队测试
提出 ARIA 自动化红队框架,用攻击 LLM 迭代生成隐蔽且有效的代码任务指令后门,攻击成功率最高达 0.945。
当歧义遇上非典型性:面向 DNN 的双视角测试输入优先级排序
提出 DuFP:基于 KNN 密度、融合类间歧义与类内非典型性双视角的 DNN 测试输入优先级排序方法。
推理如何塑造 LLM 生成代码中的社会偏见?
首个系统实证研究推理式代码生成中的社会偏见,并提出推理感知的去偏框架 ProbeDebias。
让窃取变得无用:GraphRAG 系统中基于掺假的专有知识图谱保护
AURA 向专有知识图谱预注入看似合理的虚假信息,使被盗图谱对攻击者不可用,授权用户则可用密钥高效过滤。
同样的审查,更多时间:评审 LLM 标注代码的眼动追踪洞察
眼动追踪与访谈显示,LLM 标注使评审者注视更久但审查彻底度不变,并改变其评审策略。
评估 Java 库漏洞利用的跨版本适用性
首个大规模实证研究,表明 Java 库漏洞 exploit 跨版本识别受影响版本有效,并归纳迁移策略。
面向下一发布问题的可扩展规则式深度强化学习框架
提出一种可扩展的规则式深度强化学习框架,用于求解下一发布问题。
Android 应用签名密钥保护的纵向研究
通过挖掘公开仓库中泄露的 Android 签名凭据,系统测量并验证签名密钥管理风险的生态系统级影响。
VidTutorAssistant:自动化回答编程教程中的问题
提出 VidTutorAssistant,用检索增强生成自动回答编程教学视频评论中的提问,答案质量优于原视频作者。
QUTest:面向量子程序的原生测试框架
提出 QUTest,用标准 .qasm 文件原生编写量子程序测试,支持断言、lint 与多运行时兼容检查。
DBRepro:通过混合约束求解方法自动合成数据库以复现慢查询
提出DBRepro,用混合约束求解自动合成代理数据库,严格满足局部基数约束并保留全局分布,以复现慢查询执行计划。
揭秘 Solana 机器人:从 GitHub 蓝图到链上指纹
基于 586 个 GitHub 仓库与 200 个链上地址、4400 万笔交易的实证研究,刻画 Solana 机器人的实现分类与链上行为指纹。
ARMOR:缺失模态下微服务根因分析的鲁棒自监督框架
提出 ARMOR,用模态专属非对称编码器与缺失感知门控融合,在模态缺失下仍稳健完成异常检测、故障分诊与根因定位。
编程即对话:对 11,579 个真实世界 AI 辅助 IDE 会话的大规模行为分析
首个针对 IDE 原生 AI 编程助手的大规模实证研究,基于 11,579 个真实会话揭示开发者对话式编程的行为模式。
ArkEval:面向 ArkTS 自动代码修复的基准测试与评估
提出首个 ArkTS/OpenHarmony 仓库级自动修复基准,并评测八个模型,揭示编译通过与行为修复的差距。
CodeInverter 套件:面向结构与数据感知的高效 LLM 二进制反编译
提出 CodeInverter 套件,用 CFG 与数据映射增强 LLM 反编译,并发布数据集与轻量模型。
AgentChaos:面向智能体系统的混沌工程——通过程序化故障注入
提出在共享 HTTP 层运行时非侵入式注入 LLM API 故障的混沌工程框架,并系统评估智能体系统鲁棒性。
智能体技能中的潜在复用:生态系统规模的多模态克隆检测
提出多模态克隆检测器 SkillReuse,在大规模智能体技能生态中发现复制、改名、改写等复用关系。
Cochise:面向自主渗透测试的参考实验框架
提出一个 630 行 Python 参考框架 Cochise,用于可复现地比较 LLM 自主渗透测试中的模型、智能体架构与轨迹。
基于LLM的智能体用于识别引入缺陷的提交
提出基于LLM智能体的工作流,通过提取可grep模式搜索候选提交,大幅提升引入缺陷提交识别F1。
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026引用 2
RepoProbe:基于检查表的架构感知仓库理解基准评测
提出 RepoProbe 基准,用 GitHub Discussions 开放式问答与检查表验证协议评测 LLM 的仓库架构理解,并量化 edit bias。
从可运行代码到可交付应用:面向全栈 Web 应用生成的测试驱动开发
提出 TDDev,自动化验收测试与失败驱动修复,首次系统研究全栈 Web 应用生成中的 TDD。
Tangent:基于LLM的Agent应用测试实践的实证研究
通过挖掘开源项目与访谈从业者,实证揭示LLM智能体应用测试以单元测试为主、覆盖不足并构建23种测试模式分类。
理解现代智能体框架中的缺陷:症状、根因与触发条件研究
对五个主流智能体框架的 409 个缺陷进行实证研究,提出五层架构抽象与缺陷分类法,并分析触发条件。
TheBotCompany:面向持续软件开发的自组织多智能体系统
提出自组织多智能体编排框架,通过三阶段状态机与异步人类监督支持数天级持续软件开发。
PITMuS:一个通过源码级变异体重建自动生成缺陷数据集的工具
提出 PITMuS 工具,将 PIT 字节码级变异报告重建为源码级变异体,自动生成可复用的缺陷数据集。
测试 Web 浏览器中的 IFrame 渲染
围绕 Web 浏览器 IFrame 渲染测试,展示 ICheck 的 oracle、缺陷检测与输入缩减评估结果。
MASSIV:用于自动驾驶安全案例中自动 defeater 提取的混合 RAG 系统
提出混合 RAG 系统 MASSIV,自动分析自动驾驶安全案例并生成反驳(defeater)。
CAS2UML:一个面向类图和活动图的手写草图到 PlantUML 数据集
发布包含557个手写UML图与人工验证PlantUML代码的公开数据集,并提供可复现验证工具。
Simulink 模型的测试套件生成:使用 Reactis 的经验
该仓库提供论文《Simulink 模型的测试套件生成:使用 Reactis 的经验》的复现材料。
MergeSE:面向软件工程任务的无须重训练的事后模型合并
提出开源命令行与网页工具 MergeSE,让软件工程研究者无需训练即可合并 HuggingFace 编码器检查点,并诊断、评估与导出合并模型。
MiniPoly:从语言规范中自动提取高效的 JavaScript Polyfill
提出 MiniPoly,从 JavaScript 语言规范中自动提取高效 polyfill,免去手工实现旧引擎兼容代码。
Graphectory Viewer:一个用于以过程为中心的智能体软件轨迹分析的工具
提出 Graphectory Viewer,将异构智能体轨迹转为阶段感知图,支持交互式过程分析。
三是魔法数字吗?基于LLM的修复循环的实证评估
实证表明LLM修复循环前3-4轮即贡献绝大部分收益,修复预算应作为显式实验变量。
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026引用 1
不要重测一切:安全关键系统的可审计回归范围界定
提出面向安全关键系统的可审计回归范围界定框架 CoCoS,并给出工业验证与复制材料。
COBug:一个面向 COBOL 的缺陷定位流水线:它有效吗?一项探索性研究
首个面向 COBOL 文件级缺陷定位的防泄漏基准与评估流水线,发现现有方法难以超越随机排序。
Debug2Fix:交互式调试能帮助编程智能体修复更多缺陷吗?
提出 Debug2Fix,把交互式调试器以子智能体架构集成进编程智能体,显著提升 Java/Python 缺陷修复能力。
AISmellBench:ML 与基于 LLM 系统中 AI 代码异味的可复用基准
构建可复用基准 AISmellBench,含 1,265 个标注文件与 3,714 个已验证 AI 代码异味实例,支撑检测器评测。
Panorama:通过元学习揭示微服务自动扩缩容中的潜在依赖
提出 Panorama 原型,用元学习挖掘微服务潜在依赖以支撑自动扩缩容。
执行即配置:模型配置工件中的安全异味
提出 12 类模型配置文件安全异味分类法,并实现仓库感知检测工具 MONTICELLO,在三大模型共享平台大规模测量其普遍性。
禁止复制/粘贴:AI 辅助编程中复制行为的软屏障
提出「软屏障」机制与复制粘贴抗性(CPR)指标,用 Unicode 扰动让 AI 生成代码难以被直接复制执行。
MultiFixer:一种基于协调者-提议者(Coordinator-Proposer)的多智能体多块缺陷修复框架
提出协调者-提议者多智能体框架 MultiFixer,通过上下文构建、迭代生成与两阶段精化修复 multi-hunk 缺陷,在多个基准上取得最优效果。
KRCA:基于 Agentic AI 的超大规模微服务系统高效根因分析系统
提出 KRCA,用 API 下钻、骨架因果图和记忆增强多智能体实现超大规模微服务根因定位与故障分类。
逃离自修复陷阱:通过双上下文感知改进测试 oracle 生成
提出非迭代双上下文感知框架 DCAware,避免自修复陷阱,提升回归测试 oracle 的故障揭示能力且开销更低。
NL2VBench:面向端到端自然语言到可验证 Rust 生成的基准
提出 NL2VBench 基准,包含 762 个自然语言到 Verus 可验证 Rust 的生成任务及验证工具链。
自动化安全补丁向后移植基准评测:我们进展如何?
提出 Porting Benchmark 与统一评测框架,系统衡量五类安全补丁回移工具并揭示其泛化短板。
AgentExecutor:通过智能体上下文生成实现部分代码执行
提出多智能体框架 AgentExecutor,利用 LLM 智能体迭代生成上下文与优化策略,高效执行部分代码片段。
Marv:用于可视化和评审变异分析结果的交互式工具
提出 Marv 交互式工具,统一可视化与评审多语言变异分析结果。
智能调试助手 DIAD
提出 IDE 内的智能调试助手 DIAD,用 LLM 整合多源调试信息,在断点处自动检测、解释并尝试修复问题。
MIMOS-Tools:面向嵌入式系统基于模型设计的集成工具链
提出集成工具链 MIMOS-Tools,以确定性的 MIMOS 计算模型统一建模、验证、实时调度分析与异构多核代码生成。
反编译 Web:编译后抽象泄漏的自动化语义恢复
提出 JS Recon,结合静态 AST 分析、动态沙箱执行与 RSC 协议操纵,自动恢复现代 JS 打包产物语义并审计安全暴露。
multiplex:一个基于LLM的模块化变异测试框架
提出模块化LLM变异测试框架 multiplex,支持研究者实现、配置和比较LLM变异生成技术。
RefineAct:LLM 智能体动作的自动运行时验证
从自然语言指令自动推导 Prolog 规约并在运行时拦截智能体动作,将失败率从 77% 降至 39%。
GraphLedger:基于图压缩与假设验证的仓库级漏洞检测
提出 GraphLedger,用图压缩保留依赖结构并借假设账本验证 LLM 漏洞假设,提升仓库级检测可靠性。
量子压缩性(Quantum Squeeziness):量子软件可测试性的信息论度量
首次形式化量子程序可测试性,提出信息论度量 Quantum Squeeziness,并通过大规模变异分析验证其有效性。
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
CLEAR:基于因果上下文的智能体推理用于漏洞检测
提出 CLEAR 多智能体框架,结合漏洞因果知识图谱,通过因果上下文推理提升源代码漏洞检测准确率。
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
弥合利益相关者需求与产品需求:汽车行业需求工程的实证研究
基于英飞凌8,082条利益相关者需求与5,870条产品需求的工业数据,实证揭示汽车需求精化的差异、决策因素与映射模式。
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ReproBreak:一个可复现的 Web 定位器失效数据集
发布 ReproBreak 数据集,收集并自动复现 Web GUI 测试中可复现的定位器失效,支撑脆弱性与修复研究。
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
会教学的智能体:将附带性学习重新设计进 AI 辅助软件开发
主张把附带性学习显式设计回开发者—AI 智能体交互,提出六条设计原则并实现“会教学”的 SHIELD 多智能体系统。
概率 Datalog 分析中的冲突提取
提出 PPProbe,从概率 Datalog 分析结果中高效抽取最小不可满足子集冲突,过滤互斥告警。
开源卫星软件全景刻画:生态系统与开发实践研究
首次对开源卫星软件进行大规模实证刻画,分析2.2万余GitHub项目的趋势、目标分类与开发实践。
AIGen:通过混合 MLOps 集成自动化 AI 物料清单生成
AIGen:基于 MLflow、挖掘启发式与 LLM 的模块化 AIBoM 生成器,输出符合 SPDX 3.0 AI Profile 的清单。
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
文档 vs. 代码模式:什么驱动了基于 LLM 的异常 oracle 生成?
通过干预式消融实验揭示,LLM 异常测试 oracle 生成的高准确率主要依赖捷径信号而非异常文档语义。
CAPMix:面向噪声与动态环境下AIOps的鲁棒KPI异常检测
提出CAPMix,一种基于先验引导注入的可控异常增强框架,通过标签修正与双空间mixup提升噪声和动态环境下KPI异常检测的鲁棒性。
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
WiseSpec:需求驱动的代码生成智能体
WiseSpec 通过自动构建、评估并迭代精化结构化需求,提升 LLM 在仓库级代码生成中的正确率。
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
使用智能体 IDE 生成 Web 应用:一项实证评估
对比三种智能体 IDE 从零生成全栈 Web 应用,发现常见模式生成成熟、分布式架构错误显著更多。
规范引导的大语言模型无死锁通信协议精化合成
提出 Syntropy,将多播会话类型规范作为精化约束注入 LLM 生成过程,合成无死锁且多样的通信协议精化。
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
BDiff:块感知且准确的基于文本的代码差分
提出 BDiff,一种能识别块级与行级编辑动作的文本差分算法,生成更贴近开发者意图的最小编辑脚本。
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
学习对程序分析产生的漏洞报告进行分诊:一项 Node.js 实证研究
本文实证研究用机器学习对程序分析工具输出的 Node.js 漏洞报告进行优先级分诊,显著减少人工审查。
超越文本匹配:面向人类可读二进制逆向工程的无参考评估
首次系统研究 LLM-as-a-Judge 用于人向二进制逆向工程评估,提出专家标注基准 BinJudgeBench 与自适应路由评测器 BinJudge。
DSpec2Test:Dafny 中规约驱动的测试生成
提出从 Dafny 形式规约自动派生黑盒测试的工具,基于 DNF 等价类划分与边界值分析,显著提升变异杀死率。
FeatX:通过编辑特性实现仓库级代码演化的软件编辑
提出特性导向的 LLM 代码演化工具 FeatX,将特性编辑自动映射并翻译为仓库级代码补丁。
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
Prompt Coach:面向软件开发中提示工程学习的智能体导师的实证评估
提出并实证评估 IDE 内嵌的智能体导师 Prompt Coach,用苏格拉底式提问帮助开发者提升代码生成提示词编写能力。
ExplainBench:评估智能体生成的代码解释
提出 ExplainBench 基准,用问答方式自动评估编码智能体所生成代码解释的可信度。
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
FairLint-DL:面向深度学习软件公平性调试的 IDE 原生工具
提出 VS Code 扩展 FairLint-DL,在训练前用信息论 QID 指标检测并定位深度学习模型中的公平性偏见。
LLMs 在软件工程领域生成分类体系的效果如何?一个多视角评估框架
首次系统评估 LLM 自动分类体系生成方法在 SE 工件上的质量、专家一致性、可靠性与效率,揭示质量-成本权衡。
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
Cam2Sim:面向闭环自动驾驶仿真的神经场景重建
提出 Cam2Sim,将真实驾驶录像重建为可执行 CARLA 场景,并用高斯泼溅缩小仿真与真实视觉差距。
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
ASE Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering2026
“不可能隐藏秘密……”:揭示 LLM 原生 IDE 中的安全与隐私问题
通过 Reddit 实证分析,构建 LLM 原生 IDE 安全与隐私问题分类,发现根源多在系统设计而非底层 LLM。
规约委托自主边界:面向智能体 AI 的需求工程
提出 AJR 与 ADP 两类需求制品,明确智能体 AI 的委托自主边界、分级授权与监督回收。
VidSumEval:用于评估AI生成的编程视频摘要的Web平台与基准
提出VidSumEval——面向学习效果的AI生成编程教学视频摘要评估平台与基准,并配以用户研究验证。
FaultForge:面向微服务的业务语义驱动跨层故障注入框架
提出业务语义驱动的微服务跨层故障注入框架 FaultForge,并发布含故障候选、数据集与参考 RCA 运行的可复现研究工件。
LiteScope:揭示资源受限生态中 Android Lite 应用的安全悖论
首个对 500 对 Android lite/full 应用的差分研究,揭示 lite 应用并未简化且反而放大安全风险。
代码检测器也有半衰期:LLM 生成代码检测中的过时性与指标幻觉
跨生成器评估表明专用代码检测器会迅速过时且高准确率可掩盖严重预测偏差,通用 LLM 判定器更具前景。
实证计算:提示与编程
提出“实证计算”概念,主张用提示让 LLM 直接求解问题实例,并呼吁软件工程建立其分析基础。
从线程到线程池:Java 程序中线程池误用的建模与静态检测
提出七类执行器管理误用分类与资源管理模型,并实现静态分析工具 PoolGuard 检测 Java 线程池误用。
AutoSQL:从大规模仓库的命令式 ORM 代码中抽取 SQL 模板
结合代码索引图与 LLM 智能体混合上下文检索,从 Go ORM 命令式代码中还原 SQL 模板,召回率达 68%–72%。
PR2Trigger:从并发修复 PR 差异到面向 Go 的可执行触发测试
提出半自动流水线,从 Go 并发修复 PR 差异重建可执行触发测试,门通过率从 2% 提升至 15%。
MicroWeaver:一种约束引导的结构–语义感知的自动化微服务拆分方法
提出融合静态分析、动态追踪、图神经网络与约束多目标优化及 LLM Agent 的单体自动微服务拆分方法。
少即是多:用不完美保真度调优可配置系统
提出 MFTune,利用低成本非完美保真度环境为高成本完美保真度调优生成优质种子,提升预算利用率。
超越炒作:人工智能真正给软件工程带来了什么(主旨演讲)
回顾生成式AI在软件工程中的真实影响、采纳挑战与未来研究议题。
ExcavatorFuzz:LLM 引导的路径难度驱动定向灰盒模糊测试
提出 LLM 辅助的定向灰盒模糊测试框架,通过路径可行性过滤、难度排序与阻塞谓词种子合成提升漏洞触发效率。
JavaScript 库的防御性能力分析
提出一种防御性能力分析,结合静态分析与轻量运行时保护,可靠报告 JavaScript 库的能力使用并支持供应链安全审计。
ControlsDSL:一种用于可验证云配置合规控制的语言
提出领域特定语言 ControlsDSL 编写云合规控制,借助 SMT 分析自动生成测试与场景并证明其可靠且完备。
FlowChecker:一条命令对工业 Java 中的控制流规则进行模型检测
FlowChecker 让工程师用 CTL 公式表达项目特定时序控制流规则,自动抽取有限控制流模型并用 Datalog 引擎求不动点完成模型检测。
VerusSeek:面向 Rust 程序的检索增强型 LLM 证明合成
VerusSeek 通过检索可复用的 Verus 证明构件并合成循环不变式提示,显著提升 Rust 程序证明合成的成功率。
每个场景都重要:面向 LLM 驱动的静态代码检查器的场景引导白盒测试
提出 ScenSCT,用 LLM 从检查器源码抽取检查场景并生成测试,暴露静态分析工具大量误报与漏报。
A11YRepair:通过知识增强的分治修复弥合 Web 无障碍障碍
提出基于 LLM 的分治式 Web 无障碍修复框架 A11YRepair,融合 WCAG 知识并构建 A11YBench 基准。
InfraAPR:面向云基础设施即代码程序的基于智能体的修复框架
提出基于 LLM 智能体的 PL-IaC 程序自动修复框架,结合语义图重建与约束引导诊断,修复成功率最高达 61.8%。
超越结果:迈向过程感知的软件智能体
提出以执行轨迹为中心的过程感知框架,用 Graphectory 和 Langutory 刻画编程智能体的行为模式与计划遵循度。
自动驾驶系统的真实世界扰动测试
对72种摄像头与LiDAR扰动在离线、硬件在环和实车闭环三种测试层级进行大规模评估,揭示层级间结论鸿沟。
面向混合执行的验证器在环 LLM 堆约束求解
COHEC 把堆约束求解重构为「LLM 提议堆模型 + 可信验证器验证」,显著提升混合执行的路径探索与取值生成能力。
DragonCrawl:面向可扩展移动端端到端测试的生成式、基于意图的框架
DragonCrawl 用 GPT-4o 多模态生成式意图推理替代脆弱的移动 E2E 测试,实现大规模 CI/CD 回归验证。
借助代码变更理解增强微服务系统中基于追踪的根因分析
提出DeltaRCA,将LLM驱动的代码变更影响分析与基于谱的根因定位结合,提升微服务RCA精度。
循序渐进:通过规划与双记忆实现组合交互 GUI 测试的自动化
提出 COMBDroid,以结构化规划与双记忆自动完成移动应用 GUI 组合交互测试,通过率较最优基线提升 103%。
CTForge:自动生成面向软件配置的测试套件
提出 LLM 驱动的三阶段配置感知优化流水线,自动生成配置专用测试套件以检测配置错误。
ConfFuzz:面向可配置云系统的参数感知灰盒模糊测试
提出参数感知的灰盒模糊测试方法,以单元测试为驱动高效检测云系统配置相关缺陷。
从函数到仓库:面向仓库级定向输入生成的理解与一种智能体方法
构建仓库级定向输入生成基准 RepoEval,并提出智能体工作流 AgenticDIG,使目标覆盖率较最佳基线提升 43.56%。
ReqEvolve:通过自动需求解释实现面向用户的软件自演化
ReqEvolve 结合自动需求工程与测试驱动开发,将高层用户请求在运行时转化为可执行功能,实现用户驱动的软件自演化。
十亿用户规模下微信支付的模型引导属性测试
提出模型引导的属性测试,从 MBT 状态出发随机探索并自动合成不变式性质,发现微信支付未知缺陷。
LARA:基于匹配自动机的带前瞻正则表达式静态 ReDoS 检测
提出 matching NFA,将带前瞻正则转换为标准 ε-NFA,把前瞻感知的 ReDoS 检测归约为 ε-NFA 歧义分析。
UltraInstinctVR:一个面向 VR 应用自动化系统测试的基于模型的工具
提出 UltraInstinctVR,一个用模型驱动 VR 应用自动化系统测试的工具。
面向自动检测 JavaScript 中跨引擎渐近复杂度分歧
提出跨引擎渐近复杂度分歧现象,并给出按各引擎增长率估计分散度自动检测该类分歧的方法
DAL:面向汽车软件的 I/O 处理解耦式基于方面分层
提出面向方面框架 DAL,将汽车 MDD 软件中重复的 I/O 关注点模块化并与核心逻辑解耦。
E-CoDrive:面向能源关键驾驶场景测试的联合仿真框架
提出E-CoDrive联合仿真框架,集成能耗模型、微观交通与高保真驾驶模拟器,支持自动驾驶电动车能源关键场景的可复现闭环测试。
Agent-HAnS:在智能体开发中维护特性与代码的可追溯性
让 LLM 智能体在每次代码生成后自动更新特性模型并嵌入特性注解,从而维护特性与代码的可追溯性。
RustGTC:通过注释分析与代码上下文实现约束引导的 Rust API 测试生成
从 API 注释中抽取参数约束来引导 LLM 生成并修复 Rust API 测试,在 12 个 crate 上发现 41 个缺陷。
SmartPoC:通过 PoC 生成与执行验证智能合约漏洞发现
用 LLM 生成并执行 PoC,自动确认智能合约审计报告中的漏洞可利用性。
SafeDep:通过依赖切片与 LLM 推理检测 Rust 中的状态变更不健全性
提出 SafeDep,结合 MIR 依赖切片与 LLM 推理检测 Rust 跨方法状态变更不健全漏洞。
我们一定漏掉了这条注释:检测与修复 Linux 内核注释中过时的函数引用
提出 ReCite 三阶段方法,检测并修复 Linux 内核注释中因函数重构或删除而过时的函数引用。
打破隔离:面向智能合约的多维度目标学习协同多智能体模糊测试
提出多智能体深度强化学习模糊器 SynerFuzz,协同语义、状态与经济多维目标生成高质量交易序列以挖漏洞。
xDECAF:面向信息安全的可扩展数据流图分析框架
提出可扩展的架构级数据流分析工具 xDECAF,含 DFD 元模型、约束语言、浏览器编辑器与示例数据集。
走向真实世界环境中终端智能体的真实且可扩展评估
提出从真实终端活动轨迹反向构造评测任务,使终端智能体基准更真实且可扩展。
SimServing:面向演化韧性 LLM 服务配置调优的原生执行模拟
SimServing 通过原生执行服务框架、仅替换 GPU 计算为延迟估计器,实现可随上游演化的 LLM 服务配置调优。
超越语法差异:跨配置增量构建的语义感知调度
提出SIBS,用语义距离建模配置变更对重建范围的影响,并以ATSP全局调度减少跨配置增量构建时间。
SecChain:将安全准则可操作化用于多智能体智能合约生成
提出多智能体框架 SecChain,用持久化 SecuritySpec 将安全义务贯穿智能合约的规划、编码、测试、审计与修复全过程。
InsightQL:用于 Fuzz Blocker 分析的统一代码数据库
提出首个辅助人工的 fuzz blocker 分析工具,用统一代码数据库与参数化查询帮助开发者定位覆盖率瓶颈根因。
仓库中的针:诊断 AI 生成仓库编辑中的可维护性失效
提出 NITR 探针-预言机框架,诊断行为正确但破坏可维护性的 AI 仓库编辑。
使用归一化 Scope+Offset 的漏洞跟踪
提出 Scope+OffsetN,通过排除非功能性代码行归一化 offset,减少漏洞指纹的虚假重复。
LaMAR:通过 KV-Cache 通信实现潜在多智能体协作的自动程序修复
提出 LAC 框架让多智能体在连续空间直接共享 KV-cache 通信,并实现为双链自动程序修复系统 LaMAR。
IntOAgent:一个自动检测与触发整数溢出漏洞的实用框架
提出基于 agent 的框架 IntOAgent,将可达性与溢出触发解耦,实现可扩展的整数溢出漏洞检测与可触发 PoC 生成。
看起来不错,但能运行吗?模型卡中示例代码可执行性的大规模实证研究
对 Hugging Face 模型卡示例代码开展大规模实证,揭示运行失败普遍,并提出自动修复工具 CardCodeFixer。
ActionNex:云故障管理中的生产级下一最佳行动推荐系统
提出记忆增强的生产级系统 ActionNex,用三类记忆在多模态运维数据上推荐云故障全生命周期的下一最佳行动。
保留知识产权的企业系统现代化:基于 LLM 驱动的规约提取与多目标代码生成
本地LLM提取四视图规约、云端模型仅据规约生成多目标代码,实现保留知识产权的企业系统现代化。
当扩展说谎:浏览器扩展隐私政策合规性的大规模研究
提出动态分析框架 ExtPolice,结合 LLM 与多类型污点分析,对 14.9 万个 Chrome 扩展做隐私政策合规检查,发现 2246 个违规扩展。
Gentoo:谓词引导的输入生成器合成
提出 Gentoo,利用 LLM 编码代理迭代合成并精化目标特定输入生成器,显著提升模糊测试分支覆盖。
Spec2V:规划引导的规范到 Verilog 生成框架与验证驱动调试
提出智能体框架 Spec2V,用双层思维树规划与验证驱动调试将规范自动生成 Verilog 代码。
FallibleUser:面向交互式 AI 系统真实评估的不完美用户代理
提出可插拔的不完美用户模拟工具 FallibleUser,通过答案改写与严格判定,揭示 oracle 用户评估会高估交互式 AI 系统鲁棒性。
基于变更传播的依赖约束操作历史选择性撤销/重做算法
提出依赖敏感的变更传播算法,在不完全重放历史的情况下实现正确的选择性撤销/重做。
TDRepro:一种复现时序相关不稳定测试失败的神经符号方法
结合LLM与程序分析,高效复现时序相关的不稳定测试失败,显著优于现有方法。
迈向可验证的公平性测试:数据支持输入域上的可审计覆盖
将黑盒公平性测试重构为数据支持输入域上的可审计覆盖过程,并设计覆盖调度与结构感知搜索以提升偏见发现。
VARIES:Rust 库不健全性检测中的验证 Harness 合成与高效调度
提出 Varies,通过状态化验证 Harness 合成与反馈驱动调度,使 BMC 能高效检测 Rust 库中的不健全性缺陷。
Planner-Fuzz:通过面向边界的模糊测试克服无人机规划器中的诊断饱和
提出面向安全边界的模糊测试框架 Planner-Fuzz,采集诊断信息量更大的边界配置并做三级诊断,定位导致无人机规划器失效的参数。
碎片化的指标,混合的结果:AI 编程助手与开发者生产力的系统性综述
系统综述 AI 编程助手对开发者生产力的影响,揭示 187 个碎片化指标并构建多维可比证据基础。
RAVEN:测量反病毒引擎在语义保持扰动下的检测不稳定性
以 ClamAV 为白盒参照,提出 RAVEN 测量反病毒引擎在语义保持扰动下的检测不稳定性。
从非正式缺陷报告中重建可执行程序
提出 Reprodgen 分阶段框架,从论坛与 Issue 的非正式 bug 描述重建可执行的 buggy-patched 程序对,并分别评估可执行性与行为忠实度。
理解弱内存与跨架构设置下的真实世界顺序相关并发缺陷
通过58个真实并发缺陷的实证研究,提出三层次的多粒度顺序(MGO)分类法,揭示弱内存与跨架构下的缺陷模式与修复错配。
思考还是不思考:评估 LLM 推理与智能体在漏洞检测中的作用
在 PrimeVul Pair 上分阶段实证:推理模式主要靠召回提升 F1,双智能体设计 F1 最高但告警负担沉重,解释质量提升有限。
恢复历史被改写的 Pull Request 修订
提出 AntiDiffamine,基于提交祖先关系对齐,自动消除 force-push 后 PR 差异中的基底分支噪声。
在 JVM 实现中查找与类型相关的缺陷
提出首个由 JLS 类型规范引导、利用 LLM 生成字节码测试程序来检测 JVM 类型相关缺陷的技术 Caster。
PWCC:面向自动驾驶系统风险知情场景测试的概率加权组合覆盖度
提出PWCC覆盖度,用运行剖面的概率质量加权t路场景特征组合,给出风险校准的测试充分性停止准则。
Barista:用 LLM 智能体合成 typestate 规约
提出 Barista,用 LLM 智能体从文档合成 typestate 规约,实现 Java 对象协议的编译期验证。
通过黑盒检查实现快速缺陷检测
系统评估黑盒检查,证明其仅需极少查询即可快速发现协议与控制器中的深层缺陷。
PL4SA:面向高效静态分析的优化部分库选择
提出 PL4SA,用细粒度全程序指向信息渐进地选择相关库方法,兼顾静态分析的效率与召回率。
TLCrafter:层层剥开自然语言以揭示时序逻辑规约
提出交互式工具 TLCrafter,用 LLM 分解与规则合成将自然语言需求翻译为 LTL/CTL/STL 时序逻辑公式。
从 Vibe 到规约:一项揭示代码生成中规约作用的实证研究
首个系统实证研究规约的「形式」与「粒度」两个维度如何影响 LLM 代码生成效果,发现模块级细粒度结构化伪代码最优。
当有一个补丁,就有另一个:分类驱动的缺失安全补丁发现
构建多安全补丁CVE数据集与两级分类体系,并实现原型PatchKin,显著提升同仓库与跨仓库缺失安全补丁的发现召回率。
RegoMender:面向自动化 Rego 策略修复的多智能体框架
提出首个 Rego 策略缺陷基准 RegoBench 与多智能体修复框架 RegoMender,显著提升自动修复成功率。
量子 Bug 如何生与死:基于生命周期的量子软件缺陷实证研究
构建生命周期量子缺陷基准 QBugsSet,实证揭示量子特定缺陷修复更难且 LLM 自动修复率更低。
Exact-IaC:面向可靠 IaC 合成的执行驱动精确知识注入
提出执行驱动的精确知识注入框架 Exact-IaC,用编译器反馈迭代修复显著提升小模型 IaC 合成的可靠性。
为什么这在我的账单上?基于文档的规则学习用于逐项账单解释
提出神经符号工具,用LLM代理从账单数据和文档中学习可解释的资格规则,以解释逐项账单。
后量子密码学在现实世界中:评估开源生态系统的就绪度
首次跨生态实证评估开源供应链的源码级后量子密码(PQC)就绪度,用LLM两阶段扫描百万包,揭示迁移差距与基础设施瓶颈。
当注释误导:基于 LLM 的代码补全中过时注释的实证研究
本文实证发现,过时注释会系统性误导 LLM 代码补全,使生成偏向历史实现,且影响受函数签名长度与任务复杂度调节。
在工业 LLM 工作流中为初始化感知 GRPO 维护控制状态
提出 CoSTAR:用轻量工作流级控制组件维护下游 GRPO 的起始状态,并与下游 GRPO 交替优化,提升工业 LLM 工作流后训练适配。
RiskScope:智能合约中激励与控制风险的预审计分诊
提出 RiskScope,用收益形成图静态恢复合约激励与控制风险,并用 LLM 辅助审计前分诊。
Continuum:从开发者-AI 对话中自动构建与检索软件决策知识图谱
提出端到端系统 Continuum,从开发者与 AI 助手的对话日志中抽取架构决策并构建可检索的知识图谱。
大规模模型训练中生产力损失的刻画与缓解:一项实证研究
提出ETPR指标并构建自动稳定性治理框架,诊断和缓解大规模模型训练中的故障与慢速异常,提升集群训练生产力。
从可访问性到可达性:LLM 驱动的 Android 应用对比式可访问性测试
将无障碍评估重构为自动化可达性问题,用 LLM 智能体对比测试发现视障用户遭遇的动态缺陷。
迈向多语言 AI 辅助软件工程
提出“词汇桥”术语契约协议,引导 LLM 用母语解释代码逻辑的同时保留英文技术术语,并实现 VS Code 扩展 BhashaSE。
DAGGER:用于容器镜像依赖优化的动态智能体图引导高效推理器
提出 DAGGER,用智能体 AI 在容器镜像依赖图上动态选择优化策略,实现平均 35.7% 体积缩减且仅 0.2% 破坏率。
基于 LLM 的代码漏洞检测中推理轨迹忠实吗?
提出首个评估 LLM 漏洞检测推理轨迹忠实性的框架 VulFaith,揭示不忠实普遍存在且可通过数据增强缓解。
TrackTest:面向多目标跟踪系统测试的轨迹生成与优先级排序
提出 TrackTest 框架,用约束优化生成行为多样的轨迹并做优先级排序,系统暴露多目标跟踪系统的失效。
尽力而为的 GR(1) 合成:在不可实现性下利用环境合作
提出 best-effort GR(1) 合成,在不可实现规约下利用环境合作并量化不可实现程度。
评估性能建模中的不确定性:共形预测 vs. 贝叶斯回归
系统评估共形预测在可配置软件性能预测中的不确定性量化,多数场景优于贝叶斯方法 P4。
哪种相机扰动应最先测试?车载 ADS 测试的离线引导优先级排序
提出用离线峰值转向偏差排序相机扰动族,从而在有限车载测试预算内更早发现 ADS 失败。
基于多模态规约的智能合约合成
提出 SmartSpec,从功能与安全规约出发,结合演绎与归纳合成最大许可的智能合约实现并集成验证。
感知、推理与行动:一个基于 ReAct 的仓库级推理漏洞检测框架
提出 ReAct-Vul,将 ReAct 范式与多智能体 LLM 结合,通过仓库级知识切片与推理-行动协同循环提升漏洞检测准确率。
通过全局状态重优先级化与LLM引导的轨迹探索实现移动缺陷复现
提出ReproPilot,用全局规划整合LLM长程语义指导与启发式信号,在保持复现效果的同时大幅提升一致性与降低token开销。
双人探戈:通过缓存启发的分层投机解码加速代码生成
提出 CacheCoder,用检索作 L1 缓存、草稿模型作 L2 缓存的分层投机解码,加速 LLM 代码生成最高 2.64×。
IAM Policy Autopilot:从应用代码生成策略的静态分析
提出确定性静态分析工具 IPA,从多语言应用代码的 AWS SDK 调用自动生成带来源追溯的最小权限 IAM 策略。
PCLA-Bridge:CARLA 训练自动驾驶智能体超越 CARLA 模拟器的可复用性
提出执行适配器 PCLA-Bridge 与可复用性分类法,使 CARLA 训练的驾驶智能体无需重训即可在真实数据上运行。
Fuzz4DB:LLM 智能体引导的数据库特性级增量测试模糊测试实践
提出 LLM 智能体引导的模糊测试器 Fuzz4DB,解耦语义规划与文法实例化,高效测试 DBMS 特性增量。
Smart Brain:大规模服务系统中运维时间序列的语义异常检测
提出两阶段语义异常检测框架 Smart Brain,将运维时序异常检测从数值偏差转向可解释、可操作的语义异常决策。
论静态代码分析工具定制配置的影响:一项面向 SonarQube Cloud 的前瞻性队列研究
通过前瞻性队列研究,评估 SonarQube Cloud 质量门定制配置对安全、可靠性和可维护性的影响。
StarFuse:LLM 引导的多模态交互式定理证明
提出 StarFuse,用 LLM 从多模态输入合成并修复出经 F* 验证的程序。
ACSLBench:面向形式规约合成的、带组合式调用链的经过验证的 C/ACSL 语料库与基准
构建 50 万余条经 Frama-C/WP 验证的 C/ACSL 语料与 495 个跨函数调用规约合成任务,揭示 LLM 随调用链增长性能下降。
结构引导的 Android 标识符语义去混淆
结合静态程序分析与 LLM,自底向上恢复混淆 Android 应用标识符的语义。
超越单层 PGO:理解并利用工业系统中的跨层优化效应
通过三个工业产品的大规模研究发现多级 PGO 最高增益 17.04% 却也能带来 81.90% 的回退,并提出跨层安全应用指南 ML-PGO。
结合运行时数据的自顶向下多智能体 LLM 系统:面向 MISRA C 违规检测
提出 LASIK,首个自顶向下多智能体 LLM 框架,融合按需仓库级上下文与运行时执行证据检测 MISRA C 违规。
AutoFLC:面向遗留代码仓库的基于LLM的流程图生成工具
结合静态分析与渲染器在环自我修正,将遗留代码库转为可渲染流程图,成功率超99%。
当关键时停止:面向性能回归测试的可检测性引导微基准测试
提出以最小可检测效应(MDE)为核心的可检测性引导微基准执行框架,在统计保证下大幅缩短性能回归测试时间。
SAF:面向 AI 智能体、可在浏览器中访问的 LLVM IR 静态分析框架
SAF 用 Rust 内核加 Python/WASM 接口、YAML 规格语言与智能体技能,让 AI 编码智能体可端到端构建 LLVM IR 静态检查器。
面向自动化功能分析的大语言模型增强符号执行
FuSE 用大语言模型为符号执行产生的程序路径自动标注功能规约,从而提升功能测试与缺陷检测能力。
EvoLLM:面向工业级 Java 代码库的高覆盖率、可读且令牌高效的单元测试生成
将 EvoSuite 加固与按簇 LLM 重构相结合,在提升覆盖率的同时大幅降低 token 消耗并改善可读性。
Android 推送通知生态系统中的安全风险:一项实证研究
对 11 个主流推送 SDK 与 5 万余款应用进行系统性安全评估,揭示密钥泄露、通知劫持与明文载荷三类风险。
通过采样性能剖析与结构感知覆盖率放大实现准确低成本的残余风险评估
用硬件 IP 采样替代覆盖率插桩,并借助 must-execute 静态分析重建覆盖,从而低成本、高精度地评估 fuzzing 残余风险。
弥合意图与影响之间的差距:深度学习框架中 GPU 优化的实证研究
通过202个PR实证揭示深度学习框架GPU优化的实际效果、22类策略及三类性能退化根因。
DepUpgrade:通过状态路径探索自动化依赖升级
将依赖升级建模为状态路径探索,借助编译器反馈验证与回滚,在基准上达到 96.7% 完全修复率。
RFC2TLA+:利用持续 LLM 反馈从 RFC 文档提取并验证形式模型
提出三阶段流水线,用持续细粒度 LLM 反馈将 RFC 自动提取为可验证 TLA+ 模型,并用 TLC 检测故障。
SplitCA:一种为大规模高度可配置系统生成 4-wise 覆盖数组的有效工具
提出 SplitCA,可在资源限制内为绝大多数超千选项的大规模可配置系统生成 4-wise 覆盖数组,显著提升可扩展性。
聊聊设计:面向 LLM 原生软件的变换导向视角
提出以 LLM 中介的数据变换为核心运行时抽象的变换导向设计视角,用于描述、比较并支持 AI 辅助架构综合。
AlarmClaw:基于类别/严重度感知事件图的上下文增强告警管理
提出 AlarmClaw,用有界上下文抓取与类别/严重度感知事件图约束 LLM 告警关联决策。
面向数据中心可靠告警洪水削减的语法引导可验证 LLM 推理
提出约束推理链语法 CRCG,将专家告警推理形式化为可检查的显式推理链,仅在验证通过时保守削减告警,实现在真实数据中心场景下零误减。
面向概率与有界回报的可靠且高效的统计模型检测
提出可靠且高效的统计算法,估计随机系统的概率与有界期望回报,并形式化证明其可靠性。
理解 LLM 与自主代理生成的代码及架构坏味
系统审计 AI 生成软件的技术债,揭示机器签名缺陷、推理-复杂度权衡与体积-质量反比律。
WiseSword:面向 Ascend NPU 上工业级 DLRM 部署的自动计算图划分工具
提出 WiseSword,自动将 DLRM 中 VC 密集型特征处理分支卸载至 CPU,实现 CPU-NPU 流水线推理并提升吞吐。
LintCFG:DSL 驱动的编码规范 Linter 配置生成
提出 LintCFG,用 DSL 结构化表示编码规范,并通过 LLM 编译流水线自动生成 linter 配置。
AIRBORNE:面向 Stack Overflow 的增强细粒度软件物料清单生成器
提出并实现 AIRBORNE 工具,通过源码分析与克隆检测生成融合 Stack Overflow 引用信息的细粒度 SBOM。
基于模型规划与模糊测试的晶圆搬运机器人属性测试
提出面向晶圆搬运机器人的属性测试方法,用基于模型的规划生成合法输入并模糊变异探索场景,发现21个未知缺陷。
ThreatCraft:基于规则与 LLM 混合推理的自动化攻击场景生成
提出结合规则引擎与大语言模型的攻击场景生成工具,用统一杀伤链引导 LLM 生成结构化攻击路径。
语义分割系统中的数据标注故障定位
提出 SegFaultLoc,将频谱故障定位迁移到语义分割标注组件,无需训练分割模型即可排序可疑标注错误。
度量 LLM 代码生成中提示结构的代价
在 DS-1000 与 SWE-bench Lite 上比较三级提示结构,发现结构只提升可执行性与格式合规,未必提升任务正确性。
UCT:基于统一中间表示的多用途代码翻译框架
提出统一中间表示 CIR,使同一模型一次翻译即可支撑仿真、测试、验证与部署等多种下游任务。
面向 Alloy 模型的公式补全建议与选择引导
为 Alloy 公式构建补全建议框架,并利用 Alloy 自动引导用户选择最符合意图的补全。
神经符号需求获取:利用形式验证反例作为上下文提示
提出 C-GRiD 神经符号框架,用模型检测反例引导 LLM 迭代完善需求规约。
MACO-AI:通过注解与内建函数实现的多智能体代码优化
提出可复用的多智能体优化 skill,将源码改动限制在注解与 intrinsics 上,实现有界、可审计的仓库级代码优化。
显化需求任务中的隐式依赖:一种融合代码感知与变更分析的自动化方法
提出基于大语言模型的影响范围分析工具 AIST,自动解析需求、检索代码上下文并结合变更信息生成影响范围报告。
ScratchLog+:学习者练习进度的实时分析
扩展 ScratchLog,结合 Whisker 测试与代码嵌入模型,实时可视化学习者在目标导向练习中的编程进度。
正确性是相对于谁的?审计 LLM 生成测试实际检验了什么
提出 ScenarioBench 基准,审计 LLM 生成测试是否覆盖开发者真正关心的场景,并揭示其可能带来虚假安全感。
没有孤立演化,没有盲目搜索:面向工业多智能体漏洞检测的记忆引导提示协同演化
提出记忆引导的多智能体提示协同演化框架MemCo,提升工业漏洞检测精度并大幅降低token开销。
SustainSR:通过符号回归实现可解释的开源软件可持续性预测
提出基于符号回归的可解释 OSS 可持续性预测方法,学习显式表达式并量化特征交互。
RealAIGC:面向真实代码仓库中AI生成代码检测的更真实评估
构建源自GitHub真实开发历史的AIGC检测基准,支持多粒度检测,并对28种方法进行实证评估。
ReSEDA:通过过程间污点分析与智能体化漏洞利用生成实现自动且精确的程序级 ReDoS 分诊
结合过程间污点分析、SMT 求解与 LLM 智能体,自动判定并生成可触发 ReDoS 的可执行 PoC。
HyBinMAS:LLM 驱动的混合分析用于去符号二进制函数名恢复
将去符号二进制函数名恢复重构为证据驱动的语义状态迭代更新,用多智能体混合静态与动态证据提升跨架构恢复效果。
迷失在自动化规约中:系统测试中的时空奥德赛(主题演讲)
回顾系统测试中自动化规约模型的演进,指出规格缺失、系统复杂化等假设崩塌,并展望新工具驱动的自动化系统测试未来。
幻影修复:多故障并发程序中的故障交互歧义
揭示并发程序故障交互依赖调度,导致仅靠调度相关掩盖消除失败的“幻影修复”,使基于测试的修复判据不可靠。
无签名之密钥:用于在还原的 JavaScript 中发现逻辑定义型泄露的 LLM 智能体
提出 SwS,用多提示 LLM 工作流在还原的生产 JavaScript 中检出无固定格式、由使用逻辑定义的密钥泄露。
Prism:面向仓库级问题修复的多解推理与合成框架
提出多解推理与合成框架 Prism,通过全局/局部探索与多智能体合成提升仓库级问题修复的通过率。
评估使用多模态 DSL 的 ViewModel 测试的可维护性:一项工业界混合方法研究
工业混合方法研究实证表明,以多模态 DSL 将 GUI 测试抽象到 ViewModel 层可降低测试维护开销。
Android AR 应用中数据访问实践的实证研究:理解用户隐私风险
对179款Android AR应用开展实证与静态分析,揭示敏感数据未披露访问及最小权限违规等隐私风险。
从自动程序修复到自动智能体修复:为何失败的轨迹重要
首个基于执行的失败编码智能体轨迹审计,表明失败轨迹保留大量可恢复价值,为以轨迹为中心的自动智能体修复奠基。
面向移动应用的上下文隐私政策自动生成方法
提出 SeePrivacy 多模态框架,从移动截图检测隐私上下文并检索展示对应政策片段。
超越基准:LLM 生成的 Verus 规约在 Asterinas Vostd 上的失败案例研究
通过工业内核验证项目案例研究,揭示 LLM 生成的 Verus 规约呈四阶段系统性失败,诊断与修复常失效。
面向链上攻击的轨迹驱动自动化 PoC 合成
提出 TracExp,从交易轨迹自动合成智能合约攻击 PoC,结合反编译与草图合成并由 LLM 生成可验证代码。
HERO:以假设为中心的微服务故障根因分析
提出以假设为中心的LLM根因分析框架HERO,通过信念跟踪与歧义引导证据采集,显著提升微服务故障诊断准确率。
最大格式无关数据修复
提出 βMAX,一种无需格式规范、最大化数据恢复且对解析器约束更少的数据修复算法。
输入生成逻辑中的混合模糊测试
提出混合生成器空间模糊测试,以生成器为求解单元并用LLM推导新生成器,提升语法有效性与语义多样性。
CiL-Agent:面向内存安全 C 程序修复的编译器在环 LLM 智能体
把 GCC、Clang 静态分析器与 Valgrind 嵌入 LLM 生成回路,以结构化三维反馈修复 C 程序的内存安全缺陷。
Refine2Diff:通过规约驱动的代码精化检测协议规约与实现的不一致性
提出 Refine2Diff,用规约驱动代码精化构造参考实现并生成 PoC,自动检测网络协议规约与实现的不一致性。
零知识虚拟机:实践中的安全性与可用性
首个对生产级零知识虚拟机安全漏洞与可用性问题的系统性实证研究,揭示漏洞类别、高价值攻击面与用户痛点。
挖掘策略以实现自动定理证明
用 LLM 从证明语料中挖掘可复用符号 tactic 并集成到符号证明器,从而提升自动定理证明能力。
DesignFix:上下文增强的设计规则违规修复
DesignFix 通过注入规则说明、项目示例与结构上下文,用两步 LLM 流程为设计规则违规生成可审查的修复。
注意差距:广泛使用的 SAST 工具真的覆盖了语言特定的 Top CWE 吗?
大规模实证揭示主流 SAST 工具对 C/C++、Java、Python 语言特定 Top CWE 的覆盖缺口与工具差异。
基于运行时上下文推理的证据支撑型智能合约逻辑漏洞检测
提出 RcAudit,用运行时上下文增强 LLM 推理来检测智能合约中的业务逻辑漏洞。
DT-Drive:面向自动驾驶系统确定性回放测试与调试的工具
提出 record-modify-replay 框架,解耦自车与记录场景,实现确定性 ADS 评估、自车注入与反事实回放。
危险是一种反事实:迈向自动驾驶系统可证伪的连续测试预言机
提出用反事实重模拟衡量自动驾驶测试危害,构建可证伪连续预言,并揭示被二值判定掩盖的安全风险。
代码 LLM 的无优化修复:一种闭式 Fisher 引导的贝叶斯方法
提出 FISR,用 Fisher 信息矩阵引导的闭式贝叶斯后验更新修复代码 LLM,兼顾准确、稳定与高效。
铁路控制软件的提交时连续认证测试:经验报告
分享工业环境下铁路控制软件在提交时进行连续认证测试的 CI 方案:隔离执行环境、多 runner 模型与异构日志聚合。
信任 Delta:重思 AI 时代的软件验证(主旨报告)
提出以行为差异(delta)为中心的变更验证范式,将验证目标从绝对正确性转为确认变更符合意图。
重新审视LLM在真实世界软件开发实践中的新功能实现
构建贴近真实实践的新功能实现基准NFEI,分阶段评估LLM并揭示其能力瓶颈与失败模式。
PropGen:面向移动应用基于属性测试的自动化属性生成
提出PropGen,用LLM从GUI状态推断并验证应用功能,合成与精化属性以自动进行移动应用属性测试。
TraceGate:面向 LLM 辅助程序修复的策略控制失败证据框架
提出 TraceGate:以可配置策略控制崩溃证据的采集、选择与披露,提升 LLM 辅助程序修复效果并支持成本-收益可复现研究。
CIPIHunter:检测深度学习框架中由配置引发的预测不稳定性
提出 CIPIHunter,通过配置对测试、敏感性变异、反馈搜索与中间追踪定位深度学习框架由配置引发的预测不稳定(CIPI)。
IoTutorMine:从物联网教程视频中挖掘硬件物料清单的工具
提出 IoTutorMine,用视频转录与零样本大语言模型从 IoT 教程视频中提取结构化硬件物料清单,并发布基准与 Web 原型。
OpsLens:通过多智能体协作与工具管理实现免 Runbook 的根因分析
提出免运行手册的多智能体根因分析框架,借助工具质量管理提升跨模态诊断的准确率与可迁移性。
GoLiSA:用于检测 Hyperledger Fabric 智能合约潜在风险与漏洞的高级静态分析工具
GoLiSA 是基于抽象解释的静态分析工具,用于检测 Hyperledger Fabric Go 智能合约中的潜在风险与漏洞。
MERA:面向移动操作系统 Beta 测试用户工单严重性评估的多专家 LLM 框架
MERA 用三个轻量专家分别建模用户意图、系统上下文与历史先例,融合证据实现可审计的 Beta 工单严重性自动分级。
视觉–语言模型的多模态边界测试
通过强制解码候选答案构造边界邻近信号,实现对视觉-语言模型图像与文本两模态的边界测试。
安全地对运行中的 x86-64 程序进行多站点二进制插桩
DIBE 在并发执行下安全地对运行中的 x86-64 程序进行多站点二进制修补,常见情况下无需陷入线程。
在代码生成中对齐用户需求与大语言模型
提出 REA-Coder,通过识别并改写 LLM 难以对齐的需求内容,迭代对齐与生成,提升代码生成正确性。
在翻译中迷失,在摘要中找回:面向跨语言代码检索的摘要驱动监督
提出 SemSIR,用摘要中间表示构建跨语言监督,并结合分布对齐与对比学习提升跨语言代码检索。
通过类型化工具中介与世界效应评估实现安全的 LLM 智能体执行
提出 AgentOS,用类型化工具中介 VTRM 与宿主侧世界效应评判器,在保持良性任务效用的同时阻断 LLM 智能体的有害世界效应。
Free Is More:通过无 issue 轨迹学习与熵感知 RLVR 训练增强软件智能体
提出 SWE-Fuse,用无 issue 轨迹微调与熵感知裁剪 RLVR 提升软件智能体修复真实问题的能力。
FlightRecorder:追踪 AI 助手参与下的细粒度开发
提出 VSCode 扩展 FlightRecorder,细粒度追踪 AI 助手与开发者的代码演化数据。
WiDepFuzz:基于字段依赖模型发现移动热点中的 Wi-Fi 协议缺陷
提出基于字段依赖模型的 Wi-Fi 模糊测试框架 WiDepFuzz,高效发现移动热点协议缺陷。
PCodeTrans:将反编译伪代码翻译为 trace 级等价的源代码
用重编译—验证—对齐的动态反馈闭环引导 LLM 修复反编译伪代码,使其可重编译并通过测试等价验证。
超越首次崩溃:交互感知的多故障模糊测试
提出 CoFuzz,用探针机制增量构建故障交互图,将模糊测试从收集孤立崩溃转向揭示多故障的掩蔽、级联与协同结构。
PELSE:非对称证据引导的 MCU 外设模型合成
结合厂商手册语义与固件二进制执行证据,自动合成可执行的 MCU 外设模型,提升固件重宿主保真度。
AI 在事件响应中究竟何时真正有帮助?识别云服务事故中的优质首条消息
基于5个云服务四年数千起生产事故,定义并实证刻画「优质首条消息」(GFM),并提出 LLM 排序器 σ-rank 自动将其顶到前列。
利用代码语言模型中的不确定性:来自漏洞检测的经验教训
系统实证研究代码语言模型漏洞检测中的不确定性估计,揭示校准与不确定性增强方法的有效性依赖模型规模与标签条件建模。
DynCA:一种用于高度可配置系统 3-wise 组合交互测试的有效算法
提出 DynCA 算法,为高度可配置系统高效生成更小规模的 3-wise 覆盖数组。
ABACI:基于语义感知二分与收敛式回溯移植的自动化下游缺陷修复
ABACI 用语义感知二分定位上游修复补丁,并通过依赖发现与 LLM 适配实现自动回溯移植。
理解 AddressSanitizer 在真实程序中的性能—有效性权衡:一项实证研究
对 ASan 与七种优化型 sanitizer 进行统一的部署导向实证比较,量化其性能、检出与部署权衡。
指挥式编码:一种面向 AI 加速软件开发的方法论框架
提出“指挥式编码”方法论,用传统软件工程管理原则编排 AI 编码智能体,并在生产项目中实现 25–40× 加速。
面向浮点程序分支覆盖的自适应并行测试
DynaFlow:自适应并行的浮点分支覆盖测试框架,通过路径约束优先级与动态资源分配,大幅提升覆盖率与求解速度。
利用迭代器剖面(iterator profile)为演绎验证生成循环不变式
提出迭代器剖面这一可复用的循环不变式模板,并实现工具 LoopAnnotator 自动为基于迭代器的循环生成不变式。
SPSYN:通过语义恢复与状态引导搜索合成 DeFi 价格操纵利用
结合 LLM 语义恢复与状态引导搜索,在具体链上快照合成可获利的 DeFi 价格操纵利用。
CADscanner:面向工程环境中已编译 AutoCAD 脚本的恶意软件分析自动化
提出 CADscanner,无需上云或人工逆向即可本地恢复 FAS/VLX 编译脚本的行为内容并自动检测恶意脚本。
使漏洞概念验证(PoC)可信且可用:从经验诊断到操作验证
首次将漏洞 PoC 可用性作为核心问题,构建四阶段流水线诊断并修复生态,显著提升可复现、补全、关联与跨版本验证指标。
ChangeWiki:架构语义增强的仓库级变更摘要
提出架构语义增强的仓库级变更摘要方法,支持跨提交、多粒度且可追溯的演化理解。
UIXPOSE:面向安全感知 Android GUI 探索的屏幕条件化运行时差异分析
提出屏幕条件化运行时差异信号,引导 Android GUI 探索走向更具安全审查价值的状态。
OrthCoder:通过正交适配在安全代码生成中平衡安全性与实用性
提出双 LoRA 子空间解耦框架 OrthCoder,用正交性约束缓解安全对齐导致的“安全税”。
大型语言模型能将用户故事分解为任务吗?探索提示策略与模型的作用
提出 DELTA,用 LLM 将用户故事自动分解为任务,并比较提示策略与模型,用专家评估验证质量评判。
Baseliner:一个面向插件的、硬件无关的 GPU 基准测试库
提出 Baseliner——插件化、硬件无关的 GPU 基准测试框架,解耦工作负载定义与测量编排,并支持跨工具链复用同一 Workload。
LLM 辅助的工单与日志联合分析:面向智能网联汽车的事件分级
提出 InsightTriage,用 LLM 联合分析用户查询与车辆日志,实现可解释的自动化事件分级
BanditFuzz:面向编译器的协同差分模糊测试框架
提出 BanditFuzz,融合 LLM 提示调度、修复、AST 变异与差分测试,高效发现编译器缺陷。
2025389 篇 · 2025 40th IEEE/ACM International Conference on Automated Software Engineering (ASE)
当 AllClose 失效时:深度学习程序的舍入误差估计
提出 Render,用动态区间算术与舍入误差分析估计最大舍入误差,区分可接受误差与实现缺陷。
迈向更精确的 Linux 内核污点式缺陷检测静态分析
提出 BugLens,用结构化 LLM 推理对静态分析告警进行后精化,将 Linux 内核污点式缺陷检测精度从 0.10 提升至 0.72。
LLM 辅助的高保障 C 程序合成
提出 SynVer,用两个 LLM 分别合成 C 程序候选并生成 Rocq/VST 正确性证明,实现高保障 C 程序合成。
面向 Move 程序的智能体式规约生成器
提出 Msg,面向 Move 智能合约自动生成可验证规约,84% 函数成功,可验证子句提升 57%。
基于事实对齐与模板约束的 LLM 静态分析器规则增强
提出 RuleRefiner,用 LLM 多阶段精化静态分析器检测规则,从根本上减少误报与漏报。
ACTaint:基于智能体的智能合约访问控制漏洞污点分析
提出基于LLM多智能体的污点分析系统ACTaint,用于检测Solidity智能合约访问控制漏洞。
连接自然语言与形式规约——使用LLM通过层次语义分解自动将软件需求翻译为LTL
提出Req2LTL,用LLM分层语义分解与规则合成将自然语言需求自动翻译为LTL。
PAT-Agent:面向模型检测的自动形式化
提出 PAT-Agent,结合 LLM 规划、代码生成、PAT 模型检测与反例修复,实现自然语言到可验证形式模型的端到端自动形式化。
面向精确类型错误检测的大语言模型反射式单元测试生成
提出 rTED,用类型约束分析与反射验证引导 LLM 生成单元测试,精准检测 Python 类型错误并降低误报。
RFCAudit:用于审计协议实现是否符合 RFC 规范的 AI Agent
提出基于 LLM 的自主审计 agent,检查协议实现与 RFC 规范的一致性,在六个真实实现中发现 47 个功能缺陷。
带局部结构的信念传播及其在程序分析中的应用
提出利用局部结构编码因子加速环状信念传播,并用于程序分析。
LineBreaker:用大语言模型发现 Token 不一致性缺陷
首次系统评测 LLM 检测 Token 不一致性缺陷的能力,并提出级联检测系统 LineBreaker,提升精度、召回与可扩展性。
STaint:用LLM辅助的双向静态污点分析检测PHP应用中的二阶漏洞
提出LLM辅助的双向静态污点分析方法STaint,精确建模自定义数据库读写,检测PHP二阶漏洞。
Spec2Code:将协议规范映射到函数级代码实现
提出首个LLM驱动的函数级协议规范到代码映射框架,支持细粒度一致性检查并发现真实不一致。
Watson:面向 LLM 智能体推理的认知可观测性框架
提出认知可观测性概念与 Watson 框架,用提示归因回溯推断 LLM 智能体的推理轨迹,以支持调试与纠正。
我们解决智能合约中的访问控制漏洞检测了吗?一项基准研究
构建180个真实访问控制漏洞基准,系统评测SOTA工具与LLM,揭示检测盲区并倡导混合方法。
LLM 智能体工作流编排框架中的缺陷特征研究
首个针对 LLM 智能体框架缺陷的大规模实证研究,给出九类根因与六类症状的分类体系。
揭示大语言模型在依据自然语言规约验证代码时的系统性失败
发现并分析 LLM 判断代码是否满足自然语言规约时存在系统性误判,并提出缓解提示策略。
ErrorPrism:重建云服务系统中的错误传播路径
提出 ErrorPrism,结合静态分析与 LLM 智能体,自动重建微服务中从日志到根源的完整错误传播路径。
将命令式深度学习程序推测式自动重构为图执行
提出推测式自动重构方法,用静态张量与副作用分析将命令式深度学习函数转为图执行以提升性能。
探索 LLM 中的静态污点分析:面向测量与增强的动态基准框架
提出 LLMCapLens 动态基准生成框架,系统测量并增强 LLM 的静态污点分析能力。
VERT:基于大语言模型的多语言可验证等价 Rust 转译
结合大语言模型与模型检测,将任意可编译到 WebAssembly 的语言转译为等价且地道的 Rust。
Cryptbara:依赖引导的 Python 密码学 API 误用检测
结合静态依赖分析与依赖上下文引导的 LLM 推理,精准检测 Python 密码学 API 误用。
我们应该在开源系统上评估基于 LLM 的安全分析方法吗?
通过开源与闭源数据集的对照实验,首次实证表明基于 LLM 的漏洞检测在开源基准上的评测结果会因数据污染而被显著高估。
当控制流偏离:基于概率可达性分析的定向灰盒模糊测试
提出面向COTS二进制的定向灰盒模糊测试工具BinGo,用贝叶斯概率可达性应对不精确CFG,提升目标可达与漏洞发现。
修复断裂的计算图:面向 DNN 程序的 LLM 驱动自动代码优化
提出多智能体系统 GraphGlue,用 LLM 修复导致深度学习编译器计算图断裂的代码,从而提升推理性能与显存效率。
BitsAI-Fix:面向实践的LLM驱动自动化lint错误修复方法
提出基于LLM的自动化lint修复工作流,结合渐进式强化学习与规则奖励,在字节跳动大规模落地并达到约85%修复准确率。
Loupe:为抽象解释端到端地学习循环展开启发式
提出 Loupe,用图神经网络从程序图表征端到端学习抽象解释中的循环展开启发式,减少误报并提升分析性能。
Defects4Log:面向日志代码缺陷检测与推理的 LLM 基准测试
构建日志代码缺陷分类体系与基准数据集 Defects4Log,系统评估 LLM 检测与推理日志代码缺陷的能力。
基于 LLM 驱动迭代代码图搜索的 Issue 定位
提出免训练免索引的 COSIL,用两阶段代码图搜索实现函数级 Issue 定位。
PromFuzz:利用 LLM 驱动与面向缺陷的复合分析检测智能合约中的功能缺陷
提出 PromFuzz,用双智能体 LLM 定位可疑函数、生成不变式检查器并做面向缺陷的模糊测试,高效检测智能合约功能缺陷。
让代码说话:融入程序动态状态的方法级缺陷定位
提出 PingFL,用 LLM 智能体结合打印调试获取动态程序状态,显著提升方法级缺陷定位精度。
SSR:通过定义与检测 DeFi 质押中的逻辑缺陷来保护质押奖励
首次系统定义 DeFi 质押的六类逻辑缺陷,并提出结合 LLM 与静态分析的检测工具 SSR。
RustAssure:面向 LLM 转译 C-to-Rust 代码的差分符号测试
用 LLM 将 C 代码转译为 Rust,并通过差分符号测试验证转译结果与原代码的语义等价性。
PALM:协同程序分析与LLM提升Rust单元测试覆盖率
结合程序分析提取路径约束与LLM生成Rust高覆盖率单元测试,并在开源crate上验证及提交补丁。
BinStruct:结合静态分析与语义的二进制结构恢复
提出 BinStruct 框架,融合静态引用/调用模式与 LLM 语义,从二进制中恢复文件与模块两级结构。
SGCR:面向可信 LLM 代码审查的规约锚定框架
提出双通路 SGCR 框架,将 LLM 代码审查锚定于人工规约以生成可信反馈,工业部署中采纳率相对提升 90.9%。
LLM Agent 应用中的安全债:漏洞与缓解权衡的测量研究
首个针对 LLM Agent 应用漏洞的系统测量研究,归纳 14 类漏洞、16 种根因并评估缓解策略的权衡。
TreeRanker:面向 IDE 代码建议的快速且模型无关的排序系统
提出 TreeRanker:将静态补全组织为前缀树并单次贪心解码打分,实现快速、模型无关的补全排序。
Lares:面向补丁存在性测试的LLM驱动代码切片语义搜索
提出Lares,用LLM与SMT从补丁源码向目标二进制伪代码做代码切片语义搜索,实现免编译的补丁存在性测试。
面向代码模型训练的程序覆盖率评估
提出 Coverage Tree 表示与工具,评估 COBOL 程序集的语法覆盖度,并自动生成语句填补未覆盖语法。
通过使神经元失稳生成具有挑战性的神经网络验证基准
提出 ReluSplitter,通过语义保持地使稳定神经元失稳,自动生成难度可调且真值可验证的 DNN 验证基准。
刻画多 Hunk 补丁:差异性、邻近性与 LLM 修复挑战
提出 hunk divergence 与空间邻近性度量,刻画多 hunk 补丁并揭示 LLM 修复成功率随差异性与分散度上升而下降。
FlakyGuard:在工业规模上自动修复不稳定测试
将代码视为图结构并选择性探索,为 LLM 精准提供修复 flaky test 所需的上下文,实现工业规模自动修复。
利用专家混合框架与大型语言模型进行智能合约漏洞修复
提出 MoEFix,用专家混合架构为各类漏洞训练专门专家,并由漏洞感知路由器动态分配修复,端到端生成安全合约。
受漏洞影响的版本识别:我们进展如何?
首个对漏洞影响版本识别工具的大规模实证研究,构建基准并揭示现有方法准确率普遍低于45%的局限。
VeriExploit:基于LLM与形式化方法的智能合约漏洞自动复现
结合形式化方法与LLM,自动生成并验证智能合约漏洞的复现合约与攻击轨迹。
LLM 辅助的 Linux 发行版软件包不兼容性工业级差分测试
提出基于 LLM 的差分测试方法 Versify,在工业规模上帮助 Linux 发行版维护者定位版本升级与迁移中的软件包不兼容。
深度神经网络的可证明公平性修复
提出 PROF 框架,利用区间界传播与 MILP 求解,为 DNN 公平性修复提供可证明保证并提升泛化。
Amur:以资源流分析引导的多资源泄漏修复
提出 Amur,用流敏感、跨资源感知的资源流分析引导 LLM,为单资源与多资源泄漏生成语义保持的修复补丁。
PEACE:通过混合代码编辑实现高效的项目级效率优化
提出项目级代码效率优化框架 PEACE,通过依赖感知的混合代码编辑在保证正确性下提升执行效率。
LLMPort:基于任务分解与自我纠正的跨文件补丁移植
提出 LLMPort,通过任务分解与自我纠正实现跨文件安全补丁移植,在 Java/C 补丁上优于现有方法。
面向编程作业的可解释故障定位:基于 LLM 引导标注
提出 FLAME,用 LLM 引导标注与多模型加权投票实现编程作业细粒度可解释故障定位。
通过 Lowering 空间探索发现 MLIR 编译器基础设施中的缺陷
提出 lowering 空间探索技术,动态构造多样 lowering 路径并比较执行结果,自动发现 MLIR 中的缺陷。
OpenID Connect 程序的自动修复
提出反例引导的 OIDC 自动修复引擎 AuthFix,结合 LLM 合成补丁并以 Petri 网模型检测验证,修复 23 个缺陷中的 17 个。
面向安全研究人员与从业者的 AI 二进制函数相似性检测技术大规模研究
首个大规模实证研究,构建两个高质量数据集,评估九种 AI 二进制函数相似性检测工具并提出组合策略。
增强 LLM 将优化后的 PTX 反编译为面向张量程序的可读 CUDA
提出 PtxDec,用编译器数据增强与循环重卷中间表示,显著提升 LLM 将优化 PTX 反编译为可读 CUDA 的准确率。
统计中的缺陷
提出基于 SIR 的静态检查技术,并实现首个统计学 linter stat-lint,用于发现数据科学程序中的统计最佳实践违规。
从冗余到效率:利用共享 UI 交互实现高效的基于 LLM 的测试
提出 TestWeaver,通过复用 LLM 对共享 UI 交互的决策,降低基于 LLM 的 UI 测试成本并提升效率。
自动修复缺失依赖错误
提出 MDfixer,通过识别 Makefile 的依赖声明风格并生成同风格补丁,自动修复缺失构建依赖错误。
SMTgazer:通过贝叶斯优化学习调度 SMT 算法
将 SMT 求解器调度建模为超参数优化,用贝叶斯优化与集成代理实现多求解器序列组合。
FirmProj:通过伴侣应用分析检测 IoT 固件更新过程中的固件泄露
结合静态分析与大模型自动审计 IoT 伴侣应用,揭示固件更新中的泄露漏洞并获得 35 个 CVE。
LitterBox+:一个可扩展的、LLM 增强的 Scratch 静态代码分析框架
将积木式 Scratch 代码转为文本表示并接入 LLM,扩展 LitterBox 静态分析以支持问答与自动修复。
理解软件工程智能体:对“思考-行动-结果”轨迹的研究
首次大规模实证研究LLM软件工程智能体的“思考-行动-结果”轨迹,揭示成功与失败的行为模式与反模式。
利用 LLM 推理检测各类 DeFi 价格操纵
提出首个基于 LLM 的 DeFi 价格操纵检测方法 DeFiScope,支持标准与自定义价格模型。
LLM 能生成有用的测试预言吗?一项基于无偏数据集的实证研究
用训练截止后创建的无偏数据集实证表明,LLM 生成的测试预言变异得分接近人工预言。
澄清用于单元测试生成的上下文示例的语义
提出 CLAST,结合程序分析与 LLM 重写精炼单元测试,提升其作为上下文示例的语义清晰度与 ICL 生成效果。
通过精确上下文注入增强 LLM 生成更具仓库感知能力的单元测试
RATester 借助语言服务器动态查找定义与文档,为 LLM 注入仓库级上下文以生成更优单元测试。
基于元提示调优LLM代码优化:工业视角
提出Mpco框架,用元提示自动生成跨LLM的代码优化提示,在五个真实代码库上实现最高19.06%的性能提升。
结合LLM与基于搜索的测试自动生成问题复现测试
提出BLAST,结合LLM与搜索式测试从issue-patch对自动生成问题复现测试,优于SOTA并经真实仓库部署验证。
面向模型上下文协议生态与安全分析的大规模可演化数据集
发布 MCPCORPUS 数据集,含约 1.4 万 MCP 服务器与 300 客户端,支持 MCP 生态与安全分析。
检测未见功能的语义克隆
揭示神经语义克隆检测在未见功能上性能骤降,并提出对比学习提升任务模型与 LLM 的泛化能力。
iCodeReviewer:利用混合提示(Mixture of Prompts)改进安全代码审查
提出基于LLM的混合提示架构与路由算法,提升安全代码审查中安全问题识别与定位的精度和覆盖率。
探索自主智能体:深入剖析它们在完成任务时为何失败
构建 34 个可编程任务基准,评测 LLM 自主智能体并给出三层失败原因分类与改进建议
SATORI:面向 REST API 的静态测试预言生成
用大语言模型分析 OpenAPI 规范静态推断 REST API 的测试预言,F1 达 74.3%,发现 18 个真实缺陷。
RustRepoTrans:面向 Rust 的仓库级上下文代码翻译基准
提出首个面向 Rust 的仓库级上下文增量代码翻译基准 RustRepoTrans,含 375 个任务与细粒度评测框架。
面向基于LLM代码生成的歧义问题描述自动修复
将歧义自然语言描述的修复分解为解释分布的测试与程序修复、以及对比式规约推断,提升LLM代码生成正确率。
通过学习神经归纳与基于工具的演绎交替进行项目级后续代码编辑
TRACE 交替使用神经归纳预测语义编辑与工具演绎预测语法编辑,提升项目级代码编辑的范围、准确率与效率。
通过上下文-内容融合与LLM验证推进二进制代码相似性检测
提出融合函数上下文与内容相似度、并用LLM验证候选的二进制代码相似性检测框架Co2FuLL,兼顾精确率、召回率与可解释性。
量子线路的精确推断:面向量子软件栈的测试预言
提出 QASMInfer,为 OpenQASM 量子线路提供精确概率推断,作为量子软件栈的统一测试预言,发现 31 个缺陷。
通过结构熵度量大语言模型代码生成的稳定性
提出基于AST子树结构熵的无参考指标,用JS散度与结构交叉熵比刻画LLM代码生成的稳定性与一致性。
穿越迷宫:基于大语言模型的路径敏感单元测试生成
提出 JUnitGenie 框架,将代码知识与 LLM 语义能力结合,实现路径敏感的高覆盖单元测试生成。
在工业环境中评估大语言模型生成功能性与可维护代码:ASML 案例研究
通过在 ASML 专有代码库上的案例研究,提出 build@k 指标,评估 LLM 在封闭工业环境中生成可用代码的能力。
RFCScope:检测互联网协议规范中的逻辑歧义
首次系统研究 RFC 逻辑歧义,并提出基于 LLM 的可扩展检测框架,发现 31 处新歧义。
基于增强 UML 序列图的数据依赖感知代码生成
提出 UML2Dep 框架,用增强 UML 序列图显式建模并结合数据依赖推断,提升 LLM 从复杂需求生成代码的可靠性。
使用分阶段分组与去幻觉增强 LLM 以进行头文件分解
提出 HFDecomposer,用两阶段分组与去幻觉增强 LLM,实现大型头文件的准确可靠分解。
面向可靠代码生成的需求开发与形式化:一种多智能体愿景
提出首个基于需求开发与形式化的多智能体框架 ReDeFo,以形式规约衔接自然语言需求与可执行代码,保障生成代码可靠性。
多 Schema 一致的声明式代码生成
提出让 LLM 为每段代码自动选取合适 Schema 并受约束生成的框架,实现多 Schema 合规的声明式代码生成。
面向商业通信模块的 LLM 辅助协议模糊测试工业实践
提出 FuzzCM,用 RAG 增强 LLM 自动生成协议模糊测试模板,结合 GPIO 覆盖率与混合变异,在商业通信模块发现 21 个新缺陷。
为支付宝超级应用中数百万去中心化身份提供安全:端到端形式化验证
首次对支付宝实际部署的 IIFAA DID 协议做从设计到实现的端到端形式化验证,发现并修复安全缺陷。
基于大语言模型的框架式并行代码补全的评估与改进
定义框架式并行代码补全任务并构建数据集,提出课程式微调框架 HPCL 显著提升大模型补全性能。
ReFuzzer:反馈驱动方法提升LLM生成测试程序的有效性
提出ReFuzzer,用本地LLM反馈循环修正生成程序,将编译器模糊测试程序有效率提升至约97%并提高覆盖率。
SPICE:面向问题清晰度、测试覆盖与工作量估计的自动化 SWE-Bench 标注流水线
提出 SPICE 自动化流水线,为 SWE-bench 风格数据集标注问题清晰度、测试覆盖与工作量,将标注成本降低约 2 万倍。
迈向自动化治理:面向软件项目中人类与代理协作的DSL
提出面向人类与AI代理协作的软件项目治理DSL愿景,以定义并执行丰富治理政策。
为复用而接线:通过基于 LLM 的智能体在 IDE 中自动化上下文感知的代码适配
提出 WIRL,用 LLM 智能体把粘贴代码中未解析变量按上下文自动替换,精确匹配精度达 91.7%。
FaultSeeker:面向区块链交易故障定位的 LLM 赋能框架
提出两阶段多智能体 LLM 框架 FaultSeeker,实现多合约区块链交易的故障定位,显著超越现有工具与原生 LLM。
DeepExploitor:LLM 增强的混合应用 DeepLink 攻击自动化利用
首个针对 DeepLink 攻击的自动利用生成框架,用 LLM 求解路由约束并变异可信域名绕过白名单防御。
基于检索增强生成的配置依赖验证自动化
提出用RAG验证配置依赖,并发现需按失败分析定制上下文才能显著提升LLM验证效果。
AppBDS:面向移动应用中敏感行为的 LLM 驱动描述合成
融合程序分析与大语言模型,为移动应用敏感行为自动生成细粒度解释,弥补应用描述与权限说明的缺失。
RAML:面向 Android 应用中恶意载荷的检索增强定位
提出 RAML,用检索增强与 LLM 从高层行为描述出发,自动定位 Android 应用中的恶意载荷。
真实世界中的增量程序分析:关于真实程序变更的实证研究
构建真实程序变更基准与统一评估框架,实证揭示增量程序分析工具的效率优势与内存、一致性缺陷。
面向多故障自动程序修复的交互感知补丁评估
提出首个多故障场景下补丁评估与过拟合的形式化框架,给出五种故障交互感知的评估策略分类。
基于LLM增强代码表示的通用指令脆弱性预测
提出CIVP框架,利用LLM语义嵌入、指令执行图与增强GraphSAGE,实现无需重训即可预测未见过程序的指令级脆弱性。
BuilDroid:面向自动化 Android 构建的自校正 LLM 智能体
BuilDroid 用自校正 LLM 智能体自动修复 Android 构建错误,在 245 个开源项目上达到 90.2% 成功率。
Triangle:基于多智能体的事件分诊
提出多智能体事件分诊系统 Triangle,以语义蒸馏和协商机制提升云服务分诊准确率并降低参与时间。
LogSage:一个基于 LLM 的 CI/CD 故障检测与修复框架及工业验证
提出首个端到端 LLM 驱动的 CI/CD 故障根因分析与自动修复框架,并完成一年工业级部署验证。
为什么 AI 智能体仍然需要你:来自真实开发者-智能体协作的实证发现
通过观察 19 名开发者与 IDE 内智能体协作修复 33 个 issue,揭示增量交互与迭代协作更易成功。
LongCodeZip:为代码语言模型压缩长上下文
提出面向代码 LLM 的双阶段即插即用上下文压缩框架,最高达 5.6× 压缩比且不损失任务性能。
CoorLog:通过自适应协调器在软件演化中实现高效且可泛化的日志异常检测
提出 CoorLog,用自适应协调器协同小模型与 LLM 检测日志异常,兼顾泛化性与效率。
非终止性见证及其验证
提出支持程序非终止性的 witness 格式 2.0 扩展,并给出生成、验证方法及工具评估。
AutoPLC:为可编程逻辑控制器生成厂商感知的结构化文本
提出 AutoPLC,通过厂商知识库与四阶段 LLM 流程,从自然语言需求自动生成可编译的厂商感知 PLC 结构化文本代码。
为 Android 应用已报告缺陷的测试生成基于失败的测试预言
提出基于 LLM 的 AndroB2O,为 Android 缺陷报告自动生成断言式失败测试预言。
AgentDroid:一个用于检测欺诈性 Android 应用的多智能体工具
提出基于多模态分析与多 LLM 智能体协作的 Android 欺诈应用检测工具,准确率达 91.7%。
LLMorph:大语言模型的自动化蜕变测试
提出 LLMorph,基于蜕变测试自动检测 LLM 在 NLP 任务中的不一致与错误行为,无需人工标注。
面向 GR(1) 可实现性检查的演化感知启发式方法
提出演化感知的 GR(1) 可实现性检查启发式,复用先前检查的中间数据加速迭代开发中的检查。
LLM 引导的遗传改进:迈向语义感知的自动化软件演化
提出用 LLM 编辑聚类为遗传改进注入语义信号,并以 PatchCat 初步验证其可行性与效率收益。
以自动化驯服不确定性:智能体 AI 系统的观察、分析与优化
提出 AgentOps 框架,用六阶段自动化流水线观察、分析与优化 Agentic AI 系统以驾驭不确定性。
对齐大语言模型以充分利用仓库级代码补全中的跨文件上下文
提出数据驱动的 CoLA 方法,通过构建长上下文仓库级补全数据集与两阶段训练,让 LLM 学会利用跨文件上下文。
面向 LLM 程序修复的分层知识注入
提出分层知识注入框架,用 Bug、仓库、项目三层上下文逐步增强 LLM 程序修复。
IntelliTopo:面向工业网络拓扑构建的 IaC 生成服务
提出首个面向工业网络拓扑构建的 IaC 生成框架,通过语义拓扑解析与领域感知镜像检索增强 LLM,将部署时间从天缩短到小时。
状态字段覆盖率:一种衡量测试预言(oracle)质量的度量
提出状态字段覆盖率,静态度量测试预言对对象状态字段的检查比例,用以评估预言质量。
Vul-R2:面向自动化漏洞修复的推理型大语言模型
用领域推理数据与课程式可验证奖励强化学习训练推理 LLM,实现自动化漏洞修复。
KAIOPS:面向大规模 AI 训练的端到端多模态 AIOps 平台解决方案
提出 KAIOPS,一个用于大规模 AI 训练集群的端到端多模态 AIOps 平台,实现异常检测、根因分析与修复方案生成。
LLM 用于 Java 自动化单元测试生成与评估:AgoneTest 框架
提出 AgoneTest 评估框架与 CLASSES2TEST 数据集,在 Java 中标准化比较 LLM 生成的单元测试与提示策略。
基于 LLM 与 MCTS 推理的 RISC-V 构建失败根因分析
提出 RV-LAD 与 MCTS-RCA 两阶段框架,用少样本 LLM 与蒙特卡洛树搜索自动诊断 RISC-V 构建失败根因。
DALEQ:Java 字节码的可解释等价性
提出 DALEQ,将 Java 字节码反汇编为关系数据库并用 Datalog 规则归一化,可解释地判定重建二进制等价性。
利用傅里叶分析与变异体聚类加速 DNN 变异测试
提出 DM#,用傅里叶分析以少量数据点量化 DNN 变异体行为并聚类,仅测试代表变异体以加速变异测试。
面向 ArkTS 的上下文敏感指针分析
提出首个面向 ArkTS 的上下文敏感指针分析框架 APAK,通过专用堆对象模型与插件架构提升调用图精度。
PseudoFix:重构反编译 C 伪代码中的结构畸变
提出 PseudoFix,用大语言模型与检索式上下文学习重构反编译伪代码中的结构畸变,最高降低 34% Halstead 复杂度并提升 BLEU-4 105%。
基于LLM与强化学习引导提示选择的数据库连接器动态差分测试
提出用强化学习引导提示选择,让LLM生成用例对数据库连接器进行动态差分测试,以发现不一致与漏洞。
通过 LLM 驱动的上下文收集与错误类型感知精化实现单元测试更新
提出基于 LLM 的 TestUpdater,在代码变更时自动修复并增强单元测试,并构建了 Updates4J 基准。
通过反馈引导的选择性监控加速测试期间的运行时验证
提出 Valg——首个用强化学习实现选择性在线运行时验证的技术,以两臂老虎机剪枝冗余监视器,最高加速 551.5 倍。
SemGuard:面向 LLM 生成代码纠错的实时语义评估器
提出逐行实时语义监督框架,在解码过程中定位并回滚错误行后重新生成,无需执行代码即可降低语义错误率。
沙箱中的智能体:Minecraft 崩溃缺陷的端到端复现
提出 BugCraft,用 LLM 将 Minecraft 崩溃报告转为复现步骤,并由视觉智能体在游戏内执行,实现端到端自动复现。
SolContractEval:面向合约级 Solidity 代码生成的评测基准
提出首个合约级 Solidity 代码生成基准 SolContractEval,并用基于历史交易重放的动态框架系统评测六个主流 LLM。
Meta 的指标驱动再工程与持续代码改进
以 Meta 为案例研究持续代码改进实践,提出指标与激励机制,并建模再工程对质量、速度和复杂度的影响。
面向工业场景成本高效 GUI 测试的元素感知视觉语言模型微调
提出 RePeek,通过显式检测并推理 GUI 元素的三阶段统一流水线微调 VLM,使小模型在工业 GUI 测试中超越大模型。
所见即修复:面向视觉软件问题修复的多模态 LLM 跨模态推理
提出 GUIRepair,用 Image2Code 与 Code2Image 进行跨模态推理,提升多模态 GUI 软件问题修复。
我们SOLID了吗?关于提示LLM检测设计原则违反的实证研究
构建240例基准,系统评测四种提示策略下四个LLM检测全部五项SOLID违反的能力,揭示需按设计情境匹配模型与提示。
Defects4C:以 C/C++ 缺陷为基准评测大语言模型的修复能力
提出首个面向 C/C++ 的可执行程序修复基准 Defects4C,并据此实证评测 24 个先进大模型的修复能力。
Code-DiTing:无需参考解或测试用例的代码生成自动评估
提出 Code-DiTing,通过数据蒸馏将大模型推理能力迁移到小模型,实现无需参考或测试用例的代码生成自动评估。
MCTS-Refined CoT:面向基于 LLM 的代码仓库 issue 解决的高质量微调数据
提出 MCTS-REFINE,用带反思与严格拒绝采样的 MCTS 生成高质量 CoT 数据,提升 LLM 仓库 issue 解决能力。
面向复杂代码生成的基于 Agent 的评估框架
提出首个基于智能体的复杂代码生成评估框架 CodeVisionary,通过需求分解与多评审协商实现细粒度、可解释评估。
Alloy 规约的自动化组合测试生成
提出 COMBA:一种无需人工干预、基于组合覆盖准则的 Alloy 规约自动化测试生成技术。
使用大型语言模型进行Python库迁移的实证研究
评估三种LLM在真实Python库迁移任务上的效果,发现可正确迁移多数代码改动,但测试通过率仍有限。
LOSVER:行级可修改性信号引导的漏洞检测与分类
提出两阶段框架 LOSVER,用行级可修改性信号引导 PLM 聚焦易漏洞代码区域,提升漏洞检测与分类性能。
Polyglot:一个可扩展的、基于 LLM 的代码翻译基准测试框架
提出可扩展多语言框架 Polyglot,基于 IBM CodeNet 从语法、执行、语义与静态度量四维度评测 LLM 的代码翻译质量。
基于记录与重放的 WebAssembly 执行感知程序缩减
提出 RR-Reduce 与 Hybrid-Reduce,通过记录重放实现执行感知的 WebAssembly 程序缩减,快速缩小仍触发引擎 bug 的程序。
当抽象违背物理:重新思考量子软件中的模块化设计
揭示量子软件中经典抽象与量子物理约束的根本冲突,并提出面向量子语义的安全抽象设计原则。
LogPilot:面向大规模在线服务系统的意图感知与可扩展告警诊断
提出 LogPilot,用 LLM 结合意图感知日志范围界定与时空日志链聚类,自动诊断大规模在线服务告警根因。
HarmoBridge:桥接 ArkTS 与 C/C++ 以面向 HarmonyOS 的跨语言静态分析
提出首个 HarmonyOS 跨语言静态分析系统,通过 SumIR 摘要抽象恢复 ArkTS 与 C/C++ 间的数据流。
检测并缓解代码、文档与测试之间的不一致
提出基于再生与交叉验证的SE工具,检测并缓解代码、文档与测试之间的不一致。
面向大规模代码库的自动化主动式日志质量改进
LogImprover 用 LLM 把日志改进从被动插入转为主动发现缺口并生成整体日志补丁,实际部署接受率达 68.12%。
ScaleCirc:面向 Circom 电路的可扩展分析
提出 ScaleCirc 框架,通过电路去重、约束性传播和通用化设计,实现对大规模 Circom 电路的高效分析。
基于传播的软件供应链漏洞影响评估
提出面向软件供应链的漏洞传播分析与动态影响评分方法,支持全生态、调用图级影响评估。
Mockingbird:通过动态代码插桩高效检测过度数据暴露
提出基于静态辅助动态分析与 Proxy 污点追踪的 EDE 检测工具 Mockingbird,并发布 EDEBench 基准。
基于LLM的空指针异常补丁识别
提出AACC,用增强代理式提交分类准确识别NPE修复补丁,F1提升至98.03%。
Algernon:一种标志引导的混合模糊测试器,用于解锁隐藏程序路径
提出标志引导的混合模糊测试工具Algernon,通过识别标志变量并分解约束,高效探索隐藏路径。
ProfMal:通过静态与动态分析协同检测恶意 NPM 包
提出 ProfMal,利用静动态分析协同构建行为图并分类,检测恶意 NPM 包。
Tephra:原则化地发现模糊测试器的局限
提出 Tephra 方法,用语义引导合成含障碍的无缺陷程序,系统评估并揭示现代模糊测试器的局限。
DLBench:面向大语言模型 SQL 翻译的综合基准
提出首个评估大语言模型 SQL 方言翻译能力的综合基准 DLBench,包含两个经过严格清洗与校验的数据集。
开发者最常解决哪些类型的代码评审评论?
通过 LLM-as-a-Judge 对五类评审评论分类,发现可读性、bug 与可维护性评论的解决率高于设计类评论。
揭析基于 WebView 的移动 App 内小程序生态系统中的 Cookie 共享风险
发现并测量 WebView 小程序生态中的跨小程序 Cookie 共享(CMCS)漏洞,开发静态检测工具 MiCoScan。
Training-Control-as-Code:迈向训练控制的声明式解决方案
提出“训练控制即代码”范式与 TrAC 声明式框架,让用户用代码分析训练状态并介入控制,减少资源浪费。
论软件合并的正确性
提出可解析与universal的合并正确性准则,用范畴论pushout定义,并实现结构化合并工具揭示现有工具错误。
RealisticCodeBench:面向更真实的大语言模型代码生成评估
从 GitHub 真实 LLM 使用场景出发构建多语言代码生成基准,揭示模型与现有基准间的差距。
Alloy Analyzer 中的一阶量化分离器
提出 Folloy,将一阶逻辑规约学习编码为 Alloy 中的约束满足问题,并用 Max-SAT 保证所学公式规模最小。
LspFuzz:猎捕语言服务器中的缺陷
提出首个面向 LSP 服务器的灰盒混合模糊测试器,联合变异源码与编辑器操作,在真实服务器中发现并促成修复大量缺陷。
面向 MaxSAT 求解的高效可验证证明日志
为 core-guided OLL MaxSAT 求解器提出首个原生证明日志框架,形式化推理规则并实现可自动检验的最优性证书。
当更快并不更环保:基于LLM的代码优化的隐藏成本
系统评估基于大语言模型的代码优化在性能、正确性与能耗间的权衡,并提出盈亏平衡点指标。
语言学理论与时序逻辑中的误形式化相吻合
分析LTL规格形式化错误,发现语言学现象可解释近半新手与多数专家错误。
Argus:面向韧性的端到端自动驾驶系统安全保障框架
提出运行时框架 Argus,持续监控端到端自动驾驶轨迹并缓解危险,提升驾驶分数并减少违规。
Spinner:检测 eBPF 运行时中的锁违规
提出静态分析工具 Spinner,检测 eBPF 运行时中因上下文混淆与嵌套程序递归调用导致的锁违规。
交错式学习与探索:面向 MLIR 的自适应模糊测试框架
提出 FLEX,用神经网络生成、扰动采样与反馈驱动增强循环自适应模糊测试 MLIR,发现大量新缺陷。
R³-Bench:面向符号恢复的可复现真实世界逆向工程数据集
提出 AST-Align 对齐算法并构建 R³-Bench 数据集,使结构体字段真值提升四倍,为二进制符号恢复提供评估基准。
修复资源包装器中的泄漏
通过集成规范推断、程序变换、字段包含分析与新修复模式,自动修复资源包装器中的资源泄漏。
Relia:加速云访问控制策略分析
提出 Relia,用字符串等价类将正则约束重写为整数约束,加速云访问控制策略的 SMT 分析。
高效理解机器学习模型误预测
提出 MMDFAST,通过筛选关键特征并用决策树学习,更快更准地解释机器学习模型的误预测。
调试不可调试之物:为何多故障程序会令调试与修复工具失效
提出刻画多故障交互(遮蔽、协同、级联)的形式模型与推理框架,解释调试与修复工具为何失效。
通过检索增强的集成测试脚本生成加速汽车软件开发
用RAG增强LLM,将自然语言测试用例规格自动生成可执行的汽车ECU集成测试脚本,测试工时减少43%。
RPG:由发行版特有运行时参数接口引导的 Linux 内核模糊测试
提出由发行版特有运行时参数接口引导的 Linux 内核模糊测试器 RPG,发现 22 个新缺陷并提升分支覆盖率。
可解释的漏洞检测报告
提出可解释性约定与工具 SECGen,将静态分析器输出转化为开发者友好的漏洞报告,并经用户研究验证其提升修复效率。
Soleker:揭示 Solana 智能合约中的漏洞
提出基于学习的方法 Soleker,从 Solana 智能合约字节码中自动检测潜在漏洞。
从技术卓越到实际采用:构建 ML 增强追踪分析工具的经验教训
通过工业合作开发 ML 增强追踪分析工具,提出以采用为中心的设计原则并验证认知兼容、嵌入专业知识与透明信任。
JSidentify-V2:利用动态内存指纹检测小游戏代码抄袭
提出基于运行时内存不变量的动态分析框架 JSidentify-V2,可抵抗深度混淆并高精度检测小游戏代码抄袭。
揭示歧视聚类:量化并解释系统性公平性违规
提出歧视聚类概念,并用符号验证与随机搜索结合的 HyFair 检测、量化并解释系统性公平性违规。
AdaptEval:评估大语言模型在代码片段适配上的基准
提出 AdaptEval,首个评估大语言模型代码片段适配能力的基准,含真实上下文、多粒度标注与细粒度测试。
Node.js 漏洞利用程序的验证与分类
在执行前插桩 sink API 及相关对象,运行时捕获 sink 调用与参数,以验证并分类 Node.js 漏洞的 exploit。
BASHIRI:从执行特征中学习失败预言(oracle)
提出 BASHIRI 工具,利用执行特征训练可解释模型作为测试预言,以 95% 准确率判定测试通过/失败。
谁之过?从实用视角重新审视自动化 Web GUI 测试的脆弱性
实证发现 Web GUI 测试脆弱性根因多元,LLM 借助类人诊断上下文可修复多数脆弱测试。
并非每个补丁都是孤岛:LLM 增强的多补丁漏洞识别
提出 SHIP,用 LLM 建模提交与漏洞及提交间关联,解决多补丁场景的静默漏洞补丁识别。
使用主动学习以最少数据训练预测式变异测试
提出主动学习驱动的预测式变异测试 AL-PMT,仅需少量变异体执行标签即可逼近最优预测性能。
CodeGenLink:一个查找自动生成代码可能来源与许可证的工具
提出 CodeGenLink,一个 VS Code 扩展,通过 LLM 搜索与相似性分析为 Copilot 生成代码推荐来源链接并标注许可证。
Cross2OH:实现C/C++软件库无缝移植到OpenHarmony
提出Cross2OH,结合适配知识库与静态分析自动检测和修复C/C++库移植到OpenHarmony时的跨平台不兼容问题。
VUSC:一个可扩展的基于 Java 的静态分析研究平台
提出可扩展的 Java/Android 字节码漏洞扫描器 VUSC,以插件架构集成调用图、污点与值分析,基准精度约 90%。
面向敏捷工作量估算的基于LLM的多智能体框架
提出基于LLM的多智能体框架,可生成、解释并与人类开发者协商敏捷工作量估算。
弥合研究与工业实践:工业机器人导航系统的基于仿真的测试
将 Surrealist 仿真测试生成框架迁移至 ANYmal 四足机器人,并完成六个月工业评估。
QuanBench:用大语言模型基准测试量子代码生成
提出 QuanBench 基准,用 44 个量子编程任务评测 LLM 的量子代码生成能力,发现正确率不足 40%。
LAURA:利用上下文增强的检索增强 LLM 提升代码审查生成
提出 LAURA 框架,通过审查示例检索、上下文增强与系统引导,提升 LLM 生成代码审查意见的质量。
Interaction2Code:面向交互原型的 MLLM 交互式网页代码生成基准
提出首个交互式网页代码生成基准 Interaction2Code,评估 MLLM 并给出四类增强策略。
面向智能需求工程的知识引导多智能体协作愿景
提出知识引导多智能体框架KGMAF,用六个LLM智能体与共享工件池协作生成高质量需求规格。
“我的生产力提升了,但是……”:揭秘用户对 AI 编程助手的感知
通过分析 VS Code 市场 AI 编程助手的真实用户评论,构建用户关注点分类并给出五项改进建议。
SE-Jury:一种用于缩小软件工程中与人工评估差距的 LLM 集成评审度量
提出首个面向软件工程生成物正确性评估的 LLM 集成评审度量,显著提升与人工判断的相关性。
Forcrat:基于来源与能力分析的 C 到 Rust 自动 I/O API 翻译
提出 Forcrat,用来源/能力与错误源静态分析将 C2Rust 生成代码中的 libc I/O 调用自动替换为 Rust std 调用。
超越静态 GUI 智能体:通过动态记忆演化基于 LLM 的 GUI 测试
提出 MemoDroid,以三层动态记忆机制让 LLM 驱动的 GUI 测试积累并复用经验,显著提升覆盖率与缺陷检测。
你的构建脚本糟透了:构建脚本中的代码坏味现状
通过分析 GitHub 问题并使用静态分析工具 Sniffer,实证揭示构建脚本中 13 类代码坏味及其流行与共现模式。
当自动驾驶汽车遇到 V2X 协同感知:我们还有多远?
通过实证研究识别 V2X 协同感知的六类错误模式,并评估其性能、鲁棒性与驾驶违规风险。
LogAction:通过主动域适应实现一致的跨系统日志异常检测
提出 LogAction,结合迁移学习与主动学习,仅用 2% 人工标注即实现跨系统日志异常检测,F1 达 93.01%。
iKnow:面向云运维的意图引导检索增强生成聊天机器人
提出意图引导的 RAG 聊天机器人 iKnow,通过意图检测、查询重写与缺失知识检测提升云运维问答准确率。
面向持久性的 flush 与 fence 自动插入
提出编译器 PMRobust,通过静态分析自动插入 flush 和 fence,确保持久内存代码不存在遗漏刷新错误。
RepoMasterEval:通过真实世界代码仓库评估代码补全
提出基于真实仓库、用变异测试增强测试套件的代码补全评测基准 RepoMasterEval。
TrustVis:面向大语言模型的多维可信度评估框架
提出 TrustVis,一个自动化多维评估框架,通过集成扰动方法与多数投票,可视化评估 LLM 的安全性与鲁棒性。
GlassWing:一种面向 Flutter Android 应用的定制化静态分析方法
首个面向 Flutter Android 应用的定制静态分析方法,通过数据流提取揭示 Dart 与 DEX 间的隐式跨语言调用关系。
Kair:一种统计与因果的分布式模型训练拖尾节点定位方法
提出 Kair,用 KS 统计异常检测与因果路径追踪在生产集群中定位分布式训练的拖尾 worker 及其根因操作。
缩减但完整:面向代码缩减鲁棒的 Android 第三方库检测
提出抗代码缩减与混淆的 Android 第三方库检测工具 LibSleuth。
哪种方式更能减少过时和易受攻击的依赖:固定版本还是浮动版本?
用生存分析在 npm、PyPI、Cargo 生态实证比较固定与浮动版本约束对依赖过时及易受攻击可能性的影响。
ChatGPT 在生成错误程序时如何做出假设?
通过 HumanEval 上 GPT-4o 的实证分析,揭示错误或错误实现的假设是代码生成失败的重要诱因。
FailMapper:由失败场景引导的单元测试自动生成
提出 FailMapper,用九类失败场景和 MCTS 引导单元测试生成,显著提升缺陷触发能力。
Walk the Talk:你的基于日志的软件可靠性维护系统真的可靠吗?
定义诊断忠实性度量并提出 FaithLog,以因果引导注意力与对抗一致性学习实现忠实的日志异常检测。
AlignCoder:面向仓库级代码补全对齐检索与目标意图
提出 AlignCoder,通过查询增强与强化学习检索器对齐检索与目标意图,显著提升仓库级代码补全。
Mamba 能更好吗?Mamba 在代码智能中的实验评估
首次系统评估 Mamba 类预训练模型在代码智能任务上的效果与效率,显示其总体优于 Transformer 基线。
理解 LLM 中的不确定性
系统综述 LLM 不确定性量化,分类偶然与认知不确定性,并讨论校准、案例与可靠性挑战。
OpenHarmony 应用中 UI 重叠的实证研究
首个 OpenHarmony UI 重叠大规模实证研究,提出三层分类法,并发布基于多模态 VLM 的高开销遮挡检测工具 HCO-Eye。
用 BOM 分析揭秘神经网络的演化:基于 55,997 个 GitHub 仓库的大规模研究的洞见
提出 NNBOM 数据集,基于 55,997 个 PyTorch 仓库实证刻画神经网络软件的演化规律并构建原型工具。
通过大语言模型简化移动应用的验收测试生成:一个工业案例研究
提出 AToMIC 框架,用专用大语言模型从 JIRA 需求与代码变更自动生成 Gherkin 场景、Page Object 和可执行 UI 测试脚本,并在 BMW 应用中验证其工业可行性。
NovaQ:通过多样性引导的测试用例生成改进量子程序测试
提出多样性引导的量子程序测试框架 NovaQ,结合电路参数变异与新颖性评估,生成多样量子态输入以发现更多缺陷。
绿色并不容易:论编程语言的能源效率
通过因果模型与实验控制混杂因素,表明编程语言实现选择除执行时间外对能耗无显著影响。
基于大语言模型的众包测试报告多维度评估
提出基于大语言模型的众包测试报告多维度评估方法,新增充分性与竞争性维度以高效筛选高质量报告。
解锁可复现性:自动化开源软件的重新构建过程
扩展 Macaron 框架,自动化从源码重建 Maven 构件,提升开源供应链安全与可复现性。
从字符到结构:重新思考实时协同编程模型
提出结构感知的实时协同编程传播模型,仅同步语法有效变更,显著降低通信开销并保持可构建状态。
团结则立:面向端到端基于日志故障诊断的交互式多任务学习
提出 Chimera,通过异常检测与根因定位在数据、特征与结果层的双向交互,实现端到端日志故障诊断。
EfficientEdit:通过面向编辑的推测解码加速代码编辑
面向代码编辑的推测解码方法,通过复用原文与编辑导向草稿模型,将 LLM 代码编辑推理加速最高约 10–13 倍。
持续集成中的 Recheck 请求再审视:OpenStack 实证研究
通过统计模型区分 CI recheck 成功与否,节省开发者与计算时间。
Minuku:基于小规模数据集检测移动应用中的多样化显示问题
提出 Minuku,通过微调视觉语言模型模拟人类常识,在小规模数据下检测移动应用 UI 显示问题。
PrefGen:一种面向安全且 Gas 高效的智能合约生成的偏好驱动方法
把直接偏好优化扩展到可量化的区块链专用度量,实现智能合约功能、Gas 与安全的多目标联合优化。
别动兄弟的奶酪!Android 多窗口资源冲突的实证研究
首次系统研究 Android 多窗口资源冲突,分类根因、构建静态检测器并在 15 万+应用中验证其普遍性与安全性影响。
什么是 DAT 异味?解开并编织 Disjoint Assertion Tangle 测试异味
提出 DAT 测试异味,并用程序分析自动检测与重构为聚焦测试及参数化单元测试。
MobileUPReg:识别移动操作系统版本中用户可感知的性能回归
提出黑盒框架 MobileUPReg,通过跨 OS 版本运行同一应用并比较用户可感知性能指标来检测移动 OS 性能回归。
通过多源追踪与语义增强发现 DApp 中的不安全状态依赖
提出 InsFinder,用跨 DApp 动态污点分析、源映射与静态分析检测 DApp 间不安全状态依赖。
代码摘要器中的后门:问题有多严重?
系统实证研究数据、模型与推理因素对代码摘要模型后门攻击效果的影响,并发现 0.004% 的极低投毒率即可成功植入后门。
LogMoE:面向跨系统日志异常检测的轻量级专家混合模型
提出免解析的 MoE 日志异常检测框架 LogMoE,利用多系统日志训练轻量专家并门控集成,实现跨系统泛化。
揭秘跨语言 C/C++ 二进制:一种鲁棒的软件成分分析方法
提出 DeeperBin,通过大规模特征库、FFI 噪声过滤与 MDL 版本特征,提升跨语言 C/C++ 二进制中第三方库检测与版本识别精度。
面向基于仿真测试的人在回路测试预言学习
提出人在回路的测试预言学习,通过融入人工反馈以更低标注成本获得能区分机器人行为优劣的仿真测试预言。
HFuzzer:通过基于短语的模糊测试检测大语言模型的包幻觉
提出基于短语的模糊测试框架 HFuzzer,触发并检测 LLM 代码生成中的包幻觉。
改进面向非线性实数算术的 NLSAT
通过子句级前瞻与算术传播分支启发式,使 NLSAT 在非线性实数算术上更具竞争力。
安全交易语义:分析、漏洞检测与攻击建模
提出交易级语义框架,检测智能合约日志伪造等漏洞、合成回滚攻击并解释链下不一致。
测量足够吗?重新思考量子程序测试中的输出验证
通过实证分析指出量子程序测试中基于测量的输出验证存在局限,并比较其与基于态向量的验证。
DebCovDiff:面向真实世界项目的覆盖率测量工具差分测试
首个面向真实世界项目的覆盖率工具实证研究,用 Debian 包对 Gcov 与 LLVM-cov 做差分测试,发现 34 个新缺陷。
DESIGNATOR:面向火星环境的 GAN 增强搜索式 DNN 测试与重训练自动化工具集
提出 DESIGNATOR 工具集,集成火星环境模拟器与 GAN 增强搜索式测试,为火星视觉 DNN 生成测试与重训练数据集。
WEST:基于规范的 WebAssembly 测试生成
提出 WEST,从 SpecTec 机械化规范自动生成 Wasm 测试用例,在四个引擎中发现并修复多个缺陷。
evalSmarT:一个基于LLM的智能合约生成注释评估框架
提出基于LLM的模块化框架evalSmarT,通过多模型与多提示策略评估智能合约生成注释的质量。
EditFusion:通过编辑选择解决代码合并冲突
将合并冲突解决建模为对原子行级编辑脚本的接受/拒绝二分类,提出可解释的深度学习模型 EditFusion,准确率优于基线。
TensorGuard:基于梯度的模型指纹用于 LLM 相似性检测与家族分类
提出基于梯度的 LLM 指纹框架 TensorGuard,通过张量层梯度响应实现模型相似度检测与家族分类,准确率达 94%。
ZendDiff:PHP 解释器的差分测试
提出差分测试框架 ZendDiff,通过对比 JIT 与非 JIT 执行结果自动检测 PHP 解释器的逻辑错误。
DiffFix:通过上下文与类型信息增量修复 AST 差异
提出 DiffFix,利用节点上下文与类型约束迭代增量修复不完美的 AST 差异映射,显著提升完美 diff 率。
Clara:面向代码理解与分析的开发者助手
提出浏览器扩展 CLARA,借助先进推理模型辅助开发者理解代码、重构并检测代码质量属性。
面向软件供应链安全的安全 mock 方法
提出「安全 mock」这一测试替身,使外部协作开发与测试中不会通过可观察行为泄露内部程序规格。
安全总比后悔好:通过预测性根因分析防止 IoT 系统策略违规
提出 IoTArmor,用机器学习预测性根因分析为 IoT 策略违规选择最优修复动作。
工业场景下小游戏测试中探索陷阱的实用逃逸方法
提出 SlideScout,利用视觉线索检测并逃逸滑动手势探索陷阱,提升微信小游戏自动化 UI 测试效率。
基础设施即代码如何加速数据中心启用?字节跳动的案例研究
提出 ByteRollout,一种基于意图和 IaC 的自动资源部署系统,显著加速新数据中心上线并减少错误。
GUI-ReRank:利用多模态 LLM 重排序增强 GUI 检索
提出 GUI-ReRank 框架,结合嵌入检索与多模态 LLM 重排序,显著提升 GUI 检索准确率与泛化性。
通过运行时引导的问题生成诊断模型检测器的性能差异
提出 AIGROW,用运行时反馈生成小而难的问题,诊断硬件模型检测器性能差异并改进 CAR 检测器。
面向 AI 辅助编码的上下文感知 CodeLLM 驱逐策略
提出上下文感知的 CodeLLM 驱逐策略 CACE,较 SOTA 降低 70% 首 token 延迟并减少 55% 换出次数。
从物联网的 issue 报告中检测漏洞
首次探索从 IoT 项目 issue 报告中检测漏洞指示问题,结合 ML、LLM 与 NLP 并微调 BERT。
FlowStrider:低摩擦的持续威胁建模
FlowStrider 通过可脚本化、CI/CD 集成的持续威胁建模工具降低人工成本与采用门槛。
从稀疏到结构化:一种扩散增强与特征对齐的巧合正确性检测框架
提出 DEFACC,以扩散生成和 MMD 特征对齐缓解 CC 样本稀疏与不平衡,提升检测与故障定位。
Coding-Fuse:面向分类任务的高效代码预训练模型融合
提出Coding-Fuse,通过证据理论定位各代码预训练模型的最优层并软投票融合,在提升SE分类性能的同时降低微调开销。
EPSO:面向 BPF 字节码的基于缓存的高效超优化器
EPSO 通过离线超优化发现重写规则并缓存复用,实现对 eBPF 字节码高质量、低开销的自动优化。
PROXiFY:用于检测和分类以太坊智能合约中代理合约的字节码分析工具
提出基于字节码的轻量工具 PROXiFY,无需源码或节点即可检测并分类以太坊代理合约(含非活跃代理)。
AI 驱动的数字孪生中自适应机器人的分布外检测
提出 ODiSAR,用 Transformer 数字孪生预测机器人状态,结合重构误差与 MC dropout 检测并解释 OOD 行为。
M2QCode:面向多平台量子程序生成的模型驱动框架
提出基于模型驱动开发的框架,可从统一模型自动生成多种量子编程语言代码。
MDPMorph:深度强化学习智能体的蜕变测试
提出基于MDP的蜕变测试工具MDPMorph,可自动检测深度强化学习智能体中的故障。
LLM 驱动的全自动混沌工程:让任何人都能低成本构建弹性软件系统
提出 ChaosEater,用 LLM 智能体工作流全自动执行 Kubernetes 系统混沌工程全周期,低成本构建弹性系统。
ADPerf:探究与测试自动驾驶系统的性能
首次系统研究 Apollo 与 Autoware 障碍物检测的延迟,并提出 ADPerf 生成点云测试用例以暴露延迟升高。
代码摘要过程中程序员对函数调用图的视觉注意
通过眼动追踪分析代码摘要时程序员对函数调用图的视觉注意,发现调用图覆盖越高,摘要质量与信心反而越低。
从模块到市场:跨组织可组合能力共享的愿景
提出跨组织能力市场愿景,以契约化、可部署模块实现高层软件能力的共享、发现与组合。
FastCoder:通过高效检索与验证加速仓库级代码生成
提出面向代码生成的推理加速方法 FastCoder,用多源检索草稿与验证实现最高约 2.5 倍加速且不损质量。
以史为鉴:面向智能合约 PoC 生成的真实世界漏洞利用迁移
提出漏洞利用迁移方法,从已有 PoC 模板生成并验证智能合约漏洞 PoC,高效且无误报。
DSBox:面向高效深度代码学习的数据选择框架
提出统一集成 20 种数据选择方法的可扩展框架 DSBox,支持高效深度代码学习的数据筛选与灵活扩展。
定制 Android 系统中不可重置设备标识符的(不)安全性研究
提出 IDRADAR 检测定制 Android 系统中缺乏访问控制的非重置设备标识符泄露。
WingMuzz:通过二维模糊测试调度对 IoT 协议进行黑盒测试
提出 WingMuzz,用同规范开源实现的灰盒覆盖率反馈引导 IoT 协议黑盒模糊测试,并以二维调度提升边覆盖与漏洞发现。
Chrysalis:用于 Python 蜕变测试的轻量级日志与重放框架
提出 Chrysalis,一个 Python 轻量级蜕变测试框架,通过日志记录变换历史并支持重放以定位缺陷。
Profile Coverage:利用 Android 编译配置文件评估动态测试
提出 profile coverage 指标,用 Android 编译 profile 衡量动态测试对真实用户行为的覆盖程度。
Token Sugar:用 token 高效简写让源代码对 LLM 更「甜」
提出 Token Sugar:将高频冗长代码模式替换为可逆简写,降低 LLM 代码任务的 token 开销并保持性能。
StackPlagger:一个识别 Stack Overflow 上 AI 代码抄袭的系统
提出融合代码风格计量特征与预训练嵌入的集成方法,检测 Stack Overflow 短代码片段中的 AI 生成代码,并部署为 Chrome 插件。
面向多语言代码摘要的专家混合低秩适配
提出 MMLoRA,用通用专家与语言专用专家的混合低秩适配,缓解多语言代码摘要中的梯度冲突。
DrainCode:通过上下文投毒对检索增强代码生成发动隐蔽能耗攻击
首个针对RAG代码生成计算效率的对抗攻击,通过上下文投毒延长输出以推高GPU延迟与能耗。
AlertGuardian:面向大规模云系统的智能告警生命周期管理
提出 AlertGuardian,融合 LLM 与图模型,通过去噪、摘要与规则精化三阶段优化云系统告警生命周期。
用多 LLM 集成检测并修复不完整的软件需求
用三个互补 LLM 组成集成,通过结构化领域模型与并行完整性检查检测并修复 SRS 中的需求遗漏。
面向基于 Simulink 的 CPS 模型的故障注入:洞见与未来方向
分析现有故障注入方法在基于 Simulink 的 CPS 模型上的不足,梳理关键挑战并提出研究路线。
发现 WebAssembly 接口类型(WIT)绑定生成器中的缺陷
提出针对 WIT 绑定生成器的随机差分测试框架,发现 7 个此前未知的代码生成缺陷。
AMPLE:面向服务器应用的细粒度文件访问策略
融合静态与动态分析自动提取服务器应用真正需要的文件,将可访问文件数平均减少逾99%。
基于盲区引导模糊测试的自动驾驶系统测试
提出盲区引导模糊测试框架OS-Fuzz,利用LLM生成种子并多目标进化,系统测试动态与静态遮挡下的自动驾驶系统安全。
揭秘 OpenZeppelin 自身漏洞并分析其在智能合约中的传播
提出 ZepCompare,揭示 OpenZeppelin 自身漏洞并追踪其在第三方智能合约中的传播。
Vessel:容器镜像可复现性问题的分类体系
提出容器镜像可复现性问题的分类法及自动分类工具 Vessel Diff,并评估开源仓库中的失败模式。
Prompt-with-Me:面向 LLM 驱动软件工程的 IDE 内结构化提示管理
在 IDE 内实现结构化提示管理,自动分类、改写、脱敏并抽取可复用模板,提升提示质量与复用效率。
评估大语言模型在航空航天软件时间序列异常检测中的表现
提出首个航空航天时序异常检测基准 ATSADBench,系统评测 LLM 的检测能力与知识注入策略。
一击即中:利用多样本自奖励反馈改进 LLM 的漏洞修复
提出 MUSSEL 框架,通过多阶段训练与自奖励反馈提升 LLM 对软件漏洞的一次性修复准确率。
理解、模仿、再更新:释放 LLM 在测试套件演化中的能力
提出 COMMITUP,用 LLM 以“理解变更—检索相似示例模仿—执行更新”三步自动更新方法级过时测试代码。
PyTrim:一个减少 Python 依赖膨胀的实用工具
PyTrim 是端到端自动化删除 Python 项目未使用依赖的工具,并引入动态分析提升检测召回率。
基于对抗提示的代码补全模型有效成员推断
提出 AdvPrompt-MIA,利用代码对抗提示诱导输出差异构造特征,训练分类器实现代码补全模型的训练集成员推断。
MIMIC:融合多样人格特质,利用大语言模型改进游戏测试
提出MIMIC框架,将多样人格特质融入LLM游戏测试智能体,提升覆盖与交互多样性。
版本控制系统仓库中的被改写历史:来自一线的证据
首次大规模测量 Git 公共仓库的历史改写,揭示其安全与治理风险,并发布检测工具 GitHistorian。
AI 结对编程中的知识转移:一项实证研究
通过实证对比人-人与人-AI结对编程的知识转移,发现频次与主题相似,但对AI建议审查更少且其能提醒代码细节。
SCOPE:评估与增强移动应用权限说明透明度
提出多智能体框架 SCOPE,自动评估移动应用权限说明合规性并生成优化建议,提升隐私透明度。
ARG:通过抽象规则引导的模糊测试检测查询重写器
以抽象规则的覆盖反馈引导查询生成,激活更多重写逻辑,从而发现查询重写器中的深层缺陷。
通过挖矿程序的即时变换实现加密货币生态民主化
提出 Vectra,通过 JIT 合并同构指令来减少 WASM 指令并加速网页端加密货币挖矿。
Tron:通过协议—系统调用载荷合成对 Linux 网络栈进行模糊测试
提出 Tron,结合协议结构与运行时反馈合成系统调用—数据包输入序列,提升 Linux 内核网络栈模糊测试的覆盖率与缺陷发现能力。
通过不确定性估计提升低资源编程语言中的 LLM 代码生成质量
提出用不确定性估计改进 LLM 在低资源编程语言上的代码生成,并构建新的评估基准。
GUIFuzz++:将灰盒模糊测试释放到桌面图形用户界面应用上
提出首个通用桌面 GUI 模糊测试器,通过 GUI 交互解释器把随机输入翻译为 GUI 操作来发现 bug。
以人为中心的 REST API 模糊测试工具评估:连接学术界与工业界
提出以人为中心的混合方法评估框架,衡量 REST API 模糊测试工具的可用性与认知负荷,弥合学术与工业落地差距。
自动驾驶中面向规范的3D障碍物检测鲁棒性评估
提出SORBET框架,评估自动驾驶3D障碍物检测模型对规范驱动点云扰动的鲁棒性。
Latra:面向有效程序化简的基于模板的语言无关变换框架
提出基于模板 DSL 的语言无关程序化简框架 Latra,兼顾通用性与语言特定化简的效果。
面向无障碍的自主智能体:在 Web 界面中模拟视觉障碍
提出多模态 AI 智能体框架,无需代码即可模拟视障用户与 Web 界面的交互,以发现并修复无障碍问题。
Wasm 恶意软件检测何时失败?对其规避鲁棒性的系统性分析
提出 Swamped 框架,用 22 种语义保持扰动系统评估 Wasm 恶意软件检测器的规避鲁棒性并揭示其失效条件。
VRTestSniffer:面向虚拟现实(VR)软件项目的测试异味检测器
提出面向 Unity VR 项目的静态分析测试异味检测器 VRTestSniffer,可检测 17 类测试异味并达到 95.61% F1。
揭示提示要素:从行为轨迹中克隆系统提示
提出黑盒攻击「提示克隆」,从输出行为轨迹中重建功能等价的系统提示,而非逐字窃取原文。
从巧合中筛选真相:用于巧合正确性检测的双阶段正例-未标注学习模型
提出两阶段正例-未标注学习模型 EVANS,通过伪负样本选择与弱监督对比学习检测巧合正确性,提升故障定位可靠性。
打破流量壁垒:通过自主程序探索揭示协议的多格式特性
提出 ProbePRE,通过自主生成数据包探索协议处理程序,实现多格式协议逆向工程。
AdaptiveGuard:面向 LLM 驱动软件的自适应运行时安全
提出自适应护栏 AdaptiveGuard,通过 OOD 检测与持续学习在部署后动态防御新型越狱攻击。
基于函数聚类的模糊测试终止:迈向更智能的提前停止
提出基于函数聚类的模糊测试终止准则,按脆弱性分布提前停止,节省5–30%测试时间。
模拟交互式调试
提出交互式模拟调试方法,用故障定位与LLM引导学生修复程序,并开展小规模用户实验。
Debun:利用属性顺序图检测 Web 上被打包的 JavaScript 库
提出属性顺序图(POG)与函数级指纹,静态检测打包代码中的 JS 库及其版本。
FGit:故障引导的代码生成微调
提出故障引导微调 FGit,通过提取正确与错误实现的细粒度差异并动态加权,提升 LLM 代码生成正确率。
面向 LLM 代码转换的基于覆盖率的有害性测试
提出基于覆盖率的 CHT 框架,自动合成有害提示测试 Code LLM 代码转换中的内容审核漏洞,并提出两阶段防护。
Diplomatist:跨语言依赖如何反映软件生态系统健康?
提出 Diplomatist,自动识别并分析多 guest 语言的跨语言依赖,评估其生态健康与安全风险传播。
基于大语言模型的自动行内注释坏味检测与修复
系统评估四种LLM在零样本与少样本提示下自动检测和修复行内代码注释坏味的效果。
思考更久,而非更大:通过扩展测试时计算增强软件工程智能体
提出统一测试时计算扩展框架,使32B开源模型在SWE-bench Verified上达到46%解决率,超越更大模型。
ORFuzz:模糊测试 LLM 安全的"另一面"——测试过度拒绝
提出首个演化式测试框架 ORFuzz,系统检测并分析 LLM 的过度拒绝行为,并构建高可迁移的测试基准 ORFuzzSet。
在猎捕内存缺陷时保护源代码隐私
提出 DIReducer,从二进制调试信息中削减源代码信息,同时保持内存缺陷检测能力。
Quirx:一种基于变异的框架,用于评估基于 LLM 的软件中的提示鲁棒性
提出变异式模糊测试框架 Quirx,系统评估 LLM 提示鲁棒性并揭示不同任务与模型间的失效模式。
RSFuzz:基于行为约束的鲁棒性引导群体模糊测试框架
提出鲁棒性引导的群体模糊测试框架,用行为约束量化群体状态并定位关键节点以生成故障触发场景。
自动机有多大?Presburger DFA 规模的可验证下界
提出全自动方法计算 Presburger 算术公式最小 DFA 规模的下界,并生成可独立验证且可合并的证书。
保障自管理第三方库的安全
提出 LibGuard 框架,通过库白名单自适应现有漏洞识别方法,提升组织自管理第三方库的安全检测准确率。
APIDA-Chat:结构化合成 API 搜索对话以引导对话式智能体
APIDA-Chat 用教师-学生蒸馏把符号对话脚本转成真实 API 搜索对话,低成本引导对话式智能体。
TrioXpert:面向微服务系统的自动化事件管理框架
提出 TrioXpert,利用多模态数据与 LLM 协同推理实现微服务异常检测、故障分诊与根因定位。
Terminator:通过自动的覆盖率引导终止实现闭源 GUI 程序的高效模糊测试
提出 Terminator,改写二进制使闭源 GUI 程序在覆盖率不再增长时自动终止,从而高效 fuzzing。
DeepTx:基于多模态特征与 LLM 推理的实时交易风险分析
提出 DeepTx,通过模拟待确认交易、提取多模态特征并借助多 LLM 共识推理,在用户确认前实时检测 Web3 钓鱼交易。
PoliCond:条件感知、本体驱动的 LLM 隐私政策矛盾分析
提出结合条件感知元组、领域本体与 LLM 的 PoliCond 框架,将隐私政策矛盾检测 F1 从 58.2% 提升至 88.6%。
通过从推理轨迹中的错误学习来改进基于LLM的日志解析
分析LLM日志解析推理轨迹中的错误类型,生成日志变体微调模型,显著提升解析准确率。
自动驾驶系统现实鸿沟的多模态评估
系统比较软件在环、车辆在环、混合现实与真实道路四种测试模态的现实鸿沟,并定位失效无法跨模态迁移的条件。
LLM 驱动的多智能体协作:面向智能工业 on-call 自动化
提出 OncallX,利用 LLM 多智能体协作实现工业场景事件自动响应、解决与分诊。
理解 GitHub 上的功能请求实践:一项大规模实证研究
首个基于 825 个仓库、140 万条 issue 的大规模实证研究,揭示 GitHub 功能请求的标注、演化与解决规律。
PyGress:分析 Python 开源项目中代码熟练度进展的工具
PyGress 是一个基于 Web 的工具,利用 pycefr 自动评估并可视化 Python 开源项目中贡献者代码熟练度的演进。
Android 应用中颜色相关可访问性问题的特征分析与修复
通过实证研究提炼开发者修复策略,提出自动修复 Android 应用颜色对比度可访问性问题的 DroidPalette。
面向屏幕阅读器用户的 Web 应用导航障碍自动检测
提出 A11yNavigator,模拟屏幕阅读器导航,自动检测无法定位或激活的 UI 元素。
CoTune:协同进化的配置调优
提出 CoTune,通过协同进化辅助性能需求与配置,实现需求引导且鲁棒的自动配置调优。
BenGQL:面向自动化 GraphQL 测试的可扩展基准测试框架
提出 BenGQL,一个包含 23 个开源 GraphQL 服务器案例的可扩展基准框架,用于统一评估和比较自动化测试工具。
面向可靠的基于LLM的考试生成:一个工业项目中的经验教训与开放挑战
在工业项目中评估16个LLM生成教育多选题,发现近期LLM优于微调专用模型,并指出高级提示策略的开放挑战。
WIBE:生成图像水印的基准测试与评估
提出 WIBE,一个可扩展、可复现的图像水印基准测试框架,支持插件化方法与攻击场景。
基于量子机器学习的自主移动机器人测试预言
提出 QuReBot 混合量子-经典框架,用于自主移动机器人回归测试的测试预言,预测误差较经典神经网络降低 15%。
AutoFid:基于线路图分析的量子程序自适应噪声感知保真度测量
AutoFid 通过线路图结构与硬件噪声反馈自适应确定量子态保真度测量次数,在保证偏差小于 0.01 的同时节省过半测量开销。
XRintTest:面向扩展现实应用用户交互测试的自动化框架
提出 XRintTest,通过 XR 用户交互图自动探索 Unity XR 场景并合成空间交互,实现高效测试。
为什么我的交易有风险?理解 NFT 生态系统中智能合约的语义与交互
通过对近1亿笔交易的大规模实证研究,揭示了NFT生态中智能合约的语义多样性、交互模式及其与诈骗代币风险交易的关系。
面向音频内容审核软件的蜕变测试
提出面向音频内容审核软件的蜕变测试框架MTAM,用音频扰动生成可绕过检测的有害测试用例。
IDBFuzz:具有可控语义的 Web 存储数据库模糊测试
首个面向 IndexedDB API 的模糊测试方法,通过 IR 种子生成与全局数据库快照实现语义可控的高质量测试用例生成。
黑暗森林中的掘金者:以太坊工业级 MEV 分析
提出基于图的自动化 MEV 检测系统,在 2100 万区块上识别 1210 万次 MEV 活动并揭示新型风险。
软件透明度的未来:连接理解、度量与实践
通过学术与工业调研,厘清软件透明度的定义现状,并提出可量化框架的愿景。
APKARMOR:面向 Android 应用的低成本轻量级防反编译技术
提出基于 APK 文件格式的七种轻量级防反编译变异策略,并实现 APKARMOR,低成本抵御主流反编译工具。
推进软件工程中的自动化伦理画像:LLM 推理的零样本评估
提出全自动框架,零样本评估 16 个 LLM 在 30 个真实伦理场景中的伦理推理能力。
ORMorpher:一个用于 ORM 翻译与优化的交互式框架
提出统一可扩展框架 ORMorpher,实现异构 ORM 间的代码结构转换与资源感知的框架选型优化。
DRIFT:面向固件测试的基于调试的迹推断
利用 Arm Cortex-M 的 Debug Monitor 中断链让固件自我追踪,从而在真实设备上高效地进行二进制固件模糊测试。
Tether:面向患有 ADHD 的软件工程师的个性化支持助手
提出 Tether,一个基于 LLM 的桌面助手,为患 ADHD 的软件工程师提供自适应、情境感知的实时专注支持。
BCFuzz:面向 JavaScript 引擎的字节码驱动模糊测试
提出字节码驱动的模糊测试方法 BCFuzz,提升生成字节码的多样性并加强低频字节码测试,在四个 JS 引擎中发现 20 个新缺陷。
DNAFuzz:面向 USB 驱动的描述符感知模糊测试
提出描述符感知的 USB 驱动模糊测试方法 DNAFuzz,依据 USB 规范建模描述符字段与语义并设计变异策略,显著提升测试用例质量并发现 15 个漏洞。
CodeACT-R:面向代码阅读中人类注意力的认知仿真框架
提出首个基于 ACT-R 的代码阅读认知仿真框架,用少量眼动数据模拟人类视觉注意扫描路径。
OSSPREY:AI驱动的开源项目可持续性预测与干预
提出OSSPREY平台,利用Transformer模型预测GitHub项目可持续性并提供基于研究的干预建议。
AndroFL:面向 Android 应用的进化驱动故障定位
提出 AndroFL 工具,用进化算法生成测试套件并结合统计故障定位,显著降低 Android 应用调试成本。
DualFuzz:通过双向模糊测试检测 Wi-Fi NIC 中的漏洞
提出双向模糊测试框架 DualFuzz,同时测试 Wi-Fi NIC 收发过程以发现漏洞。
EyeNav:基于眼动追踪与 NLP 的可访问网页交互与测试
EyeNav 结合眼动追踪与 NLP,实现可访问网页交互,并通过录制回放自动生成测试脚本。
迈向上下文感知的移动隐私声明:一个可部署的上下文隐私政策生成器的实现
提出首个可部署的 Android 上下文隐私政策 SDK PrivScan,通过实时截图识别个人数据相关 GUI 元素并按需展示简洁隐私政策。
使用社会感知 Truck Factor 估计度量软件韧性
提出社会网络分析估计器 SNet,更准更快地估计开源项目 Truck Factor 并识别关键贡献者。
ConfuseTaint:利用漏洞绕过动态污点分析
提出 ConfuseTaint,利用类型混淆漏洞破坏污点元数据,在不改变程序语义的情况下绕过 JVM 与 Android 的动态污点分析。
基于多模态需求数据与LLM的验收标准生成
提出RAGcceptance_M2RE,用多模态检索增强生成从文本与UI需求自动生成验收标准。
降级构建系统的代价:Kubernetes 案例研究
通过 Kubernetes 案例与复制研究,揭示从 Bazel 降级到 Go Build 在构建时间、内存与 CI 成本上的代价。
IMUFuzzer:基于韧性的机器人飞行器信号注入攻击发现
提出反馈驱动模糊测试框架 IMUFuzzer,自动发现无人机 IMU 信号注入攻击,并在 ArduPilot 上找到 23 个攻击。
VRExplorer:一种基于模型的虚拟现实场景半自动化测试方法
提出基于EAT建模与PFSM的VR场景探索测试工具VRExplorer,显著提升覆盖并发现真实缺陷。
使用半监督孪生网络的自适应性能回归检测
提出 DynamicRegress,利用半监督孪生 LSTM 融合 KPI 与工作负载上下文,实现自适应性能回归检测。
FETT:故障注入作为网络安全教育与培训工具
提出面向网络安全教育的故障注入工具 FETT,可向 Django 应用可复现地注入 OWASP 风格漏洞。
基于极值理论的差分模糊测试风险估计
提出用极值理论估计差分模糊测试漏检风险,并通过提前停止提升测试效率。
面向代码智能的自动提示生成:微信中的实证研究与经验
实证分析指令生成与多步推理对代码智能任务的作用,并提出融合最佳方法的自动提示生成方案。
NATE:面向 Android 应用中网络相关故障检测的网络感知测试增强器
提出网络感知测试增强器 NATE,用好奇心驱动强化学习注入网络事件,提升 Android 应用网络相关故障检测。
理解 Kubernetes 生态系统中的资源注入漏洞
首个针对 Kubernetes 资源注入漏洞的大规模实证研究,揭示其字段、成因、特权操作与修复策略。
PrioTestCI:面向 CI 优化的 GitHub 工作流中高效测试用例优先级排序
提出 PrioTestCI,在 GitHub Actions 中优先重跑曾失败测试,失败则提前终止,从而缩短 CI 时间。
面向自动驾驶的专家混合模型中基于路由熵的未见数据检测
提出路由熵,利用 MoE 模型内部路由分布的不确定性检测分布外数据,并可与现有输出方法互补。
面向微服务系统的基于超图神经网络的多粒度根因定位
提出 HyperRCA,以超图神经网络建模微服务异构关系,实现主机、服务、实例的多粒度根因定位。
HybridSIMD:集成自动调优能力的超级 C++ SIMD 库
以统一接口和算子级协作后端整合现有 SIMD 库,并用分层搜索自动调优实现免手工的高性能。
无头环境中的 GUI 练习动态测试
提出一种在无图形环境下模拟用户交互并验证应用状态的 GUI 练习动态测试方法,并在大规模课程中验证其可扩展性。
SateLight:一种面向卫星计算的卫星应用更新框架
提出面向卫星计算的应用更新框架 SateLight,结合容器化、内容感知差分与容错恢复,显著降低传输延迟并保证更新正确性。
2024266 篇 · Proceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering
LLM 遇上界模型检测:神经符号循环不变式推断
提出“查询-过滤-重组”策略,用 LLM 生成候选循环不变式、以有界模型检测筛选谓词并组装,再由 SMT 求解器校验。
无循环展开的有界模型检测中由LLM生成的循环不变式
用LLM生成循环不变式并由一阶定理证明器校验,从而在CFG层面消除循环,扩展有界模型检测对无界循环程序的验证能力。
基于大语言模型的证明自动化
提出 PALM:让 LLM 先生成证明,再用符号方法迭代修复低层错误,大幅提升 Coq 形式证明自动化成功率。
基于大语言模型的语义增强间接调用分析
提出 SEA,用 LLM 生成间接调用与目标函数的语义摘要来过滤虚假目标,提升静态分析精度。
CoqPilot:基于 LLM 生成证明的插件
提出 CoqPilot:一个 VS Code 插件,结合 LLM 与传统方法自动填补 Coq 证明空洞,并提供基准测试平台。
Parf:面向抽象解释的自适应参数精化
提出全自动框架 Parf,将静态分析器外部参数建模为随机变量并增量精化,在时间预算内显著降低误报。
模型即代码:面向预训练模型枢纽的恶意代码投毒攻击测量研究
首个针对 Hugging Face 预训练模型枢纽恶意代码投毒的系统性测量研究,并提出并落地了检测流水线 MalHug。
B4:面向似真代码解与似真测试的最优评估
提出贝叶斯框架下用似真测试选择最佳代码解的最优策略及其可计算近似 B4。
概率程序的语言无关静态分析
提出语言无关的概率程序静态分析框架 LASAPP,支持五种概率语言并实现四类可证正确的分析。
探究大语言模型在定向测试输入生成上的有效性
系统实证比较 LLM 提示方法与基于约束的符号执行在定向测试输入生成上的效果与局限。
WaDec:使用大语言模型反编译WebAssembly
提出基于大语言模型的反编译器WaDec,用于提升WebAssembly二进制反编译输出的可读性。
基于大语言模型赋能CVE描述的有效漏洞函数识别
提出利用大语言模型从CVE描述中识别漏洞根因所在函数,以支持漏洞可达性分析与复现等下游任务。
从语义视角重新审视合并冲突解决问题
提出 sMerge,从程序行为语义出发,将合并冲突解决转化为针对性测试生成,并形式化定义了冲突问题。
基于LLM的预言机引导智能合约漏洞多样性与漏洞利用合成
提出XploGen,用业务逻辑的oracle规约引导LLM合成智能合约漏洞利用,兼顾多样性与具体exploit示例。
翻译巨人、推理挑战:可满足性辅助的语言模型用于检测冲突需求
提出 SAT-LLM,将 SMT 求解器与 LLM 协同,用于检测软件需求冲突,实验优于纯 LLM 方法。
COBOL 到 Java 转换的自动验证
提出基于符号执行的测试生成框架,自动验证 COBOL 到 Java 翻译的语义等价性。
一种像素级可解释的卷积神经网络方法及其应用
提出基于引导符号执行的像素级CNN可解释方法,并用于提升对抗鲁棒性。
使用梯度下降学习 DNN 抽象
提出用连续参数表示 DNN 抽象构造,并用梯度下降搜索抽象空间,避免 CEGAR 陷入次优抽象。
HITS:基于方法切片的高覆盖率 LLM 单元测试生成
将复杂焦点方法切片后让 LLM 逐片生成单元测试,显著提升行与分支覆盖率。
ContractTinker:LLM赋能的真实世界智能合约漏洞修复
提出 ContractTinker,利用思维链与静态分析引导 LLM 修复真实智能合约漏洞。
CoDefeater:利用大语言模型在保证案例中寻找反驳(defeaters)
提出 CoDefeater,用 LLM 自动发现安全保证案例中的 defeater,提升案例完整性与可信度。
AdvSCanner:结合LLM与静态分析生成对抗性智能合约以利用重入漏洞
提出AdvSCanner,结合LLM与静态分析生成对抗性智能合约,以利用重入漏洞并展示攻击可行性。
计算笔记本中上下文感知的数据整理代码生成
提出 CoCoMine 与 CoCoNote,并设计 DataCoder,提升计算笔记本中利用多模态上下文的数据整理代码生成。
MiniChecker:检测小程序中滥用权限请求行为的数据隐私风险
提出 MiniChecker,自动检测小程序滥用权限请求行为,在真实数据集中发现大量隐私风险小程序。
跨语言代码克隆检测:当 LLM 不敌基于嵌入的分类器
论文实验比较 LLM 与嵌入分类器在跨语言代码克隆检测上的表现,发现嵌入模型更稳健。
面向高效的 Python 静态类型错误检测
通过实证研究提炼四项关键静态分析特性并实现工具 Pyinder,在 68 个真实类型错误中检出 34 个,远超现有工具合计的 16 个。
MADE-WIC:用于探索代码弱点的多标注数据集
发布大规模多标注代码函数与注释数据集,支持代码弱点和技术债检测工具的评测与比较。
AgoneTest:利用大语言模型自动创建与评估单元测试
提出 AgoneTest,可规模化地用 LLM 自动生成并评估类级单元测试套件,并发布新数据集与质量评估方法。
弥合 LLM 代码翻译中的鸿沟:用调用图与桥接调试器减少错误
提出 TransGraph:借调用图与桥接调试器增强 LLM 代码翻译,显著降低编译与运行时错误。
使用AI自动化遗留软件应用的现代化
提案用AI自动化遗留软件现代化,涵盖单体转微服务、C到Rust翻译及缺陷检测。
RepoSim:通过用户行为模拟评估代码补全的提示策略
提出 RepoSim 基准,通过回放 IDE 用户行为、模拟仓库演化来评估代码补全提示策略与用户接受率。
定量符号非等价分析
提出定量符号非等价分析,可量化程序行为差异并展示其在 EqBench 上对 C 程序版本非等价推理的有效性。
UFront:面向深度学习的统一 MLIR 前端
提出两阶段算子到算子编译流程的统一 MLIR 前端,兼容多框架模型并提升编译与执行效率。
用动态分析增强组合式静态分析
将动态分析数据注入 Infer 的 Erlang 组合静态分析,在 WhatsApp 代码上显著提升缺陷检出。
使用依赖-保证推理验证 Option 类型
首个基于可靠理论的 Option 类型误用静态验证器,结合依赖-保证推理与大规模实证研究。
性能缺陷的形式化处理
提出用程序不变式形式化刻画循环程序中的性能缺陷,并支持补丁的形式化验证与加速评估。
语义感知的源代码建模
通过训练深度神经网络学习代码的统计规律并融入语义信息,以自动化代码生成、缺陷修复和程序分析。
理解代码审查中的开发者-分析器交互
通过分析静态分析器评论引发的开发者对话情感与意图,衡量其在代码审查中的有用性。
iSMELL:结合专家工具集与大语言模型进行代码异味检测与重构
提出 iSMELL,用专家混合(MoE)为代码异味选择合适专家工具,并用检测结果增强 LLM 重构能力。
GraphCoder:基于代码上下文图的粗到细检索增强仓库级代码补全
提出 GraphCoder,用代码上下文图与粗到细检索增强 LLM 的仓库级代码补全。
LeGEND:大语言模型辅助的自动驾驶系统场景生成自顶向下方法
提出LeGEND,用两阶段LLM将自然语言功能场景转为形式化逻辑场景,实现多样且关键的ADS测试场景生成。
面向工业环境的开源软件供应链投毒攻击鲁棒检测
提出 OSCAR:面向 NPM/PyPI 的动态投毒检测流水线,通过沙箱执行、模糊测试与切面行为监控降低误报。
语义侦探:利用大语言模型识别庞氏合约
提出首个无需标注数据的LLM零样本思维链方法PonziSleuth,检测智能合约庞氏骗局,平衡准确率达96.06%。
JavaBench:面向大型语言模型的面向对象代码生成基准
提出项目级 Java 基准 JavaBench,系统评测 LLM 生成面向对象代码的能力,发现其远逊于本科生。
Coding-PTMs:如何为漏洞检测中的代码嵌入寻找最优代码预训练模型?
实证表明不同代码预训练模型的嵌入对漏洞检测性能影响显著,并提出基于嵌入指标与随机森林推荐最优模型的 Coding-PTMs 框架。
1+1>2:融合深度代码行为与元数据特征用于恶意 PyPI 包检测
提出 Ea4mp,融合代码行为深度特征与元数据特征,提升恶意 PyPI 包检测精度与召回,并发现新恶意包。
基于检索增强LLM的低成本UI自动化测试:以微信为例
结合检索增强LLM与机器学习,为工业级App生成低成本UI自动化测试,微信上以0.34美元实现90%自动化率。
半监督代码翻译:克服平行代码数据稀缺
提出半监督方法 MIRACLE,通过合成高质量平行代码数据与课程学习,缓解代码翻译数据稀缺并提升多语言翻译性能。
Copilot 在环:使用 Copilot 修复 Copilot 生成的 Python 代码中的代码坏味
构建 Copilot 生成 Python 代码的代码坏味数据集,并评估 Copilot Chat 在不同提示下修复坏味的效果。
大型代码模型在API推荐中的系统评估:何时用、用哪个与如何用
构建API推荐基准,系统评测九种大型代码模型在“何时用、用哪个、如何用”三个场景下的能力。
归因引导的面向代码补全模型的对抗代码提示生成
提出 AdvPro,用梯度归因定位关键代码并结合 14 种保语义变异策略,自动生成对抗代码提示攻击代码补全模型。
面向代码生成的结对编程框架:通过多方案探索与反馈驱动精化
提出PairCoder,用导航员与驾驶员两个LLM智能体结对编程,通过多方案探索与执行反馈迭代提升代码生成准确率。
面向单元测试生成的大语言模型与提示工程:一项大规模评估
大规模评估大语言模型与提示策略在单元测试生成中的效果与局限。
Magneto:一种通过 LLM 赋能定向模糊测试逐步利用依赖库漏洞的方法
提出 Magneto,利用 LLM 赋能的定向模糊测试逐步探索多步调用链,以利用依赖库中的漏洞。
标记还是不标记:将 C 的 union 翻译为 Rust 的 tagged union
提出静态分析技术,在 C 到 Rust 翻译中识别 tag 字段并将 C union 替换为 Rust 的 tagged union,以消除不安全特性。
STASE:静态分析引导的符号执行用于 UEFI 漏洞签名生成
提出 STASE,结合规则静态分析与符号执行,自动生成 UEFI 漏洞签名,发现 PixieFail 与 EDKII 漏洞。
FastFixer:一种高效且有效的编程作业修复方法
提出面向编程作业修复的微调策略与推理加速方法,提升LLM修复效果与速度。
BenchCloud:面向可扩展性能基准测试的平台
提出 BenchCloud,一个与 BenchExec 集成的弹性可扩展基准测试平台,支持跨数百节点的大规模工具性能评测。
检测隐藏依赖以解开提交纠缠
提出 HD-GNN,通过细粒度全局异质有向图检测代码变更间的隐藏依赖,以解开纠缠提交。
去芜存菁:利用执行反馈对生成的代码候选进行排序
提出 RankEF,用多任务学习将代码分类与执行反馈生成结合,无需执行代码即可对 LLM 生成的代码候选排序。
基于LLM的Java并发程序到ArkTS转换器
用 LLM 思维链分链翻译 Java 并发程序为 ArkTS,并以 ThreadBridge 库在 ArkTS 上模拟 Java 共享内存模型。
ComplexCodeEval:面向更复杂代码的大代码模型评估基准
提出 ComplexCodeEval 基准,用更复杂代码和多任务场景评估大代码模型,弥补现有基准场景单一的问题。
SpiderScan:基于图行为建模与匹配的恶意 NPM 包实用检测
提出 SpiderScan,用图行为建模与匹配检测恶意 NPM 包,减少对敏感 API 和人工确认的依赖。
揭示安全补丁演化的特征与影响
首次系统实证研究开源项目安全补丁演化,揭示其频率、模式及对下游 1-day 漏洞分析工具的影响。
面向程序分析器的基于约束的测试预言(oracle)
用 SMT 约束生成带已知安全性的程序作为测试预言,检测程序分析器自身的可靠性与精度缺陷。
ROCAS:基于信息物理协同变异的自动驾驶事故根因分析
提出 Rocas,通过物理-网络协同变异与差分分析,精确定位自动驾驶事故的触发实体与系统误配置。
通过歧视空间分析的近似引导公平性测试
提出黑盒个体公平性测试算法 Aft,用决策树近似模型采样路径生成歧视实例。
代码语言模型对低可读性代码的理解效果如何?
揭示代码摘要模型对低可读性代码脆弱,并发布考虑可读性差异的评测基准 PoorCodeSumEval。
探索 ChatGPT 应用生态:分发、部署与安全
首次系统研究 ChatGPT 插件生态的分发、部署与安全隐私,揭示功能不均及认证与用户数据保护缺陷。
利用大语言模型辅助检测 Rust 代码注释不一致
提出借助大语言模型辅助检测 Rust 代码注释不一致,以减轻注释维护负担。
RCFG2Vec:考虑长距离依赖的二进制代码相似性检测
针对二进制相似检测的词表/OOV 与 CFG 局部结构局限,提出建模基本块长距离依赖的 RCFG2Vec。
基于互学习的对抗训练框架:增强代码模型的鲁棒性
提出 MARVEL,用互学习结合对抗训练提升深度代码模型鲁棒性,同时保持预测精度。
黑盒设置下的增量上下文无关文法推断
提出 Kedavra,通过分段示例字符串并增量推断,提升黑盒上下文无关文法推断的质量、速度与可读性。
REACT:面向二进制的 IR 级补丁存在性检测
提出首个 IR 级补丁存在性检测方法 React,通过符号执行提取特征并用 SMT 判定语义等价。
使用LLM挖掘与测试API测试中的约束
利用LLM挖掘API隐式约束并用于REST API测试,弥补状态码与模式校验的不足。
三个头胜过一个:基于类间代码实体依赖增强的混合超图神经网络推荐 Move Method 重构机会
提出 HMove,用类间代码实体依赖超图与混合超图神经网络结合大语言模型,推荐 Move Method 重构机会。
RepoGenix:基于语言模型的双上下文辅助仓库级代码补全
RepoGenix 通过相似与相关双上下文的感知选择压缩提示,在不增加延迟的前提下提升仓库级代码补全性能。
程序分析器的 Interrogation Testing:面向可靠性(soundness)与精度问题
提出 Interrogation Testing 方法,用于检测程序分析器中的 soundness 与精度缺陷,弥补现有测试方法的不足。
类型化与困惑:研究渐进类型(gradual typing)的意外危险
通过 3 万个开源仓库的实证研究,揭示渐进类型标注可能误导开发者、削弱运行时检查并引发类型混淆。
基于不可满足性证明的带关系对象一阶逻辑诊断
为 FOL* 不可满足性结果定义证明格式与规则,并给出证明校验与基于证明的诊断方法,用以解释不可满足的成因。
FixKit:面向 Python 的程序修复集合
提出 FixKit,一个整合五种修复方法的 Python 自动程序修复框架,支持组件替换与比较。
多故障程序的自动修复:障碍、方法与前景
系统研究多故障程序自动修复的障碍,并提出迭代、并行、同时三种修复策略。
DevMuT:基于开发者专业知识的变异测试深度学习框架
提出 DevMuT,利用开发者经验驱动的变异算子和约束测试深度学习框架,发现更受开发者关注的重要缺陷。
我的模型哪里错了?利用语义数据切片识别系统性问题
提出 SemSlicer,用大语言模型进行语义数据切片,无需预定义特征即可定位模型的系统性问题。
OpenTracer:面向智能合约不变式生成及更广泛应用的动态交易轨迹分析器
提出开源工具 OpenTracer,完整追踪智能合约交易每一步执行信息并据此推断不变式。
TypeFSL:通过过程间数据流分析与少样本学习从二进制代码中进行类型预测
提出 TypeFSL,用过程间数据流切片与少样本学习从剥离二进制中恢复类型,缓解类型分布不均衡。
通过蜕变测试评估机器翻译系统中的术语翻译
提出用蜕变测试评估机器翻译术语翻译,摆脱对参考译文和双语词典的依赖。
面向预测性变异测试的代码变异识别
提出 SODA 模型,用变异语义学习与对比采样捕捉变异体细微差异,提升预测性变异测试性能。
JavaScript环境下基于变异的深度学习框架测试方法
提出DLJSFuzzer,通过面向缓存复用与推理加速的变异规则对JavaScript深度学习框架进行模糊测试,发现大量崩溃和数值缺陷。
DataRecipe——如何为 CodeLLM 烹制数据?
系统考察代码生成模型训练数据的质量属性与处理策略,揭示数据设计选择对模型性能的显著影响。
基于组件的动态系统的组合式安全分析
提出一种面向动态架构组件系统的自动化形式化安全分析方法,通过抽象与增量分析提升运行时可扩展性。
为持久内存发现疑似程序不变式
结合静态依赖分析与动态反事实推理,自动推断持久内存程序的持久化对象与顺序性质,并用于缺陷检测。
自主机械臂中深度学习视觉模型的仿真内测试
提出 MARTENS 框架,将 Isaac Sim 与进化搜索结合,在仿真中测试并修复机械臂深度学习视觉模型。
可视化并理解模糊测试的内部机制
提出可视化手段来揭示灰盒模糊测试内部组件的行为,以弥补仅靠覆盖率或漏洞发现能力评估改进效果的不足。
面向 Java 空指针异常的有效单元测试生成
提出静动态分析引导的单元测试生成策略,显著提升 Java 空指针异常的发现效果。
通过 LLM 提升软件设计与开发者体验
探索用生成式 AI 理解高层设计、增强软件制品生成,并提出组织/任务特定方法来提升开发者体验。
检测 C++ 序列容器中的元素访问 Bug
指出 C++ STL 序列容器元素访问缺乏边界检查,现有静态分析器因难以精确跟踪容器大小和迭代器目标而难以检测此类缺陷。
特征与特征交互的黑盒可观测性
提出黑盒可观测性概念与判定程序,判断特征及其交互效应能否通过配置黑盒观测被隔离。
PatUntrack:为未追踪不安全代码的 issue 报告自动生成补丁示例
提出 PatUntrack,利用 LLM 从无追踪不安全代码的漏洞 issue 报告自动生成 Top-K 不安全代码与补丁示例对。
flowR:面向 R 的静态程序切片器
提出 flowR,一个面向 R 的静态程序切片与数据流分析工具,集成到 VS Code 辅助脚本理解与维护。
通过混合数据流分析提升 R 程序的理解
针对 R 动态特性,提出融合控制与数据流的静态分析及动静结合方法,以提升 R 程序理解。
迈向自动化配置文档
提出 ConfiGen 愿景:自动生成配置选项的用户文档,并以后端分析给出选项的定义、使用及其到代码行的可追溯性。
真实世界 Rust 系统中 interior unsafe 代码封装的半自动验证
提出 unsafety isolation graph 与隔离类型/结构模式,将 Rust 的 interior unsafe 封装拆为自包含审计单元并做半自动验证。
GPTZoo:面向研究社区的大规模 GPTs 数据集
发布含 730,420 个 GPT 实例的大规模数据集,提供元数据、指令、知识文件和 CLI 检索工具。
Trident:通过基于抽象语法树的神经网络检测 SQL 注入攻击
提出 Trident,利用基于 SQL 抽象语法树的神经网络建模上下文,以检测 SQL 注入攻击。
将程序分析技术应用于大型机应用理解的实践经验报告
报告一个面向 COBOL/PL/I 大型机应用的静态分析工具,通过功能热点指标辅助现代化并实现可扩展分析。
基于模型模糊测试与状态求解的 Simulink 模型测试用例生成
提出结合模型模糊测试与状态求解的 Simulink 测试用例生成方法,以应对复杂分支与状态。
通过自动化安全属性推理保护云资源
提出 SI 工具,通过自动化安全属性推理主动检测云资源配置中的安全风险,并集成到 AWS 安全审查流程中。
大型语言模型在单元测试生成中的评估
首次实证评估多种开源LLM在不同提示设置下的Java单元测试生成能力,并与GPT-4和Evosuite对比。
DeepREST:利用深度强化学习自动生成 REST API 测试用例
用深度强化学习从黑盒交互中挖掘 REST API 的隐式约束,自动生成高覆盖、易检错的测试用例。
测试驱动开发与基于大语言模型的代码生成
实证表明在提示中加入测试用例能显著提升LLM函数级代码生成的成功率,验证TDD范式在AI辅助编程中的价值。
面向检索增强代码生成的偏好引导重构式调优
提出RRG框架,在检索器与生成器之间加入代码重构器,消除冗余并弥合偏好差距,提升代码生成效果与效率。
LLM 驱动应用中的不可感知内容投毒
揭示 LLM 驱动应用的内容投毒攻击:对人类看似良性却诱导模型输出恶意响应,并系统评估其效果与现有防御局限。
VulZoo:一个综合性的漏洞情报数据集
构建覆盖 17 个漏洞数据源的统一数据集 VulZoo,并提供源间关联与自动化数据处理工具。
探索大语言模型在自动程序修复中的参数高效微调
构建 APR-Instruction 指令数据集,系统评估四种 PEFT 方法在自动程序修复上的效果,最佳模型多修复 58% 缺陷。
免演示:迈向更实用的基于大语言模型的日志解析
提出无需演示示例的 LLM 日志解析器 LogBatcher,借聚类、缓存匹配与批处理提示降低调用开销。
团结就是力量:基于协作 LLM 智能体的代码审查者推荐
提出多智能体协作的 LLM 代码审查者推荐方法 CoRe,在四个项目上超越现有方法并提升可解释性。
面向敏捷软件工程的 LLM 增强多智能体系统
提出 CogniSim 生态系统,将 LLM 与多智能体系统结合并引入心理理论,用于敏捷软件工程并仿真团队配置效果。
AI 驱动的 Java 性能测试:平衡结果质量与测试时间
用时间序列分类模型在运行时预测 Java 微基准预热阶段结束,从而更优地平衡性能测试结果质量与测试时间。
单样本故障根因分析的潜力:大语言模型与小分类器的协作
提出 LasRCA 框架,以 LLM 标注反馈迭代增强小分类器,实现云原生系统的单样本故障根因分析。
评估 AIGC 检测器在代码内容上的实证研究
首次系统评测 13 个 AIGC 检测器在 223 万条代码相关内容上的表现,发现其效果弱于自然语言且泛化困难。
特性引出中的灵感获取:App Store 与基于 LLM 的方法对比
对比 App Store 与 LLM 两种特性引出方法,发现 LLM 在新颖应用范围上更强,但推荐可行性与人类把关仍关键。
AACEGEN:注意力引导的深度代码模型对抗样例生成
提出注意力引导的对抗代码样例生成方法,借助模型注意力分布定位关键代码元素,在语义保持变换约束下高效生成自然隐蔽的对抗样例。
在 IBM 量子计算机上通过对易 Pauli 串进行量子程序测试
提出 QOPS,基于 Pauli 串的测试用例与可集成 IBM Estimator API 的测试预言,利用对易性质免除完整规约。
微服务分解技术:一项独立的工具比较
独立比较八种微服务分解工具,在四个基准应用上评估其优劣并提出未来研究方向。
VulAdvisor:面向软件漏洞修复的自然语言建议生成
提出 VulAdvisor,用 ChatGPT 抽取 oracle 构建数据集并微调 CodeT5,为漏洞修复生成自然语言建议。
基于变分交互的多语言程序翻译联合学习模型
提出 VIM-PT,利用变分推断和交互信息解耦语言共享与特有特征,联合训练多语言程序翻译统一模型。
LLM4Workflow:一个基于 LLM 的自动化工作流模型生成工具
提出 LLM4Workflow,利用 LLM 嵌入 API 知识,从描述自动生成可执行工作流模型。
RMCBench:评估大语言模型对恶意代码的抵抗能力
提出 RMCBench 基准,用于评估大语言模型抵抗生成恶意代码的能力。
MR-Adopt:面向蜕变测试的输入变换函数自动推导
提出 MR-Adopt,从硬编码的蜕变关系中自动推导输入变换函数,使 MR 可复用于新源输入。
面向 Android 应用的通用且实用的基于属性的测试
提出通用实用的 Android 应用基于属性测试技术,含属性描述语言与两种探索策略,工具 Kea 发现大量功能缺陷。
MaskDroid:基于掩码图表示的鲁棒 Android 恶意软件检测
将掩码图重建机制引入 GNN 检测框架,并辅以对比学习,使 Android 恶意软件检测兼具强判别力与对抗鲁棒性。
基于LLM的社会关键系统的质量保证概念框架
提出一个概念框架,将LLM智能体同时作为社会关键系统的驱动与质量保证工具,在预生产和运行时持续评估与改进系统。
ChatBR:使用 ChatGPT 自动评估和改进缺陷报告质量
提出 ChatBR,利用 ChatGPT 自动评估并补全缺陷报告中缺失的关键信息,以提升报告质量。
导航移动测试评估:Android GUI 测试指标的全面统计分析
首次对 Android GUI 测试指标开展全面统计分析,揭示覆盖率和故障检测的可靠性差异并给出评估建议。
面向编码任务的大语言模型的攻击与防御
研究小代码模型对抗样本向大语言模型的迁移性,提出基于LLM的扰动生成攻击及无需重训练的提示防御。
AutoDW:利用大语言模型的自动数据整理
提出 AutoDW,用 LLM 实现端到端自动数据整理并生成可复现源码。
同一应用,不同行为:揭示 Android 应用中的设备特定行为
首个大规模实证研究,用三阶段静态分析框架检测并归类 Android 应用中的设备特定行为。
协作式多智能体强化学习能否提升自动 Web 测试?一项探索性研究
提出首个多智能体强化学习 Web GUI 测试系统 MARG,用集中/分布式经验共享协调多智能体,大幅提升探索覆盖与缺陷检出。
基于训练动态的 DNN 测试输入优先级排序
提出 TDPR,利用训练动态刻画测试输入的学习轨迹并用学习排序模型进行优先级排序,以低成本优先发现缺陷。
通过整合文件与方法依赖的混合回归测试选择
提出混合回归测试选择工具JcgEks,整合静态方法调用图与动态文件级分析,在保证安全性的同时提升精度并减少测试时间。
白盒模糊测试企业级 RPC API 中的种子注入与 Mock:一项工业案例研究
通过支持已有工业测试用例播种与外部服务 Mock,将白盒模糊测试器 EvoMaster 落地到美团 40 个企业级 RPC API 并验证其增量收益。
通过投影 d-DNNF 编译实现特征模型的高效切片
提出投影 d-DNNF 编译,将特征模型切片与知识编译合并为一步,显著降低运行时间。
DRMiner:从 Jira 问题日志中提取潜在设计理由
提出 DRMiner,从 Jira 问题日志中抽取设计备选方案及其论证,以缓解设计理由文档缺失问题。
使用小规模语言模型实用地理解代码变更
通过专家构建的 HQCM 数据集微调小语言模型,在代码变更理解任务上可与大模型媲美甚至更优。
COBRA:面向智能合约的交互感知字节码级漏洞检测器
提出COBRA,首个融合语义上下文与函数接口的字节码级智能合约漏洞检测框架。
持续集成中的开发者施加加速:一种检测方法与模式目录
提出检测开发者自定义 CI 加速策略的方法,并归纳出可复用的模式目录。
协作代码生成模型的前景与风险:平衡有效性与记忆化
研究集中式、联邦与增量式协作训练对代码生成效果及数据记忆泄露风险的影响。
利用自动化 GUI 原型进行需求自启发
提出 SERGUI,借助 GUI 检索与 LLM 推荐实现需求自启发并自动生成初始 GUI 原型。
HighGuard:智能合约的跨链业务逻辑监控
提出 HighGuard,用 DCR 图作为形式规约,跨链动态监控智能合约交易,检测业务逻辑违规且无误报。
AXA:通过集成单语言分析实现跨语言分析
提出 AXA,通过集成已有单语言静态分析来支持多语言软件的跨语言分析。
修复依赖正则表达式的字符串函数
针对依赖正则的字符串函数,提出修复/合成思路,覆盖子串匹配与 replacement 参数。
面向 HarmonyOS 应用的基于模型的 GUI 测试
提出页面迁移图模型并静态构建,实现 HarmonyOS 应用的模型驱动 GUI 测试工具,显著提升覆盖率。
代码优化如何影响 Android 应用的第三方库检测?
系统研究代码优化对 Android 第三方库检测的影响,并提出抗优化、混淆与缩减的检测工具 LibHunter。
Skyeye:通过分析对抗性智能合约检测即将发生的攻击
提出 Skyeye,通过分析对抗性智能合约来检测即将发生的攻击。
通过增强的测试程序变异实现编译器缺陷隔离
提出增强测试程序变异方法,为编译器缺陷隔离生成更充分测试用例,提升隔离效果。
利用解决方案设计增强自动程序修复
提出利用 issue logs 中的设计理由与解决方案设计来增强自动程序修复,覆盖缺陷修复、新功能开发与功能增强。
Ansible Lightspeed:面向 IT 自动化的代码生成服务
提出基于 LLM 的 Ansible Lightspeed 服务,将自然语言提示生成 Ansible YAML,用于 IT 自动化。
程序合成遇上视觉“下一个是什么”谜题
将 WCN 谜题生成建模为程序合成问题,设计 PuzzlerLang 并用学习模型优化吸引度,自动生成类人谜题。
车辆领域特定语言:统一低代码汽车开发中的建模与代码生成
提出车辆领域低代码 DSL VDSL,统一图形化建模与自动代码生成,降低开发成本并支持 OTA 更新。
FAIL:使用 LLM 分析新闻中的软件故障
提出 FAIL,用 LLM 自动分析新闻中的软件故障,以替代人工并扩大回顾性故障分析规模。
搬起石头砸自己的脚——高效代码在编译器优化中导致低效
论文揭示:开发者手工优化出的“高效”代码,可能反而让编译器生成更低效的代码。
PatchTrack:分析 ChatGPT 对拉取请求中软件补丁决策的影响
分析 ChatGPT 如何影响拉取请求中的软件补丁决策,尤其关注其链接共享功能对协作与代码审查的作用。
从非贡献者视角看构建问题的解决
首次研究非贡献者遭遇的开源软件构建问题,揭示其症状与成因并指出难解问题。
基于上下文学习的建模操作合成轨迹生成
提出结合建模事件日志与LLM上下文学习的框架,用于生成建模操作合成轨迹并推荐相关操作。
Depends-Kotlin:一种跨语言 Kotlin 依赖提取器
开发 Depends-Kotlin,支持 Kotlin 内部及 Kotlin-Java 跨语言依赖提取,并验证其精度与性能。
面向显式与隐式提交信息生成的学习型技术实证研究
系统实证比较学习型方法在显式与隐式提交信息生成任务上的表现与适用性。
面向可视化的精化类型
提出基于精化类型的可视化合成范式,并用轻量级双向类型检查剪枝,显著加速生成数据变换与可视化程序。
Vision:识别开源软件漏洞的受影响库版本
提出识别开源软件漏洞受影响库版本的新思路,强调跨包注册表一致性并区分漏洞方法与补丁语句的重要性。
版本控制合并工具评估
评估版本控制合并工具:干净的自动合并未必正确,可能破坏程序行为并增加开发者成本。
如何抚摸双头蛇?用 Hera 解决跨仓库兼容性问题
提出 Hera 工具以检测和解决跨软件仓库的包依赖兼容性问题。
通过转换测试夹具降低测试运行时间
提出转换测试夹具来降低测试运行时间,以缓解测试集缩减可能漏检故障的风险。
PACGBI:从待办事项(backlog item)自动生成代码的流水线
提出集成到 GitLab CI 的 LLM 流水线,从 backlog 条目自动生成代码并创建合并请求。
Snopy:桥接样本去噪与因果图学习以实现有效的漏洞检测
提出 Snopy,将样本去噪与因果图学习结合,从含噪声的漏洞样本中学习真实漏洞模式以提升检测效果。
挖掘用于减少信息流控制违规的变异算子
从漏洞数据库中挖掘信息泄漏修复补丁,归纳出10类可用于自动修复信息流控制违规的变异算子。
结合组合测试与主动学习构建机器学习中的代理模型
提出用组合测试与主动学习构建代理模型,以近似并分析黑盒机器学习模型的行为。
SLIM:面向微服务中不平衡数据的可扩展、可解释轻量级故障定位算法
用决策规则集在基数约束下优化 F1,为变更服务中的不平衡故障提供可解释、低开销的故障定位。
弥合真实世界与合成图像之间的差距:面向自动驾驶系统测试
研究图像域转换器对自动驾驶 DNN 测试的影响,并提出 SAEVAE 以缩小真实与合成图像分布差距。
迈向数据有效性的个体公平性测试
提出结合数据有效性的个体公平性测试框架 Ift-v,并初步表明现有方法找到的歧视实例许多可能无效。
自动化 DBMS 的挑战与机遇:一项定性研究
通过访谈11名DBMS专家,揭示DBMS管理自动化的实践挑战与采用机遇。
动态评分代码 Token 树:一种生成高性能代码的新型解码策略
提出 DSCT-Decode 解码策略,用代码 Token 树和多目标评分引导 LLM 生成更正确且高性能的代码。
LeanBin:利用提升与重编译对二进制进行去膨胀
提出 LeanBin,结合动态执行轨迹与无启发式静态分析进行二进制提升和重编译,实现应用及共享库的去膨胀与特化。
DeployFix:通过约束求解实现软件部署失败的动态修复
提出 DeployFix,用约束求解自动定位并修复动态部署环境中的配置冲突导致的部署失败。
通过灰盒分析提升自动程序修复的效率
提出灰盒补丁调度算法 Gresino,利用程序分支命中计数指导补丁搜索,提升自动程序修复效率。
超越手工建模:利用设计文档自动生成 GUI 模型
提出 DemGen,利用设计文档和视觉模型自动生成 IFML GUI 模型,并评估其支持基于模型测试的实用性。
结合覆盖率与专家特征及语义表示用于巧合正确性检测
提出统一模型 CORE,融合覆盖率特征、专家特征与测试/焦点方法的语义表示,显著提升巧合正确性测试用例的检测效果。
通过系统化调度与前缀导向反馈检测中断驱动程序的原子性违反
提出一种动态方法,用系统化调度与前缀导向反馈检测中断驱动程序中的原子性违反,提升精度与效率。
FAST:通过特征选择提升基于不确定性的神经网络测试优先级排序方法
提出 FAST,通过引导式特征选择剪枝噪声特征来增强现有基于不确定性的 DNN 测试优先级排序,缓解高置信度错误。
不要忽视你手中的信息:利用异常触发流定位软件故障
提出 EXPECT,利用异常触发流定位软件故障,并缓解并列问题,显著提升定位效果。
SemantiLog:基于语义相似度的日志异常检测
将日志异常检测建模为语义相似度问题,用预训练语言模型监督编码器,无需模板提取即可检测异常。
Olympia:面向 Solidity 的模糊测试基准生成
提出首个面向智能合约模糊测试的基准生成工具 Olympia,并据此评测四个 Solidity 模糊器。
新型领域专家的涌现:基于生成式AI的软件功能点分析框架
首次提出基于大语言模型的FPA领域专家FPA-EX,自动从SRS抽取功能点条目,提升分析准确率与效率。
代码度量能提升计算笔记本的文档生成吗?
该论文验证在计算笔记本文档生成中引入代码度量可显著提升深度学习模型准确率。
将模糊测试驱动程序生成应用于 OEM Android 框架的原生 C/C++ 库:障碍与解决方案
设计 FuzzGen++,解决 OEM Android 原生库上模糊测试驱动生成的兼容性、可用性与有效性障碍。
DynaMO:通过耦合混淆的深度学习算子保护移动端深度学习模型
提出全动态模型混淆策略 DynaMO,用随机耦合算子的线性变换在运行时保护移动端 DL 模型,抵御动态插桩攻击。
将变异测试集成到开发者工作流:一项工业案例研究
通过工业案例研究揭示变异测试融入持续集成与开发者工作流的技术挑战、信息需求与可视化呈现,并给出实践建议。
使用语言特定语法分隔符的半结构化合并
提出一种利用语言特定语法分隔符推断结构、无需解析的半结构化合并工具,显著减少伪冲突。
FIPSER:通过种子优先级排序改进 DNN 公平性测试
提出基于特征重要性与扰动潜力的种子优先级排序方法 FIPSER,提升 DNN 公平性测试中个体歧视实例对挖掘的效果与效率。
一种求解 Web 表单约束的通用方法
针对自动化测试中的 Web 表单填充,提出能突破字符串求解器局限的通用约束求解方法。
面向鲁棒的ML赋能软件系统:使用基尼系数检测分布外数据
提出无需OOD先验知识或超参数调优的基尼系数分布外检测方法,提升ML软件系统鲁棒性。
面向回归测试套件的高效增量代码覆盖率分析
提出面向回归测试套件的增量代码覆盖率分析,使代码变更后覆盖率计算高效且与RTS兼容。
GPP:一种图驱动的代码评审请求优先级排序器
提出 GPP,用多图表示与图神经网络利用代码评审请求的属性及关系,输出优先级排序列表。
C 项目中测试干扰的高效检测
对134个C项目开展大规模实证研究,揭示测试干扰现象及其对回归测试的影响。
灰盒模糊测试中的语法韧性:自动错误恢复
提出 AFLRepair,对输入做字节级变异后自动修复语法,使灰盒模糊测试能生成多样且合法的输入。
高效的代码导致编译器优化中的低效
从相反角度评估编译器优化:开发者手动优化可能反使GCC/LLVM生成更低效代码并暴露缺陷。
CoVeriTeam GUI:面向协作式软件验证的无代码方法
提出无代码 Web 前端,让用户通过拖拽组合现有验证技术来构建并执行软件验证工作流。
软件供应链风险:刻画、度量与缓解
围绕开源软件供应链风险展开刻画、度量与缓解研究,并呼应强制采用 SBOM 的行业与政策趋势。
狂野 Android 生态中 Replicas 的纵向分析
揭示 Android OEM 通过复制粘贴 AOSP 与其他 OEM API 代码引入私有 API(Replicas),从而加剧 API 泛滥。
Instructive Code Retriever:从大语言模型反馈中学习面向代码智能任务
提出 ICR 检索器,用树损失和 LLM 反馈选取示例,显著提升代码摘要、程序合成与缺陷修复的上下文学习效果。
言行一致:基于行为模型维护 IoT 系统一致性
提出基于行为模型的方法,为复杂异构 IoT 系统维持实时一致性,替代传统重试与回滚机制。
未经通知地提供:评估 Android 应用中数据传输的合规性
面向 Android 应用数据传输合规性,针对现有检测效率低和忽略物理目的地的问题。
Scaler:高效且有效的跨流分析
提出跨流分析 XFA 与 Scaler 剖析器,低开销、高精度地揭示跨组件/API 交互的时间开销与性能问题。
ARUS:自动从测试套件中移除不必要打桩的工具
提出 ARUS 工具,自动识别并移除测试套件中不再需要的 stubbings,提升测试代码的可维护性。
GrayDuck:动态语言反序列化中鸭子类型的达摩克利斯之剑
揭示鸭子类型误用会扩大动态语言反序列化漏洞的攻击面,并实现静态分析工具 GrayDuck 检测误用与评估危害。
软件基因组计划:通过遗传学原理解析软件
提出软件基因组计划,将源代码视为软件DNA,细粒度标注代码特征并构建基因组图谱,以支持开源治理和LLM代码训练。
Slicer4D:一种面向 Java 的基于切片的调试器
将动态切片能力集成到 IntelliJ IDEA 调试器,提供可视化界面并支持多种切片技术扩展。
什么造就了高质量的大语言模型训练数据集:从业者视角
通过访谈与全球问卷,提炼高质量LLM训练数据集的核心特征、预处理与质量评估方法及实践挑战。
通过交易图检测 Web3 中的恶意账户
提出 ScamSweeper 框架,利用交易图在大规模 Ethereum 数据上检测 Web3 诈骗与钓鱼账户,性能超越现有方法。
MRCA:基于多模态数据的微服务指标级根因分析
融合 trace、日志与指标的多模态数据,通过因果图与奖励机制将微服务根因定位细化到指标级。
基于因果推断的微服务系统根因分析:我们离目标还有多远?
系统评估了9种因果发现与21种根因分析方法,揭示其在微服务系统中效果、效率与泛化性的不足。
ART:面向微服务系统事件管理的统一无监督框架
提出无监督框架 ART,借助共享知识统一完成微服务系统的异常检测、故障分诊与根因定位。
SoVAR:从事故报告构建可泛化场景以用于自动驾驶测试
提出 SoVAR,从事故报告构建可泛化场景,以支持自动驾驶系统安全测试。
让每种模态在微服务故障诊断中发声:基于多模态自适应优化的方法
提出模态无关框架 Medicine,通过分模态编码与自适应优化平衡各模态学习节奏,提升微服务故障诊断。
在预测测试不稳定性时考虑执行失败的重要性
实证表明不稳定测试具有强故障发现能力,主张预测对象应从「不稳定测试」转向「不稳定测试执行」。
平衡依赖更新的质量与成本
将依赖更新建模为多目标线性规划,全局优化质量与成本并生成更新策略。
FaaSConf:面向无服务器工作流的 QoS 感知混合资源配置
提出基于多智能体强化学习的混合资源配置方法 FaaSConf,联合调优硬件资源与并发度,在保证端到端 QoS 的同时降低资源成本。
面向无监督日志异常检测的端到端 AutoML
提出 LogCraft,首个基于 AutoML 的端到端无监督日志异常检测框架,自动化特征工程与模型选择。
Android 应用日志中隐私泄露漏洞的综合研究
通过开发者调研与最新应用日志实证分析,填补 Android 日志隐私泄露漏洞研究的空白。
大语言模型中有害提示的高效检测
提出轻量级灰盒方法 ToxicDetector,利用毒性概念提示的嵌入向量与 MLP 分类器高效检测 LLM 有害提示。
CompAi:使用人工智能对隐私政策进行 GDPR 完整性检查的工具
提出 CompAi 工具,用 AI 语义分析隐私政策对 GDPR 的完整性,自动检测缺失要求,准确率约 96%。
释放数字的力量:通过数值 token 解析实现日志压缩
提出 Denum,通过数值 token 解析与字符串处理结合通用压缩器,实现高压缩比、高速度的日志压缩。
面向工业软件系统的 Web GUI 测试鲁棒等待策略
提出基于目标状态 DOM 差异的 Web GUI 测试等待策略,生成更鲁棒、代表性更强且低开销的测试。
Rust-twins:通过程序变异与双宏生成实现 Rust 编译器自动测试
提出 Rust-twins,用程序变异与双宏生成构造语义等价的程序孪生体,为 rustc 同时检测崩溃与误编译。
从应用评论中提取与伦理关切相关的软件需求
提出基于知识图谱的方法,从应用评论中抽取伦理关切、成因及对应软件需求。
从日志记录到泄露:Android 应用日志中的隐私泄露研究
基于 83 个 Android 应用的 6.7 万余条日志记录,揭示日志隐私泄露的普遍性及开发者认知差距。
NeuroJIT:利用现代开发者的神经生理与经验感知改进即时缺陷预测
提出 NeuroJIT,用开发者神经生理与经验感知特征刻画 commit 可理解性,以提升即时缺陷预测。
DroidCoder:面向 Android 的上下文增强检索增强生成式代码补全
提出面向 Android 的上下文增强 RAG 代码补全框架,并设计微调损失以更好利用上下文。
面向敏捷软件开发的上下文感知自动化 Sprint 计划生成
该论文研究面向敏捷软件开发的上下文感知自动化 Sprint 计划生成。
从 GitHub 社交网络自动推导开发者的技术专长
用图神经网络从 GitHub 社交网络学习开发者技术专长嵌入,并在四类推荐任务上验证有效性。
面向开源 Linux 发行版的定向内核模糊测试工业实践
与阿里巴巴及 OpenAnolis 社区合作,将定向灰盒模糊测试落地于开源 Linux 发行版内核,解决工业部署挑战并发现 11 个新内核缺陷。
基于相似应用描述与用户评论分析的数据驱动软件功能挖掘方法
提出融合 NER、BERT 与主题建模的移动应用功能挖掘与相似应用推荐方法,F1 达 87.38%。
大语言模型能理解代码风格计量吗?
微调五个大语言模型用于代码作者归属,发现其比传统方法更稳健、更抗对抗攻击。
MLOLET——机器学习优化的负载与耐久性测试:一份工业经验报告
提出并工业部署 MLOLET:用时间序列模型预测负载测试的吞吐与响应时间并确定提前停止点。
通过构建基于一致性的正常性来检测和解释 Web 篡改攻击引起的异常
提出基于一致性的正常性建模,检测并解释 Web 篡改攻击引发的运行时异常,缓解准确率与根因分析难题。
Android 恶意软件家族标注:来自工业界的视角
首次系统测量现有 Android 恶意软件家族自动标注系统,揭示标签随时间演化、系统分歧与披露优先级问题。
GlitchProber:推进大语言模型中 Glitch Token 的有效检测与缓解
提出 GlitchProber,面向大语言模型词表中的 Glitch Token 进行有效检测与缓解,以提升模型可靠性。
一种位置感知的 God Class 分解方法
提出位置感知的 ClassSplitter,结合代码度量与物理位置聚类及字段分配,自动分解 God Class。
迈向利用 LLM 缓解开源上手文档的信息过载
以 ChatGPT(GPT-3.5 Turbo)与 Gemini Pro 为案例,评估 LLM 简化开源新人上手文档以缓解信息过载的可行性。
AVIATE:利用制品翻译变体改进双语软件项目中基于IR的可追溯性恢复
提出AVIATE,利用多翻译器产生的翻译变体与跨制品共识双词项增强IR值,显著提升双语项目可追溯性恢复。
理解构建系统变更的影响
分析构建系统变更及其代码评审过程,揭示维护开销大、评审缺乏专家与工具支持的挑战。
一个可解释的自动化模型:衡量软件工程师贡献
提出可解释的自动化模型衡量软件工程师贡献,弥补现有实践依赖同行评审、缺乏客观透明工具的不足。
基于数据驱动分析的移动应用特性挖掘与推荐
提出 APPFIRE,结合 NER、BERT 与主题建模,从用户描述中自动挖掘并推荐相似移动应用特性。
DroneWiS:在真实风况下对小型无人航空系统的自动化仿真测试
提出 DroneWiS,利用 CFD 模拟真实风场,实现 sUAS 在复杂风况下的自动仿真测试。
面向任务关键边缘应用实时选择的特性模型切片
提出特性模型切片方法,支持任务关键边缘应用的实时配置选择。
面向动态配置的数据分发服务程序的差分模糊测试
提出 DDSFuzz,通过生成 DDS 动态网络配置输入并结合差分模糊测试,有效检测 DDS 程序缺陷。
迈向 Sandia National Laboratories 的长期科学模型可持续维护
提出 ECMF 平台以支持科学模型与工作流的长期可持续维护、自动评估和复用。
面向改进运行时的测试优先级排序
通过测试优先级排序在保持故障检出能力的同时降低回归测试的运行开销。
职业工程师完成一个编程微任务需要多少个番茄钟?
通过两个工业案例与调查发现,几乎所有编程微任务可在四个番茄钟(约两小时)内完成,支持兼职工程师参与。
关于卫星入侵检测系统应用方法论的愿景
提出面向卫星的入侵检测系统应用方法论愿景,涵盖多级规则与机器学习、组件部署、本体可视化与更新策略。
使用 Kaplan-Meier 生存函数与多项式回归评估开源软件可存活性
用 Kaplan-Meier 生存函数与多项式回归评估开源项目存活率,发现贡献者数量与项目热度是关键因素。
研究 Stack Overflow 中的版本管理
通过分析 2300 万条 Stack Overflow 帖子的修订历史,揭示开发者的内容维护行为。
发现 Rust 项目中的性能问题
挖掘 100 个 GitHub 知名 Rust 项目并收集 122 个性能缺陷,揭示动态检查与内存管理机制引发的性能问题。
基于测试扩展的 GUI 测试修复
提出基于测试扩展的 GUI 测试修复方法,利用特征覆盖搜索相似功能路径以修复失效事件,成功率 79.63%。
IdeoRate:面向开源软件意识形态的半自动化评估方法
提出 IdeoRate 半自动化评估方法,用于识别和评估开源项目中的意识形态,辅助利益相关者决策。
一种自动化上下文感知伦理协商方法的高层架构
提出上下文感知的伦理协商高层架构,自主系统用伦理档案、上下文与用户状态控制自主性,经协商达成各方伦理协议。
原生移动应用开发中采用微前端架构的可行性评估
评估微前端架构在原生移动平台上的适配方式、局限与挑战,发现静态开发侧组合可行但牺牲灵活性。
2023210 篇 · 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)
Eiffel:通过多项式外推推断显著浮点错误的输入范围
提出 Eiffel,用采样聚类与多项式外推推断浮点错误的输入范围,提升误差分析适用性。
迈向命令式深度学习程序到图执行的安全自动化重构
提出基于命令式张量分析的自动化重构方法,安全地将深度学习 eager 代码迁移到图执行。
面向 Python 的生成式类型推断
提出 Typegen,将静态分析步骤转为思维链提示,实现少样本、可解释的 Python 类型推断。
大型预训练语言模型赋能的 SMT 求解器验证
提出 LasT,用重训练-微调与数据增强驱动 LLM 生成 SMT 公式来模糊测试求解器,发现 65 个真实缺陷。
VALAR:以值流辅助的主动学习精简静态分析中的告警排序
提出 Valar,用值流分析与主动学习对静态分析告警排序,提升真告警优先级并抑制误报。
基于模糊测试的程序分析精确数据驱动近似
提出 PSP,用 fuzzing 样本概率近似可达状态,提升抽象解释与符号执行精度并辅助修复排序。
基于图表示学习的可SAT验证的LTL可满足性检查
提出融合语法与语义的LTL图表示OSUG,用图学习判定可满足性并生成可验证的可满足迹。
大型语言模型时代的整形手术假设
提出 FitRepair,以微调和检索/静态分析提示将整形手术假设引入 LLM 自动程序修复。
BUGSC++:一个高可用性的 C/C++ 真实世界缺陷基准
提出 BUGSC++:含 209 个 C/C++ 真实缺陷、高可用且可复现的调试与修复基准。
ACWRecommender:一个用弱监督验证可行动警告的工具
提出两阶段工具 ACWRecommender,用弱监督从静态分析警告中识别并推荐高概率真实缺陷的可行动警告。
Gamma:通过掩码预测重新审视基于模板的自动程序修复
提出Gamma,用预训练语言模型以掩码填空方式生成修复代码,替代模板修复中难以抉择的donor code检索,显著提升修复效果。
细微差异是关键:通过差分提示解锁 ChatGPT 寻找引发失败的测试
提出差分提示,引导 ChatGPT 关注正确与缺陷代码的细微差异,以发现引发失败的测试用例。
迈向基于对话式大语言模型的自主测试智能体
提出按自主程度划分的 LLM 测试智能体分类法,并展示对话式框架如何辅助软件测试。
REEF:一个收集真实世界漏洞与修复的框架
提出自动收集框架 REEF,从开源仓库构建多语言高质量漏洞-修复对数据集并生成漏洞解释。
AutoLog:面向异常检测的日志序列合成框架
提出首个自动化日志生成方法,无需运行系统即可用程序分析合成运行时日志序列,为异常检测提供高质量训练数据。
ReuNify:迈向 React Native Android 应用全程序分析的一步
提出 REUNIFY,将 React Native 应用的 JavaScript 与原生代码统一为 Soot 中间表示,实现全程序静态分析。
COMEX:一个生成定制化源代码表示的工具
提出可扩展工具 COMEX,从源代码生成并组合 AST、CFG、DFG 等定制化代码视图,服务 ML4SE 表示学习。
通过网络约简加速神经网络验证
提出网络约简预处理方法,消除稳定 ReLU 神经元并将网络转为顺序结构,从而加速现有神经网络验证工具。
图像识别中有缺陷的深度学习框架转换的故障定位
提出四阶段深度学习框架转换故障定位与修复方法,在 TVM 上修复权重精度错误,使转换误差归零。
揭秘面向位向量程序的基于模板的不变式生成
系统实验揭示位向量程序中模板不变式生成的模板与求解器影响,并证明其可处理现有方法难处理的基准。
LIV:使用直线程序进行循环不变式验证
提出 LIV 工具,将循环不变式验证拆分为无循环直线程序上的验证任务,从而更实用地检查不变式是否足以构成归纳安全证明。
如何训练你的神经缺陷检测器:人工缺陷 vs 真实缺陷
用 3.3 万条真实缺陷修复训练神经缺陷检测器,在 Python 简单缺陷上性能最高提升 170%。
在工业环境中预测编译资源以实现自适应构建
提出 PCRLINEAR,预测 C++ 文件编译所需内存与时间,使分布式构建系统能自适应调度编译资源。
PURLTL:从测试中的不完美轨迹挖掘 LTL 规约
提出 PURLTL,用神经搜索与正例-未标注学习从不完美轨迹挖掘任意 LTL 规约,大幅超越 SOTA。
基于 XAI 的灰盒模糊测试:可扩展的工业控制系统分析
提出基于可解释 AI 的灰盒模糊测试,通过识别关键执行器缩减 ICS 状态空间,较黑盒方法加速 64 倍。
PSMT:当可满足性模理论遇到概率分布
提出 PSMT 问题与 Prob-MCSAT 算法,将概率分布引入 SMT 求解,使解呈现合理的分布趋势。
CAT-LM:在代码与测试对齐数据上训练语言模型
提出在代码-测试对齐语料上预训练的2.7B参数模型CAT-LM,通过长上下文与筛选采样生成高覆盖率、风格自然的测试。
神经代码翻译的评估:分类体系与基准
提出神经代码翻译的四级分类体系,并构建覆盖库级与算法级翻译的 G-TransEval 基准,揭示现有评估偏差。
通过语言模型与解耦领域数据库实现领域自适应代码补全
提出 k NM-LM,用检索增强与贝叶斯推断将领域知识注入语言模型,实现免微调的领域自适应代码补全。
代码差异引导的深度代码模型对抗样本生成
提出代码差异引导的对抗样本生成技术 CODA,高效测试并增强深度代码模型鲁棒性。
MLIRSmith:面向 MLIR 编译器基础设施模糊测试的随机程序生成
首个针对 MLIR 编译器基础设施的模糊测试技术,用两阶段策略生成有效多样的 MLIR 程序并发现 53 个新缺陷。
SmartBugs 2.0:面向以太坊智能合约弱点检测的执行框架
提出 SmartBugs 2.0 模块化执行框架,为 19 种智能合约弱点检测工具提供统一接口,支持 Solidity 与 EVM 字节码。
让我们对话寻找 API:通过 AI 链连接人类、LLM 与知识图谱
提出知识引导的查询澄清方法,以 LLM 与知识图谱构建五步 AI 链,改进 API 推荐。
MalWuKong:面向开源软件供应链中恶意代码投毒的快速、准确且多语言检测
提出结合源码切片、过程间与跨文件分析的多语言恶意代码检测框架,在 PyPI/NPM 上高效识别投毒包。
迈向自动处理自承认技术债:我们离目标还有多远?
实证评估神经生成模型与LLM自动偿还自承认技术债的能力,发现效果有限。
基于变异的深度神经网络故障定位
提出 deepmufl,将变异式故障定位用于 DNN,在 109 个 StackOverflow bug 上以 top-1 定位 53 个,优于现有静态与动态方法。
当生产代码变更时识别并更新测试用例:一种基于 Transformer 的方法
提出 Ceprot,用 Transformer 分两阶段自动识别随生产代码变更而过期的测试用例,并生成更新后的测试用例。
学习定位与描述漏洞
提出 VulTeller,用深度学习定位漏洞语句并生成漏洞描述,首次形式化漏洞描述生成任务。
重新审视与改进检索增强的深度断言生成
分析检索增强断言生成的局限,提出自动编辑原型的 EDITAS,显著提升断言生成性能。
通过输入去噪即时提升深度代码模型性能
提出 CodeDenoise,在线定位并清洗误预测输入中的噪声标识符,无需重训练即可提升深度代码模型性能。
增强 Android 应用恶意软件检测:检测细粒度恶意组件
提出 AMCDroid,用同构图与 AST 神经网络检测 Android 恶意应用,并以多目标遗传算法定位细粒度恶意组件。
MELT:从 Pull Request 中挖掘有效的轻量级变换
提出 MELT,从开源库 Pull Request 中挖掘轻量级、可解释的 API 迁移转换规则,并泛化以更好迁移客户端代码。
ConfTainter:面向配置选项的静态污点分析
提出面向配置选项的污点分析基础设施 ConfTainter,支持显式与隐式的数据/控制流传播,准确率超 96%。
ATOM:多标签图像分类系统的自动化黑盒测试
提出黑盒测试框架 ATOM,以标签组合为准则并借助图像搜索、NLP 和蜕变测试检测多标签图像分类错误。
ZC^3:零样本跨语言代码克隆检测
提出零样本跨语言代码克隆检测方法 ZC^3,无需平行数据即可对齐多语言表示并检测克隆。
CertPri:通过特征空间中的移动代价对深度神经网络进行可认证优先级排序
提出CertPri,基于特征空间移动代价并具形式化鲁棒性保证的DNN测试输入优先级排序方法。
基础设施即代码的多语言(polyglot)代码异味检测:GLITCH
提出 GLITCH:面向 IaC 的跨技术代码异味检测框架,通过中间表示支持多种 IaC 语言并提高检测精度与召回率。
基于零样本提示学习生成变量解释
提出 ZeroVar,用代码预训练模型和零样本提示学习为变量生成自然语言解释,并在自动/人工指标及变量命名任务上优于基线。
论软件开发中的自动化助手:大语言模型的作用
探讨以人类记忆模型为框架,系统研究基于大语言模型的软件开发自动化助手。
基于控制流图嵌入的 Android 应用细粒度上下文内权限分类
提出 DroidGem,用静态控制流/调用图、图嵌入与监督学习按 UI 功能分类 Android 权限误用。
Golang 生态系统中语义化版本的大规模实证研究
首次对 Go 生态进行大规模实证,提出 GoSVI 检测破坏性变更并分析 SemVer 合规性与影响。
PreciseBugCollector:可扩展、可执行且精确的缺陷-修复收集:挑战8解决方案:自动化收集代码片段中精确的缺陷、修复、位置和类型数据
提出可扩展的多语言缺陷-修复收集方法,通过缺陷跟踪与定向注入生成可执行、精确的缺陷数据集。
使用生成式 AI 进行深度学习测试的语义数据增强
提出 GENFUZZER,一种生成式 AI 驱动的覆盖率引导数据增强模糊测试技术,为深度学习模型生成语义丰富、信息量高的测试数据集。
逻辑 LTL 博弈的符号化不动点算法
将经典不动点算法推广到符号化逻辑 LTL 博弈,高效合成控制器与获胜策略。
一石二鸟:面向快速上下文无关语言可达性分析的多重推导
提出 Pearl 多重推导方法,通过批量传播传递关系大幅减少 CFL 可达性分析冗余,加速值流与别名分析。
通过引入懒加载提升 Web 应用响应性
提出静态分析与代码变换方法,自动为 JavaScript 应用引入第三方包懒加载,减少初始体积和加载时间。
Merge-Replay:通过合并等价的值流实现高效的基于 IFDS 的污点分析
提出 MergeDroid,通过合并等价值流并用合并-重放策略,加速基于 IFDS 的污点分析。
Cell2Doc:在计算笔记本中生成文档的机器学习流水线
提出 Cell2Doc 机器学习流水线与基准数据集,按逻辑上下文为 notebook 代码单元生成文档。
PhyFu:模糊测试现代物理仿真引擎
提出 PhyFu 模糊测试框架,依据基本物理定律检测物理仿真引擎前向与反向仿真的错误。
EndWatch:一种检测真实世界软件中非终止性的实用方法
通过状态重访预言机将非终止检测融入测试,可扩展地发现大型程序中的无限循环。
弥合机器学习软件缺陷预测中学术界与工业界的差距:十三项考量
总结在诺基亚落地 ML 软件缺陷预测的十三项经验,帮助学界与工业界弥合采用差距。
用 MaxSAT 和图神经网络修复云访问控制中的权限提升
提出 IAMPERE,用 GNN 剪枝与 MaxSAT 为 IAM 权限提升错误生成近似最小修复补丁。
CPA-DF:一种可配置的区间分析工具,用于提升程序验证
提出并评估 CPA-DF,一种基于区间抽象域的可配置数据流分析,可独立或并行增强程序验证。
信息检索故障定位中的 MAP 度量
揭示 IRFL 中 MAP 度量实现的常见偏差及其导致的最高达 70% 的性能高估,并主张严格遵循教科书定义。
无需类型系统特定代码的可插拔类型推断
提出通用可插拔类型推断算法,复用局部推断,在 Checker Framework 实现,平均减少 45% 待注解警告。
OrdinalFix:通过最短路径CFL可达性修复编译错误
提出基于最短路径CFL可达性的完整算法OrdinalFix,保证以最少修改次数修复编译错误。
通过检测与阻止不必要的内容生成来优化持续开发
OptCD 动态检测持续开发构建中生成却从未被读取的文件,定位负责生成它们的构建任务并自动生成禁用补丁。
RPCover:恢复多语言项目中的 gRPC 依赖
提出跨语言静态 gRPC 依赖恢复框架 RPCover,并构建首个多语言 gRPC 微服务基准 RPCoverBench。
大规模持久化与复用静态程序分析结果
提出 SPARRI,通过 HTTP API 发布、检索与复用静态分析结果,最高提升分析性能 92%。
SpecFuzzer:一个通过基于语法的模糊测试推断类规约的工具
结合语法模糊测试、动态不变式检测与变异分析,自动推断 Java 类的断言式规约。
iASTMapper:一种基于相似度的迭代式抽象语法树映射算法
提出迭代式基于相似度的 AST 映射算法 iASTMapper,通过三层节点迭代与相互影响机制提升代码变更定位准确率。
通过引用计数跟踪对象生命周期来检测 Python 原生代码中的内存错误
提出 PyObject 状态转移模型,用符号执行跟踪引用计数生命周期,检测 Python C 扩展中的内存泄漏与释放后使用错误。
代码表示学习的上下文性
评估代码嵌入模型的上下文性,发现静态与上下文化模型均不适配代码的混合多义性,并提出混合嵌入模型 Hycode。
CEGAR-PT:一种通过程序变换进行抽象的工具
将抽象实现为程序变换,用 CEGAR 调节精度,并复用现成验证组件。
BugMiner:通过代码演化历史挖掘自动构建精确缺陷数据集
提出 BugMiner,从代码演化历史中自动隔离关键变更以构建精确缺陷数据集,并实现缺陷类型自动分类。
一种面向深度强化学习系统的有意遗忘驱动自愈方法
提出 Dr. DRL,将有意遗忘融入持续学习,通过优先适配关键技能来加速 DRL 系统在环境漂移下的自愈。
NaturalFuzz:面向大数据分析的自然输入生成
提出 NaturalFuzz,利用细粒度数据溯源混合真实数据,为大数据分析生成既自然又高覆盖的合成测试输入。
面向深度学习模型补丁鲁棒性认证的多数不变式方法
提出 MajorCert,通过检查多数不变式来认证深度模型对补丁扰动的鲁棒性。
评估重构低能效代码模式对软件可持续性的影响:一项工业案例研究
通过工业案例研究评估重构低能效代码模式对软件可持续性的影响,重构后每用户每月能耗降低29%。
SCPatcher:挖掘众包安全讨论以丰富安全编码实践
挖掘 Stack Overflow 安全讨论,用 LLM 抽取代码示例与解释以自动丰富安全编码实践。
NRAgo:使用基于梯度的优化求解 SMT(NRA) 公式
提出混合 SMT(NRA) 求解器 NRAgo,将梯度优化与代数求解结合,大幅加速可满足实例。
增强量子中间表示(QIR)中的代码安全性
为 QIR 的数据类型与指令集给出形式化定义,以保障量子中间代码操作与转换的正确性与安全性。
一个自动化且灵活的多语言缺陷修复数据集构建系统
提出自动化多语言缺陷修复数据集构建系统 MBFC,并发布包含 92 万余条细粒度修复对的 M-BF 数据集。
HOBAT:同构结构神经网络的批量验证
提出 HOBAT 框架,通过将一批同构神经网络中同位置神经元抽象为单个神经元并迭代精化,实现批量形式化验证。
Node.js 应用中不稳定测试的特征分析
对 7 个 Node.js 应用的 87 个不稳定测试开展实证研究,归纳五类非确定性根因,指出现有事件竞争检测方法不足。
面向有限模型查找器的实时编程
提出将 Alloy 模型编写与解探索交织的实时编程概念验证环境,改善开发者反馈循环。
什么构成了面向代码智能任务的优秀上下文示例?——基于大语言模型的实证研究
系统实证示例的选择、顺序与数量三因素对代码智能任务中上下文学习的影响,并给出示例构造建议。
面向自动程序修复的代码大语言模型微调实证研究
系统实证微调范式下代码大模型的程序修复能力,覆盖多语言、多场景与多 hunk 缺陷,并显著超越现有 APR 工具。
通过自一致性使用 LLM 提示实现更好的程序修补
将提交日志作为少样本解释,结合自一致性采样提升 LLM 程序修复补丁质量。
CodeGen4Libs:一种面向库的代码生成两阶段方法
提出两阶段库导向代码生成方法 CodeGen4Libs,先生成 import 再生成代码,显著优于基线。
基于强化学习的自适应 REST API 测试
提出用强化学习动态优先化操作与参数的自适应 REST API 测试技术,提升覆盖率与缺陷发现能力。
从误用到精通:用知识驱动 AI 链增强代码生成
提出知识驱动提示链 KPC,将代码生成拆为迭代检查-重写 AI 链,显著提升 LLM 异常处理质量。
少即是够:面向漏洞检测的正例与未标注学习模型
提出仅用正例与未标注数据的 PILOT 模型,通过伪标签与混合监督表示学习提升漏洞检测。
从提交信息生成到历史感知的提交信息补全
提出基于历史上下文的提交信息补全任务,构建大规模数据集并评估现有模型与GPT-3.5-turbo的表现。
细察 ChatGPT 在不同难度级别代码生成任务上的能力
首次大规模实证研究 ChatGPT 在竞赛级编程题上的零样本代码生成、修复潜力与代码质量。
面向预训练代码模型的参数高效微调方法的实证研究
系统实证了参数高效微调方法在预训练代码模型上的表现,涵盖代码理解与生成及跨语言跨项目场景。
针是干草堆中的离群点:通过代码聚类猎捕恶意 PyPI 包
提出 MPHunter,用代码聚类无先验地检测 PyPI 恶意安装脚本,两月发现 60 个新恶意包。
QuraTest:在量子程序测试中集成量子特有特征
提出融合幅度、相位与纠缠特征的量子程序自动化测试框架 QuraTest,并给出多种测试用例生成器。
面向决策策略的生成式模型测试
提出用扩散模型生成测试用例并以终止状态新颖性引导搜索,为决策策略测试发现更多样、更具影响力的失败用例。
HexT5:面向剥离二进制代码信息推断的统一预训练模型
提出统一预训练模型 HexT5,把伪代码当作特殊编程语言预训练,在四类剥离二进制信息推断任务上达到最优性能。
融合多模态知识的函数级漏洞检测
提出 MVulD,融合代码文本、图结构与图像三种模态特征进行函数级漏洞检测,显著超越四个基线。
它们都好吗?从业者对日志消息可读性的期望研究
通过访谈与问卷提炼日志消息可读性的结构、信息与措辞准则,并用机器学习自动分类其可读性。
使用自主智能体的软件工程:我们到了吗?
探讨LLM自主智能体在软件工程中的能力与挑战,并发现上下文丰富提示能提升需求理解。
基于关键优化选项选择的编译器自动调优
通过分析程序结构与编译器文档筛选关键优化 flag,缩小搜索空间,实现高效的编译器自动调优。
魔鬼藏在长尾中:长尾代码分布如何影响大型语言模型
揭示长尾代码分布使代码大模型在低频标签样本上性能下降30.0%至254.0%。
迈向通过QoS感知模型切换的自适应机器学习赋能系统
提出AdaMLS自适应方法,利用模型均衡器与MAPE-K循环,通过轻量无监督学习动态切换ML模型以保障QoS。
面向边缘端基于AI的自适应应用的能耗感知设计方法
提出能耗感知的自适应边缘AI应用设计方法,用少量样本搜索配置,在损失2–6%精度下节能最高81%。
通过差分测试揭示服务端 WebAssembly 运行时的性能问题
提出差分测试方法 WarpDiff,识别服务端 WebAssembly 运行时的性能异常并定位问题运行时。
因果辅助的机器学习公平性权衡分析
提出基于因果分析的统一框架,系统分析机器学习公平性改进方法中公平参数与关键指标间的权衡。
基于 Transformer 的神经文本表示技术在缺陷分诊中的比较研究
系统比较多种 Transformer 预训练模型在缺陷分诊中的效果,发现 DeBERTa 在开发者与组件分配上最优。
LEAP:面向 NLP 软件的高效自动化测试方法
提出基于莱维飞行自适应粒子群优化与文本特征的对抗测试样例生成方法,高效测试 NLP 软件。
Wemint:微信小程序中的敏感数据泄露污点检测
提出面向微信小程序的污点检测技术 Wemint,通过上下文建模与异步回调建模,有效发现并追踪敏感数据泄露。
Perfce:基于混沌工程增强因果分析的数据库性能调试
提出 Perfce,用混沌工程增强因果分析,离线学习统计模型并在线定性与定量诊断数据库性能异常根因。
往何处去?为 npm 生态系统中衰退的包寻找替代方案
提出利用 npm 依赖迁移模式自动识别需替换的衰退包并推荐替代包的方法,准确率达96%。
将程序员注意力建模为扫描路径预测
提出用眼动扫描路径预测来建模程序员注意力,并开展眼动实验与原型预测器验证。
探究 commit-issue 关联以增强提交信息生成模型
构建首个 commit-issue 关联数据集并提出 ExGroFi 范式,将关联信息引入训练,显著提升提交信息生成效果。
迈向规范性需求获取的形式化框架
提出形式框架 FormaTive,支持高层规范性需求规范,并自动检测冲突、冗余与关注点。
VD-Guard:面向虚拟机监控器虚拟设备的 DMA 引导模糊测试
提出 VD-Guard,结合静态控制流分析与 DMA 引导模糊测试,有效发现 hypervisor 虚拟设备漏洞。
合并冲突解决:分类还是生成?
提出生成式合并冲突解决技术 MergeGen,以结构化冲突表示和编码器-解码器自动生成解决方案,超越分类式 SOTA。
InfeRE:通过推理链逐步生成正则表达式
提出 InfeRE 范式,将自然语言到正则表达式的生成分解为逐步推理链,并用自洽解码集成多模型输出以提升鲁棒性。
基于多任务深度学习的缺陷预测、分类与修复统一方法
提出多任务深度学习框架 COMPDEFECT,统一函数级缺陷预测、缺陷类型分类与自动修复。
使用深度学习自动改善代码可读性
首次提出整体化代码可读性改进方法,构建122k提交数据集并训练T5自动建议可读性改进。
SmartCoCo:通过约束传播与绑定检查智能合约中的注释-代码不一致性
SmartCoCo 通过约束传播与绑定策略自动检测智能合约中注释与代码在角色、参数、事件上的不一致,精度超过 79%。
Green AI Quotient:评估基于 AI 软件的绿色程度及未来方向
提出 Green AI Quotient 指标与方法,量化 AI 系统及其开发过程的绿色程度,并通过实证验证其促进可持续实践。
神经 SZZ 算法
提出 NEURALSZZ,用异构图注意力与学习排序识别修复提交中的根因删除行,提升 SZZ 精度。
热补丁与热修复:反思与展望
梳理热补丁与热修复术语,提出融合缺陷/漏洞预测、自动测试生成与修复及运行时补丁的自动化框架愿景。
基于噪声鲁棒学习的软件实体识别
提出自正则化噪声鲁棒学习方法,并构建大规模软件实体词典与数据集,提升自由文本中的软件实体识别。
相邻版本间的自动化软件实体匹配
提出迭代式实体匹配算法 ReMapper,大幅降低跨版本实体匹配错误并提升重构发现效果。
通过用户交互实现快速可靠的程序合成
提出量化示例对缩短合成时间有效性的方法,并主动向用户查询额外示例以加速程序合成。
ExpressAPR:面向 Java 自动程序修复系统的高效补丁验证
集成五类变异测试加速技术,构建首个完整的 Java 自动程序修复补丁验证加速框架,最多提速两个数量级。
准确高效 AutoML 的挑战
从算法视角剖析 AutoML 搜索,并论证其能提升嵌入式医疗 AI 的开发效率与软件工程化程度。
使用代码感知的编码器-解码器模型改进编程录屏中的代码抽取
用预训练代码大模型 CodeT5 对 OCR 结果做后处理,显著提升录屏与截图中的代码抽取准确率。
FLUX:基于 LLVM IR 单元测试交叉组合的缺陷发现
提出 FLUX,以人工 LLVM IR 单元测试为种子随机组合生成测试,暴露编译器优化缺陷。
面向并发程序的基于信息检索的故障定位
提出 BLCoiR,用知识图谱重构并发缺陷报告查询,提升并发程序故障定位的准确性与效率。
Provengo:面向场景驱动的基于模型测试的工具套件
提出场景驱动的基于模型测试方法 SDMBT,并提供 Provengo 工具套件支持以用户故事增量构建测试模型。
AutoConf:使用蜕变测试和贝叶斯优化自动配置无监督学习系统
提出 AutoConf,用蜕变测试与贝叶斯优化自动配置聚类无监督学习系统,提升异常检测效果。
MUTEN:基于变异体的集成方法用于增强基于梯度的对抗攻击
将深度学习变异体作为集成模型增强梯度对抗攻击,提升成功率并突破多种防御。
自动化 LLM 偏见测试
提出自动生成测试套件以评估大语言模型潜在偏见的方法,测试由提示和检测偏见的 oracle 组成。
ASTER:面向口吃者的自动语音识别系统可访问性测试
提出 ASTER,注入五类口吃生成测试语音,并用多目标优化种子更新,自动测试 ASR 对口吃者的可访问性。
CoMSA:一种面向配置性能测试的建模驱动采样方法
提出建模驱动的采样方法 CoMSA,依据性能模型预测的不确定性挑选配置样本,提升性能建模精度并降低配置性能测试成本。
Android 应用如何突破数据最小化原则:一项实证研究
首次系统实证研究 Android 应用中数据最小化原则的违反情况,并设计强化学习驱动的检测工具 GUIMind。
自动驾驶软件中代码克隆的综合研究
实证分析 Apollo 与 Autoware,揭示自动驾驶软件中代码克隆普遍存在并关联缺陷、共修改与跨模块传播。
谁才是真正的英雄?通过多维度数据集成度量开发者贡献
提出 CVALUE,融合代码变更的语法与语义四维信息,量化开源项目开发者贡献。
面向微服务的零配置模糊测试
提出零配置模糊测试生成技术,通过变异请求与后端响应,最大化微服务内部状态覆盖并发现真实错误。
面向对象敏感指针分析的精确库摘要自动生成与复用
提出自动生成并复用 k-object-sensitive 库摘要的方法,在几乎不损失应用代码精度的前提下显著加速 Java 指针分析。
CiD4HMOS:HarmonyOS 兼容性问题的解决方案
通过分析 HarmonyOS API 演化,实现检测并分类 HarmonyOS 应用兼容性问题的工具 CiD4HMOS。
基于静态事件分析的 Java 基本线程误用检测
提出基于静态事件分析的 Java 基本线程误用检测方法,并实现工具 Leopard。
Thunderkaller:剖析并提升 Syzkaller 的性能
通过内核镜像复制等三项优化,在不改变模糊测试算法的前提下将 Syzkaller 提速 2.8 倍。
基于领域知识检测智能家居自动化应用干扰
提出 KnowDetector,利用领域知识构建自动化图并通过图模式匹配检测 TAP 应用间干扰。
MUT4SLX:面向 Simulink 的快速变异体生成
提出面向 Simulink 模型的自动变异体生成与测试执行工具 MUT4SLX,可快速注入 15 种基于真实故障的变异算子。
Compsuite:一个 Java 库升级不兼容问题的数据集
构建包含123个真实Java库升级不兼容案例及可复现测试用例的公开数据集与命令行工具。
模糊逻辑模型的符号验证
提出基于符号执行的模糊逻辑模型验证方法,并实现常用函数与推理规则的环境模型。
Minecraft:面向精确代码上下文的软件缺陷修复自动挖掘
提出 Minecraft 数据集,从多语言项目自动挖掘带精确语句级上下文与修复类型的缺陷修复对,规模达现有数据集四倍。
面向CPS变异测试的模糊测试
提出基于模糊测试的变异测试方法,为C/C++ CPS软件生成测试数据,显著杀死更多变异体。
Smart Prompt Advisor:面向一致性与最佳实践的多目标提示框架
提出多目标提示框架并实现为 VS Code 插件,自动学习开发者提示意图并补全关键词,提升 LLM 生成安全规范代码的一致性。
面向 API 方面分析的对比学习
提出 CLAA,用监督对比学习训练 Transformer,显著提升 API 评论中性能、安全、可用性、文档等关注点的检测效果。
Robin:一种为基于深度学习的代码分类器生成鲁棒解释器的新方法
提出 Robin,通过混合解释器与两个近似器并结合对抗训练和数据增强,为深度学习代码分类器生成更保真、更鲁棒的解释器。
面向安全远程开发:通过分离秘密代码进行编码与调试
提出 MORDEn,通过将秘密代码与开发者客户端物理分离,在防止源码泄露的同时支持远程编码与调试。
AutoDebloater:自动化 Android 应用去膨胀
AutoDebloater 自动探索并展示 Activity 转换图,让用户选择并移除不需要的 Activity,以精简 Android 应用。
DCLINK:在金融科技系统中桥接数据约束变更与实现
提出 DCLINK,通过追溯链接分析将数据约束变更定位到需修改的代码方法,并在蚂蚁集团真实变更中验证。
ArduinoProg:迈向 Arduino 编程自动化
基于真实用户查询,提出三组件工具自动推荐驱动库、推断接口配置并生成用法模式,辅助 Arduino 编程。
C 程序修复中挑战的潜在解决方案:一种实践视角
提出面向 C 程序的修复框架,用语法解析生成补丁条件并生成代码符号替代预处理指令,解决测试无关修复与预处理指令处理难题。
用于数据管理与深度模型训练自动化的开源软件工具
提出开源工具 DatumAid 与 OrchesTrain,用于标注数据集管理和深度模型训练自动化,并提升实验可复现性。
ICTDroid:面向 Android 应用组件的参数感知组合测试
提出结合静态参数提取与自适应强度组合测试的 Android 组件自动化测试工具 ICTDroid,以紧凑测试集高效触发异常。
PyPI 生态系统中恶意代码的实证研究
通过构建多源数据集,系统揭示 PyPI 恶意包的行为特征、攻击向量与生命周期,并评估其持续风险。
日志解析:ChatGPT 能走多远?
系统评估 ChatGPT 在日志解析任务中的表现,并分析不同提示方法的影响。
DeepScaler:基于时空GNN与自适应图学习的微服务整体自动扩缩容
提出基于时空GNN与自适应图学习的微服务整体自动扩缩容方法,通过建模服务依赖降低SLA违约与成本。
基于孪生图的注意力多模态学习微服务系统异常检测
提出 MSTGAD,用注意力多模态学习融合指标、日志与追踪并构建微服务系统孪生图,实现半监督实时异常检测。
缓解 Maven 生态系统中开源漏洞的持续存在
提出 Ranger,自动恢复下游依赖的兼容安全版本范围,并配合生态监控缓解 Maven 漏洞持久化。
WADIFF:面向 WebAssembly 运行时的差分测试框架
提出 WADIFF 差分测试框架,通过测试用例生成和确定性差分引擎发现 WebAssembly 运行时缺陷与实现差异。
EALink:一种高效准确的 issue-commit 链接恢复预训练框架
提出 EALink 预训练框架,以更少参数高效准确地恢复 issue-commit 链接,并大幅超越现有方法。
QuCAT:一个面向量子软件的组合测试工具
提出量子软件组合测试工具 QuCAT,可生成不同强度测试套件并利用测试预言检测故障。
理解与修复 PyPI 生态系统中的开源许可证不兼容问题
通过大规模实证研究揭示 PyPI 许可证不兼容现状,并提出基于 SMT 的最小代价修复推荐方法 Silence。
VRGuide:通过动态切割覆盖实现虚拟现实场景的高效测试
提出VRGuide,用动态切割覆盖优化相机路径,以高效测试VR场景并发现未知缺陷。
DeFiWarder:保护 DeFi 应用免受代币泄漏漏洞侵害
提出链上交易追踪与异常检测工具 DeFiWarder,防护 DeFi 应用中的代币泄漏漏洞。
我们是否已准备好拥抱面向软件问答的生成式 AI?
比较 Stack Overflow 人类答案与 ChatGPT 生成答案,发现语义相似但人类答案整体质量高约 10%。
面向 Android 应用的场景驱动探索与 GUI 建模
提出 SceneDroid,以场景驱动探索动态抽取 Android 应用 GUI 场景并构建场景转换图,显著提升覆盖与粒度。
LogOnline:一种基于在线学习机制辅助的半监督日志异常检测器
提出半监督日志异常检测器 LogOnline,引入在线学习持续学习正常日志序列模式,无需人工标注且对日志不稳定鲁棒。
系统化检测嵌入式网络栈中的数据包验证漏洞
首次系统刻画嵌入式网络栈漏洞,并提出基于协议状态种子与数据包字段系统修改的测试框架。
代码审查中的重复构建:OpenStack 社区实证研究
通过 66,932 条 OpenStack 代码审查记录,揭示 recheck 命令被频繁使用但常无效且造成大量计算浪费。
Maat:基于条件扩散的云服务性能指标异常预判
提出首个云服务性能指标异常预判方法,用条件扩散预测指标并结合孤立森林提前发现异常。
Prism:从云系统海量实例中揭示隐藏的功能簇
提出非侵入式聚类方法 Prism,依据通信与资源使用模式从云系统海量实例中推断功能簇,提升可观测性。
通过迭代元素匹配自动修复 Web UI 测试
提出 UITestFix,用迭代元素匹配算法提高 Web UI 测试修复中元素匹配的准确率与修复正确性。
TEASER:面向自动驾驶汽车软件的基于仿真的 CAN 总线回归测试
提出 TEASER,从车辆仿真器传感器生成真实 CAN 信号,支持自动驾驶软件仿真回归测试。
分布式软件系统中的恶性循环
首次形式定义并系统研究分布式软件系统中的恶性循环,揭示错误处理根因,探索监控与指数退避防治。
一图胜千条毒言:面向内容审核软件的蜕变测试框架
提出 OASIS 蜕变测试框架,将有毒文本转为图像以规避内容审核,并评估与提升审核模型鲁棒性。
Leakpair:单页 Web 应用中内存泄漏的主动修复
提出 Leakpair,无需泄漏检测,基于模式主动为单页 Web 应用生成内存泄漏修复补丁。
面向 Go 的高效并发测试:基于定向原语约束的交错探索
提出 GoPie,利用执行历史做原语约束的定向交错探索,高效检测 Go 并发缺陷。
Fork 熵:评估开源软件项目 Fork 的多样性
提出fork熵指标,基于Rao二次熵从文件修改度量开源项目fork群体多样性,并在GitHub数据上验证其与外部贡献等指标相关。
DroneReqValidator:面向无人航空系统开发者的高保真仿真测试
提出 DroneReqValidator 仿真生态系统,自动生成逼真环境并监测 sUAV 安全性,生成验收测试报告。
基于动态图神经网络的在线服务系统告警链接预测
提出 DyAlert,用动态图神经网络预测由同一故障传播触发的告警链接,缓解告警风暴下的故障分析负担。
共享还是不共享:探究 fork 生态中的测试用例可复用性
通过挖掘 GitHub 上 305 个 fork 生态并实际移植测试用例,实证评估测试用例跨 fork 复用的可行性与收益。
ESRO:经验辅助的服务可靠性以应对故障
提出 ESRO,通过融合告警因果图与故障报告知识图,为云服务故障推荐根因与修复方案。
面向开源项目新手的个性化首个 Issue 推荐器
提出 PFIRec,基于新手特征与 LambdaMART 为新进入开源项目者推荐个性化首个 issue。
RJoules:一种用于 R 的能耗测量工具
提出 RJoules,为 R 代码片段提供能耗测量,填补 R 语言能耗测量工具空白。
EXPRESS 2.0:面向边缘 AIoT 系统的智能服务管理框架
提出 EXPRESS 2.0 边缘 AIoT 智能服务管理框架,集成服务协作、AI 应用与数据安全管理,并用无人机/无人车配送系统验证。
LiSum:基于多任务学习的开源软件许可证摘要生成
提出首个面向开源许可证的自动摘要研究,用多任务学习同时生成许可证摘要并分类关键条款。
银行领域 Android 应用安全加固的工业实践
报告与10国银行合作分析28款Android应用、发现漏洞并部署AppProtect+防护的工业实践。
演化系统宇宙的模型宇宙
提出融合软件工程、演化计算与机器学习以支持「模型宇宙」持续演化的研究愿景。
PTDETECTOR:一个自动化的 JavaScript 前端库检测器
提出首个自动生成特征的 JavaScript 前端库检测方法,用 pTree 结构识别打包器打包的库。
面向绿色软件开发中常见可持续性弱点的知识库建设
提出构建代码中常见可持续性弱点知识库的必要性,并初步验证现有软件弱点知识不能直接重标注为可持续性。
理解并增强 GitHub 中的 issue 优先级排序
基于 150 万+ issue 的实证研究,揭示 GitHub 标签在优先级排序中的局限,并比较多种排序算法。
RocketHA:面向分布式日志存储系统的高可用设计范式
提出 RocketHA 高可用设计范式,含六大组件,使分布式日志存储可从崩溃与分区中自动恢复并防止数据丢失。
基于视觉的控件映射用于跨移动平台测试迁移:我们实现了吗?
首个跨平台 GUI 测试迁移中基于视觉控件映射的系统性研究,构建数据集并评估 89 种配置。
Bus Factor Explorer:巴士系数探索器
提出 Bus Factor Explorer,一个支持 GitHub 仓库的巴士系数计算与交互式可视化 Web 工具。
改进 Google 的设计评审
提出结构化自动化的设计评审方案,将 Google 设计文档审批中位时间缩短 25%。
一个面向程序设计语言与软件工程研究生课程的集成程序分析框架
提出教学用集成程序分析框架 Chiron,以游戏化方式帮助研究生学习分析、验证与测试,并通过课程调查验证其有效性。
政府移动应用:通过应用评论分析公民反馈
分析澳大利亚129个政府移动应用的100,146条评论,验证应用评论可作为公民数字服务反馈渠道。
主席致辞:ASE 2023
这是一篇会议主席欢迎辞,概述 ASE 2023 的召开信息与自动化软件工程领域的研究范围,不含技术贡献。
ASE 2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)2023
2022228 篇 · Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering
Notebook 中的数据泄漏:静态检测与更佳流程
提出静态分析检测数据科学 Notebook 中训练/测试数据泄漏,并在十万级公开 Notebook 上验证其普遍性。
用于检测变量误用的代码理解 Linter
提出基于代码语言模型的代码审查工具,检测 Python 变量误用并生成修复建议。
提示调优的代码语言模型作为静态类型部分代码类型推断的神经知识库
将类型推断重构为完形填空任务,用提示调优的代码掩码语言模型作为神经知识库实现模糊类型推断。
面向 Sigmoid 类神经网络鲁棒性验证的可证明最紧线性近似
提出网络级紧致性统一定义,并设计两种可证明最紧的线性近似,显著提升 Sigmoid 类网络鲁棒性验证精度。
通过网络证伪发现属性违反:来自 OpenPilot 的挑战、适配与经验教训
将先进证伪器用于 OpenPilot 的 DNN,揭示真实自动驾驶网络证伪的挑战、工程适配与经验。
QVIP:一种基于ILP的量化神经网络形式化验证方法
首次将量化神经网络验证编码为整数线性约束,提出可靠且完备的QVIP方法,性能显著优于现有方法。
深度学习程序中数值错误的实证研究
首次对深度学习程序中的数值错误开展大规模实证研究,收集400个错误并按根因归为九类。
学习合成关系不变式
用 SyGuS 生成候选、SMT 验证器过滤,并借助逻辑推理剪枝与强化学习排序,高效合成关系不变式。
通过端到端学习检查LTL可满足性
用端到端神经网络在多项式时间内预测LTL可满足性,并通过保持LTL逻辑性质提升归纳偏置。
自动化(智能)工具链的评估
提出评估自动化智能工具链整体正确性、不确定性与误差传播的方法与自动化工具。
我的发布是否违反了语义化版本?基于语义差分的静态检测
提出基于语义差分的静态检测方法,用于发现 Java 库升级中签名相同但语义不兼容的语义破坏问题。
StandUp4NPR:标准化配置以实证比较神经程序修复系统
构建标准基准与统一工具,在一致配置下实证比较六个SOTA神经程序修复系统,颠覆部分已有结论。
Call Me Maybe:利用 NLP 自动生成遵守时序约束的单元测试用例
提出用 NLP 自动生成遵守类时序约束的单元测试,减少协议违反导致的运行时异常。
ICEBAR:面向 Alloy 规约的反馈驱动迭代修复
提出 ICEBAR,以 Alloy 规约中固有的断言与谓词作为性质型 oracle,迭代修复规约并缓解过拟合。
利用从业者反馈改进安全 Linter
通过访谈专业开发者反馈,调整和扩展 Puppet 安全 linter 规则,显著提升 IaC 安全检测精确率。
CodeBERT 上代码克隆检测的泛化性
系统考察 CodeBERT 在代码克隆检测上的泛化能力,揭示语义克隆检测仍是未解难题。
使用局部化抽象解释检测 Go 程序中的阻塞错误
提出局部化抽象解释方法,用于检测 Go 程序中由基于 channel 的并发导致的阻塞错误。
基于约束优化的一致场景图生成
提出一种约束优化后处理,保证场景图满足一致性约束并提升生成准确率。
SA4U:面向单位类型错误检测的实用静态分析
无需修改固件或开发者标注,通过分析仿真轨迹与协议定义推导变量单位类型,检测无人机固件中的单位类型错误。
FlexType:面向类型推断模型的即插即用框架
提出 FlexType——一个可插拔的 IDE 扩展,能在 JavaScript 与 TypeScript 中交互或自动推断类型。
神经Bug检测器在变量误用Bug上能否与软件开发者相比?
本文探究神经Bug检测器在变量误用Bug的检测与定位上是否达到软件开发者的水平。
Horntinuum:使用约束 Horn 子句的自主测试
提出 Horntinuum,用约束 Horn 子句(CHC)驱动自主测试,实现测试的自动生成或引导。
检测 if-条件-raise 语句中的不一致性
提出深度学习方法 IICR-Finder,检测 if 条件与抛出异常不一致的语句,在 Python 中发现 30 个新缺陷。
SelfAPR:基于测试执行诊断的自监督程序修复
提出自监督程序修复方法 SelfAPR,利用项目内扰动样本与测试执行诊断,在 Defects4J 上正确修复 110 个缺陷。
利用强化学习引导的模糊测试有效生成智能合约中的易受攻击交易序列
提出强化学习引导的模糊测试器 RLF,生成易受攻击交易序列,以高效检测智能合约复杂漏洞。
重入漏洞检测与定位:一种基于深度学习的双阶段方法
提出双阶段深度学习方法,在检测智能合约重入漏洞的同时定位导致漏洞的可疑语句。
CARGO:AI 引导的依赖分析用于将单体应用迁移至微服务架构
提出 CARGO,用上下文/流敏感依赖图与半监督标签传播细化微服务划分,减少分布式事务并提升性能。
TransRepair:面向编译错误的上下文感知程序修复
提出端到端 Transformer 方法,结合代码上下文与编译诊断反馈,同时定位错误行并生成 C 程序修复替换。
AUSERA:Android 应用自动化安全漏洞检测
提出漏洞分类体系并扩展 AUSERA,实现 50 类 Android 应用安全漏洞的自动化检测,并构建基准数据集。
通过构建基于AST的马尔可夫链模型检测语义代码克隆
提出 Amain,将复杂 AST 转化为马尔可夫链并度量状态距离,实现可扩展的语义代码克隆检测。
一个基于 Transformer 的 IDE 插件用于漏洞检测
提出 VDet for Java,一个基于 Transformer 的 VS Code 插件,用于检测 Java 代码中的多类漏洞。
TransplantFix:基于图差异的代码移植自动程序修复
提出 TransplantFix,利用图差异从供体方法提取语义修复动作并移植,以修复复杂缺陷。
使用模板 Java 程序进行编译器测试
JAttack 框架利用带 DSL 洞的模板 Java 程序随机生成测试输入,发现 JIT 编译器六个关键缺陷。
InvCon:一个面向以太坊智能合约的动态不变式检测器
提出动态不变式检测工具 InvCon,用于以太坊智能合约,支持规约逆向工程与标准合规检查。
AST-Probe:从预训练语言模型的隐藏表示中恢复抽象语法树
提出 AST-Probe 探针,从预训练代码语言模型隐藏表示中恢复完整抽象语法树,并证明句法子空间存在且维度较低。
面向竞赛级代码的自动反馈生成
关注竞赛编程错误提交仅获首个失败用例、反馈不足的问题,研究自动反馈生成。
基于决策的蜕变测试揭示 DNN 隐藏缺陷
提出基于决策的蜕变测试,暴露 DNN 依赖错误决策却偶然保持输出一致的隐藏缺陷。
基于强化学习的合约不变量学习
提出用深度强化学习自动学习智能合约不变量,以证明算术安全性并加速验证。
理解基于 JavaScript 的深度学习系统的故障
首个针对基于 JavaScript 的深度学习系统进行故障实证研究,构建了症状、根因与修复模式的分类体系。
面向智能合约安全漏洞的有效静态分析方法
系统评估现有智能合约静态分析工具,并提出基于用户输入依赖分析的漏洞检测方法。
Fuzzle:为模糊测试器制作谜题
将 bug 合成建模为迷宫生成,通过迷宫路径生成带精确 ground truth 的整程序模糊测试基准。
行为异常 API 文档与实现之间推断的混合方法及其应用
提出 StatGen,混合统计机器翻译与树结构翻译,实现行为异常 API 文档与代码之间的双向推断。
Python 静态类型推荐
提出静态类型推荐方法 Stray,为 Python 代码正确推荐类型注解,精度与召回率显著优于机器学习基线。
演化软件系统版本序列上的调用图演化分析
提出调用图演化分析,用演化规则与演化子图从版本序列中挖掘依赖变化,辅助依赖演化管理。
通过模型变换提升深度学习模型的鲁棒性
提出基于模型变换与 delta debugging 数据增强的训练框架 Dare,显著提升深度学习模型的通用鲁棒性。
使用机器学习模型自动标注单元测试用例中的“AAA”模式
提出用机器学习模型自动标注单元测试中的 Arrange、Act、Assert 语句,以支持测试理解与维护。
应当抛出哪个异常?
提出首个异常抛出推荐方法 ThEx,基于源码上下文学习分类模型预测应抛出的异常。
基于属性的 DeFi 协议自动修复
提出 DeFinery,结合搜索式补丁生成与语义规约推断,自动修复不满足用户性质约束的 DeFi 智能合约。
HyperAST:支持大规模软件历史的高效分析
提出 HyperAST,以支持对软件演化历史中的 AST 进行大规模高效时序分析。
发现并理解 SMT 求解器中的不完备性缺陷
提出 Janus,用保持可满足性的变异测试 SMT 求解器,发现并理解返回 unknown 的不完备性缺陷。
SAFA:支持演化软件系统中安全性分析的工具
SAFA 利用深度学习生成需求、设计、代码与测试等安全论证树,自动提示缺失工件并可视化跨版本变更对系统安全的影响。
下一个语法单元代码补全及其应用
提出 AstCC,用 AST 统计语言模型预测下一个语法单元,并给出其在修复、测试生成与模式挖掘中的应用。
自然语言处理在自主软件测试中的应用
综述 NLP 辅助的软件测试方案,覆盖学术文献与工业界从自然语言需求生成测试用例的进展。
面向智能合约的统一规约挖掘框架
提出统一规约挖掘框架,从历史交易推断访问控制、不变式与行为模型,并对智能合约做一致性检查。
LISSA:带专用求解器辅助的惰性初始化
提出 LISSA,用专用求解器辅助惰性初始化,避免符号执行在堆输入上产生虚假符号结构。
Trimmer:面向特定上下文的代码缩减
通过开发者提供的常量输入特化程序并删除未使用特性,从而缩减代码体积。
reformulator:数据库支撑应用中 N+1 问题的自动重构
提出 reformulator,自动重构 ORM 应用中的 N+1 查询反模式,将多次数据库往返合并为单次查询。
利用人工智能进行二进制代码理解
提出利用源端知识构建AI模型,以辅助人类理解二进制代码并设计理解度评估指标。
论字节码指令的自然性
指出现有研究对字节码自然性探索不足,为用字节码训练语言模型提供动机。
通过任务自动化提升代码审查有效性
提出三项研究,通过自动化审阅者选择与缺陷识别来提升现代代码审查的有效性。
面向测试生成与有界验证的方法调用序列高效合成
提出基于抽象堆状态与同构状态合并的方法调用序列合成算法,高效生成满足规约的堆状态。
Cornucopia:一个反馈引导的二进制生成框架
利用编译器优化与反馈引导学习,从源码自动生成大量多样二进制,用于测试二进制分析工具。
扩展任意 Android 应用分析
针对 Android 应用分析因库代码导致的扩展性问题,提出区分应用与库代码以缩小分析范围。
自动修复数据科学库的破坏性变更
提出 CombyInferPy,从库源码历史推断 Comby 重写规则,自动修复数据科学库 API 的破坏性变更。
CBMC-SSM:带符号影子内存的 C 程序有界模型检测
为 CBMC 实现符号影子内存扩展,并通过代码翻译构造数据竞争分析器。
用产品度量与学习方法增强电子表格的频谱故障定位
将基于频谱的故障定位与基于电子表格度量的机器学习预测模型结合,显著提升电子表格故障定位的准确率并减少无效检查。
Shibboleth:自动程序修复中的混合式补丁正确性评估
提出混合式补丁正确性评估方法 Shibboleth,自动识别自动程序修复中通过测试却未真正修复缺陷的补丁。
面向项目特定代码摘要的 LLM 少样本训练
证明用少量项目特定样本训练 GPT Codex 即可在代码摘要任务上显著超越当前最优模型。
使用 GPT-3 的自动代码文档生成
用基于 GPT-3 的 Codex 自动生成代码文档,在六种编程语言上以 one-shot 设置超越已有方法。
CoditT5:面向源代码与自然语言编辑的预训练
提出显式建模编辑的预训练目标并构建 CoditT5,用于源代码与自然语言编辑,在多个下游任务上超越生成式模型。
理解 C/C++ 生态系统中的第三方库依赖
本文旨在填补 C/C++ 生态第三方库依赖理解的空白,分析其现状、挑战与漏洞风险。
LawBreaker:一种交通法规规约与自动驾驶汽车模糊测试方法
提出 LawBreaker,用驾驶员导向的法规规约语言和覆盖最大化模糊测试来发现自动驾驶系统的交通法规违反场景。
Griffin:无需语法的 DBMS 模糊测试
提出免语法依赖的 DBMS 模糊测试思路 Griffin,旨在降低跨不同 DBMS 的模糊测试适配成本。
模型生成的代码有多可读?考察 GitHub Copilot 的可读性与视觉检查
眼动实验表明,Copilot 生成代码可读性接近人类,但程序员对其视觉关注显著更少。
将代码预训练模型压缩至 3 MB
将代码预训练模型压缩至约3 MB,以降低内存与运行开销并改善个人设备部署体验。
ThirdEye:面向安全自动驾驶系统的注意力图
提出ThirdEye,将XAI注意力图转为置信度分数,用于运行时监控并区分安全与不安全驾驶行为。
学习构造更好的变异故障
针对现有深度学习变异故障构造的句法正确性与有效性问题,探索学习构造更优变异故障的方法。
CrystalBLEU:精确且高效地度量代码相似性
提出 CrystalBLEU,通过降低平凡共享 n-gram 噪声,更精确高效地评估代码预测的相似性。
GLITCH:基础设施即代码中的自动化多语言安全异味检测
提出 GLITCH,面向多种 IaC 技术实现跨语言的安全异味自动检测,避免为每种技术重复实现检测逻辑。
TreeCen:为可扩展的语义代码克隆检测构建树图
提出 TreeCen,通过构建树图实现可扩展的语义代码克隆检测,以兼顾语义与规模。
通过有影响力的行为模式生成自动驾驶系统的关键测试场景
提出基于真实轨迹挖掘的影响行为模式,自动生成自动驾驶系统关键测试场景的 CRISCO 技术。
面向问答软件精确测试的自然测试生成
提出QAQA,基于句子级变异蜕变测试,用语义引导搜索和增强预言实现问答软件精确测试。
用 Bug 报告中的真实程序丰富编译器测试
提出从 bug 报告中提取真实程序来丰富编译器测试,以克服随机或变异生成程序难以理解缺陷影响的问题。
Tseitin 还是不 Tseitin?CNF 变换对特征模型分析的影响
系统比较三种 CNF 变换对特征模型分析的正确性与性能影响,揭示 Tseitin 等变换并非总是适用。
差分测试数据库事务:为了乐趣与收益
对数据库事务实现进行差分测试,以发现导致数据不一致与查询错误的事务缺陷。
XSA:可解释的自适应
提出可解释自适应 XSA 愿景,并为机器人场景中成功或失败的自适应生成人类可理解的解释。
迈向理解 Rust 的运行时性能
系统性测量与分析 Rust 的运行时性能,检验其效率可与 C/C++ 媲美的普遍说法。
应用大型预训练语言模型的轻量级缺陷分派框架
提出 LBT-P,用知识蒸馏、知识保持微调及利用浅层/深层表示的损失函数,将大型 PLM 高效用于缺陷分派。
DeepPerform:面向资源受限神经网络性能测试的高效方法
提出 DeepPerform,通过分布学习生成触发 AdNN 输入相关性能瓶颈的测试样本,高效检测性能退化。
软件去膨胀(debloating)中通用性与缩减程度之间权衡的研究与理解
实证揭示现有去膨胀技术常过度拟合所用输入、通用性低,并提出两种可提升通用性而不显著牺牲缩减的增强方法。
smartPip:一种解决 Python 依赖冲突问题的智能方法
实证揭示 Python 依赖冲突新特征,提出基于 SMT 求解与虚拟环境复用的 smartPip 工具。
挖掘 Android API 使用以生成用于定位兼容性问题的单元测试用例
提出 JUnitTestGen,挖掘 Android API 使用并经过程间反向数据流分析生成单元测试,以定位兼容性问题。
AI 增强的端到端测试自动化工具综述
综述 AI/ML 增强的端到端测试自动化工具,梳理其在持续交付场景下的能力与局限。
QATest:面向问答系统的统一模糊测试框架
提出统一的模糊测试框架 QATest,为不同主题与任务格式的问答系统自动化生成并标注测试用例。
提升深度学习测试中已检测违规的揭示:一种多样性引导方法
提出首个深度学习蜕变测试用例对优先级排序方法,用神经元输出分布差异度量多样性,加速违规暴露。
识别 Solidity 智能合约 API 文档错误
提出 DocCon,基于预计算事实检测 Solidity 智能合约库 API 文档与代码的不一致。
低资源项目特定代码摘要
提出元迁移学习方法,将轻量微调融入元学习,用于低资源项目特定代码摘要生成。
这个变更是否是那个问题的答案?
将补丁正确性评估转化为问答问题,用 bug 报告与补丁描述的语义相关性预测 APR 补丁是否正确。
Insight:探索跨生态系统漏洞影响
首次实证揭示 PyPI 与 Maven 生态中跨语言调用 C 库导致的 CLV 漏洞及受影响项目规模。
HTFuzz:堆操作序列敏感的模糊测试
提出HTFuzz,通过集成堆操作序列反馈来引导模糊测试,高效发现堆时序漏洞。
Android ICC 解析技术的综合评估
系统评估 Android 组件间通信(ICC)解析技术,梳理入口识别、数据流分析与框架 API 建模等关键需求与挑战。
ecoCode:一个用于消除 Android 项目中能源坏味道的 SonarQube 插件
提出 ecoCode——一个 SonarQube 插件,通过检测 Android Java 项目中的能源代码坏味道来推动绿色开发。
面向在线系统的可迁移深度 Transformer 时间序列预测服务
提出 TTSF-transformer 可迁移深度 Transformer 预测服务,用于在线系统时间序列指标。
面向技术查询的答案摘要:基准与新方法
针对技术查询答案摘要,构建带真值摘要的基准并提出新方法,以补充用户研究。
基于神经进化的游戏测试与测试预言生成
提出 Neatest,用 NEAT 神经进化生成能稳定覆盖游戏代码并充当测试预言的神经网络测试。
BuildSonic:检测并修复持续集成构建中与性能相关的配置异味
提出 BuildSonic,自动检测并修复持续集成构建中影响性能的配置异味,以降低构建耗时与资源开销。
基于多轮审议的自动注释生成
提出 DECOM 多轮审议框架,以检索到的注释为初稿迭代润色,并由评估模型决定终止,从而生成更优代码注释。
从噪声与不平衡软件工程数据集中鲁棒学习深度预测模型
针对软件工程数据中标签噪声与类别不平衡问题,研究深度预测模型的鲁棒学习,以提升缺陷预测与 issue 分类等任务效果。
Jasmine:面向 Spring 核心技术的静态分析框架
提出静态分析框架 Jasmine,提升 Spring 应用调用图完整性,并有性能与安全分析实证。
在持续集成中,代码变更信息对故障定位有多大用处?
提出三种基于代码与覆盖率变更的故障定位技术,在CI场景下优于传统SBFL,并可增强Ochiai。
一种用于自动驾驶系统有效且高效测试的场景分布模型
提出基于TTC与交通密度的场景分布模型,用于自动驾驶系统测试场景生成与选择。
AntiCopyPaster:在 IDE 中尽早提取刚引入的代码重复
在 IDE 中追踪代码粘贴,实时检测重复并主动建议 Extract Method 重构,并用分类模型决定是否推荐。
内联测试
提出内联测试,使开发者可在语句附近就地编写测试,并实现首个支持 Python 和 Java 的 I-Test 框架。
在基于搜索的单元测试生成中选择性组合多个覆盖目标
提出 smart selection,通过覆盖相关性与目标包含关系选择覆盖目标子集,减少多准则优化目标并提升基于搜索的单元测试生成效果。
SymFusion:面向 Concolic Execution 的混合插桩
提出 SymFusion 混合插桩,结合编译期插桩的高效与动态二进制翻译的免重编译,用于 concolic execution。
使用 Droid 为建模语言构建推荐系统
提出 Droid 框架,用于为建模语言构建推荐系统,降低 DSL 推荐器的开发成本。
面向 Web 漏洞的精确受影响/未受影响版本分析
提出面向 Web 漏洞的受影响/未受影响版本精确自动分析,以改善公共漏洞库版本信息质量。
利用输入反射修复失败诱发输入
提出输入反射(Input Reflection),修复导致DNN误预测的失败诱发输入,以缓解有限数据下的分布偏移。
Augur:面向异步 JavaScript 的动态污点分析
提出支持 ES7 异步函数的动态污点分析框架 Augur,利用 VM 插桩实现高性能注入漏洞检测。
通过静态分析检测 Java 程序软件合并中的构建冲突
针对 Java 软件合并,提出用静态分析检测构建冲突,以定位冲突根源而非仅报告构建错误。
Morest:自动 RESTful API 测试的工业实践
提出并工业落地自动 RESTful API 测试框架 Morest,在华为测试十个服务并发现83个新缺陷。
FuzzerAid:基于故障签名对模糊测试崩溃进行分组
FuzzerAid 用可执行的故障签名程序复现崩溃并聚类,把同一根因的 fuzzing 崩溃正确归为一组。
驯服面向软件工程的多输出推荐系统
提出研究议程,重新构想软件工程推荐系统如何向开发者传达建议,强调推荐多样性、差异呈现、交互导航与端到端评估。
通过虚拟构建加速构建依赖错误检测
提出用虚拟构建加速构建脚本中缺失/冗余依赖错误的检测,避免完整构建监控的高开销。
面向神经代码生成的测试驱动多任务学习与功能等价代码变换
提出结合功能等价代码变换与测试执行反馈的多任务学习,提升神经代码生成功能正确性。
演化基于排序的失败邻近度以改进故障隔离中的聚类
提出基于遗传编程的框架演化风险评价公式,以在故障隔离中更准确地对多故障场景下的失败进行聚类。
Quacky:定量访问控制宽松度分析器
将云访问控制策略翻译为 SMT 公式,借助模型计数求解器量化并比较策略的宽松程度。
模糊测试器如此之多,时间却如此之少
在Contiki-NG上长期使用多种模糊测试器发现并修复网络栈漏洞,并构建开源缺陷套件公正评估其效果与sanitizer影响。
端到端设计理据重建
提出基于 ML/NLP 的上下文无关方法 Kantara,从软件制品端到端重建设计决策及其理据的知识图谱。
守住秘密:面向信息泄漏检测与削减的多目标遗传改进
提出基于 hypertest 的多目标遗传改进方法,动态检测并降低程序中的信息泄漏,同时权衡程序语义与泄漏程度。
使用差分比较解释游戏智能体的行为
提出通过智能体间差分比较来解释游戏智能体行为,并应用于商业GaaS原型验证其可提取具体行为差异。
面向大规模开源软件栈的智能代码评审分配
提出基于质量属性与评审者技能匹配的自动代码评审分配方法,并构建自学习平台。
Namesake:标识符命名中词汇相似性的检查器
提出开源工具 Namesake,检测 Python 程序中标示符命名在拼写、发音或语义上易混淆的组合。
使用NLP自动识别安全相关配置设置
利用自然语言处理对配置项描述进行分类,辅助安全专家识别安全相关设置。
使用模型检测验证 Unreal Engine 5 蓝图可视化脚本系统中的游戏逻辑
将 UE5 Blueprint 游戏逻辑形式化为 NuSMV 模型,自动检测逻辑 bug,并用数据流优化与变量域抽象缩减状态空间。
可扩展工业过程中自适应机器学习软件的漂移处理方法
提出基于重要性加权的漂移处理方法,使工业ML软件在新增熔炉时实现自适应并提升性能。
优先级约束辅助的动态偏序归约
提出 PC-DPOR,用约束依赖图精化迁移依赖并优先探索孤立迁移,大幅减少并发验证中的冗余迹。
面向自动程序修复的基于多目标优化的缺陷修复模板挖掘
提出多目标优化的修复模板挖掘方法,用9个代码抽象任务与3个目标函数提升模板适用性、可修复性与效率。
高度可配置系统的可扩展采样:生成 Linux 内核的随机实例
提出基于可扩展逻辑组的新采样器,首次可对 Linux 内核这类超大可配置系统高效生成随机有效配置。
面向理解基于 C# 的软件项目而生成带标签属性图
提出 Src2Neo,将 C# 项目生成每个软件实体对应单一节点的带标签属性图,辅助 XR 开发者理解组件关系。
测试不稳定性(Test Flakiness)研究:从单元测试到系统测试
综述学术界与工业界应对 flaky test 的方法,指出研究集中于单元测试而工业工具更关注系统级测试。
Auto Off-Target:为复杂软件系统实现彻底且可扩展的测试
提出 Auto Off-Target,将复杂系统测试转移到非目标环境执行,以兼顾测试彻底性与可扩展性。
SML4ADS:一种面向自动驾驶场景表示与生成的开放领域特定建模语言
提出开放领域特定建模语言 SML4ADS,以非编程、用户友好的方式表示并生成可执行自动驾驶测试场景。
设计理由的提取与管理
提出用NLP与ML构建端到端系统,自动提取、结构化并管理软件开发中的设计理由。
面向使用数据影响方法检测源代码语料库中的噪声样本
将数据影响方法用于识别神经代码模型训练语料中的噪声样本。
ASTOR:一种识别安全代码审查的方法
提出 ASTOR 自动化识别触发安全关切的代码审查,以便安全专家进一步审查。
基于神经机器阅读理解大规模回答软件部署问题
提出基于 RoBERTa 的问答机器人 DeployQA,通过词汇、预训练与微调三方面领域适配,自动回答软件部署问题。
WebMonitor:Web 用户界面的验证
提出 WebMonitor,用形式化逻辑描述 Web UI 布局及时序变化并黑盒验证网页,支持交互测试。
自动生成机器学习流水线的可视化
提出从高质量 Kaggle 流水线中学习映射规则,为未见 ML 流水线自动预测可视化。
B-AIS:一种针对领域语义的 AI 赋能软件视觉感知黑盒评估自动化流程
提出 B-AIS 自动化流程,用领域语义黑盒评估 AI 软件中的视觉感知,以支持安全关键部署前的模型智能判断。
迈向渐进式多党会话类型
提出以渐进类型视角重新诠释多党会话类型,融合静态 MPST 的早期反馈、快速执行与动态 MPST 的高表达力。
利用 epoch 与对称性分析 MPI 程序
提出动态-符号运行时验证技术,通过对称破缺谓词与 epoch 分解降低 MPI 程序验证的复杂度。
黑盒测试环境中基于动态分析的执行路径检测
研究在无源码的黑盒测试环境中,仅借助二进制代码通过动态分析检测执行路径,以支持路径覆盖度量。
基于差分事实的软件演化管理
提出统一的“差分事实”格式,跨版本表示软件变化与版本内关系,支持可复用查询以完成演化管理任务。
函数变体的原则化组合:面向动态软件多样性与程序保护
提出LLVM编译技术,使C程序能在多个函数变体间持续转移控制与状态,实现动态软件多样化与程序保护。
RoboSimVer:面向 RoboSim 建模与分析的工具
提出 RoboSimVer 工具,将平台无关的机器人仿真模型转换为时间自动机网络及其随机版本以进行严格验证。
基于辅助数据集能量学习的鲁棒代码模型
提出用辅助OOD数据与能量有界学习提升代码模型鲁棒性,兼顾OOD检测与对抗防御。
一个用于测试化学反应网络的框架
将软件测试与修复技术移植到化学反应网络程序,支持自动修复与基于不变式的测试生成。
基于排序学习的孪生神经网络代码可读性评估
将代码可读性评估建模为排序学习任务,提出基于孪生神经网络的成对排序模型。
面向 C 程序的带指针监控的覆盖率引导灰盒模糊测试
通过追踪指针元数据并用作覆盖率引导,检测 C 程序中不崩溃的内存漏洞。
PRCBERT:基于 BERT 预训练语言模型提示学习的需求分类
提出 PRCBERT,用灵活提示模板与 BERT 预训练语言模型实现需求分类,性能优于 NoRBERT。
Fastbot2:强化学习增强的、可复用的 Android 自动化基于模型的 GUI 测试
通过记忆历次测试中的事件-活动转移知识并借助强化学习引导,实现可复用的 Android GUI 自动化测试。
Xscope:猎捕跨链桥攻击
首次研究跨链桥安全,归纳三类新漏洞并实现自动检测工具 Xscope,可发现已知与未知攻击。
后 Roe v. Wade 时代经期追踪移动应用的隐私分析
对 35 款经期追踪应用进行流量与静态分析,揭示其收集敏感数据并可能与第三方共享的隐私风险。
审视虚拟个人助理应用的隐私政策合规性
首个系统研究 VPA 应用隐私政策合规性,提出 Skipper 工具结合 NLP 与黑盒测试检测 Amazon Alexa 技能的违规行为。
Groundhog:移动应用的自动化无障碍爬虫
提出自动探索移动应用并借助辅助服务检测无障碍障碍的爬虫,无需人工输入且可生成复现视频。
面向软件工程交流中情感识别的数据增强
针对软件工程交流中情感识别工具跨渠道性能下降与标注成本高的问题,提出用数据增强改进情感识别。
可访问性过多亦有害!移动应用中过度可访问元素的自动检测与分析
定义移动应用的「过度可访问」问题,并提出自动检测与动态验证框架 OverSight。
利用需求与代码文本结构中的共识双词项改进基于信息检索的可追溯性恢复
提出从需求与代码文本结构提取共识双词项,增强信息检索模型以提升需求-代码追溯链接恢复性能。
移动应用评论中隐私关切的无监督摘要
提出一种无监督方法,利用领域词汇总结移动应用评论中的用户隐私关切。
反思 IoT 开发中反复出现的故障
系统分析 22 起 IoT 故障,总结跨领域且长期持续的故障主题,并提出故障感知开发生命周期研究议程。
并非所有依赖都等同:NPM 中生产依赖的实证研究
实证研究 NPM 项目中哪些依赖实际进入生产环境,并评估其安全风险。
变形记:移动应用缩放问题的自动检测
提出 dVermin,通过比较默认与大显示比例下视图的不一致性,自动检测移动应用 GUI 缩放问题。
它们是否循规蹈矩?诊断浏览器扩展中的隐私合规违规
提出端到端方法,自动诊断浏览器扩展在隐私政策、法规要求与运行时实际隐私实践上的合规违规。
大规模在线系统中基于图的事件提取与诊断
提出基于图的在线系统可用性事件表示、GNN 检测与 PageRank 根因定位方法,并在微信系统验证部署。
PredART:面向增强现实测试中对象放置的自动测试预言预测
提出 PredART,通过截图采样、众包与混合神经网络预测虚拟对象放置的人类评分,作为 AR 自动化测试的测试预言。
面向 3D 游戏的基于智能体的强化学习测试
提出以好奇心为内在激励的强化学习智能体,用于 3D 游戏的自动化试玩测试。
理解与预测 Docker 构建时长:开源项目容器化工作流的实证研究
首个基于 17 万余次 Docker 构建的实证研究,刻画构建时长并构建高精度预测模型。
ADEPT:面向模拟自动驾驶的测试平台
提出基于CARLA的DNN自动驾驶测试平台ADEPT,结合事故报告NLP与闭环对抗攻击生成测试场景。
高效灰盒模糊测试以检测内存错误
研究如何降低 sanitizer 辅助灰盒模糊测试的额外开销,以更高效地检测内存错误。
通过模块化与组合修补弱卷积神经网络模型
提出 CNNSplitter,通过模块化分解强 CNN 并与弱 CNN 组合,低代价地修补其在目标类别上的不足。
开源软件开发者中有毒沟通的识别与缓解
提出自动识别并缓解开源开发者文本交流中有毒沟通的博士研究计划,并分析其人口差异与项目影响。
开源 Android 应用中 CI/CD 采用的初步探究
首次大规模实证考察开源 Android 应用对 CI/CD 的采用情况,揭示采用率低及其实效。
MV-HAN:基于混合注意力网络的多视图学习模型用于大规模内容推荐
提出MV-HAN多视图混合注意力模型,通过参数共享与统一特征空间提升大规模推荐内容检索,尤其改善稀疏类型。
LiveRef:面向 Java 代码的实时重构工具
提出 LiveRef 实时重构环境,可实时识别、推荐并应用 Extract Method 重构,提升 Java 代码质量与开发体验。
面向 AIOps 模型学习的故障注入平台
提出自动故障注入平台,统一注入与数据采集,支持多云微服务并学习错误传播以辅助故障定位。
从缺陷报告构建用户任务与失败的系统知识图谱以支持肥皂剧测试
提出从缺陷报告抽取用户任务与失败的开放信息抽取方法,构建系统知识图谱并生成肥皂剧测试场景。
VITAS:VPA 应用的引导式基于模型的 VUI 测试
提出 VITAS,用引导式基于模型的方法对 VPA 应用的 VUI 进行测试,以应对其不可见、单模态等问题。
Android 移动 AR 应用中的用户隐私研究
对390款Android移动AR应用开展实证研究,揭示其危险权限、数据泄露与数据安全披露现状。
E-MANAFA:面向 Android 的能量监控与分析工具
提出即插即用、设备无关的模型化 Android 能量分析器,可细粒度测量能耗与各组件耗能。
加速GUI应用测试自动化中基于OCR的控件定位
提出标签文本筛选技术LTS,大幅加速GUI测试中基于OCR的控件定位。
抱歉,我不明白:改进语音用户界面测试
提出 VUI-UPSET,将聊天机器人测试方法迁移到语音用户界面测试,生成更多能暴露缺陷的复述命令。
软件安全补丁管理中自动化的实证研究
通过对医疗领域17名从业者的访谈,揭示安全补丁管理自动化的实践现状、局限与真实需求并提出建议。
安全与性能,为何不可兼得?面向 AI 软件部署的双目标优化模型压缩
提出测试驱动稀疏训练框架 SafeCompress,将攻击模拟为安全测试,实现模型压缩的安全-性能双目标优化。
自动检测 HTML5 Canvas 游戏中的视觉缺陷
利用 Canvas 对象的内部表示将快照分解为对象图像并与 oracle 素材比对,无需人工维护整图快照即可自动检测游戏视觉 bug。
面向科学数据分析工作流的保持结果输入约减
提出保持指定结果不变的工作流输入约减方法,用于定位科学数据分析中的异常输入或错误假设。
V-Achilles:传递性安全漏洞的交互式可视化
提出交互式可视化工具 V-Achilles,用依赖图帮助 npm 用户理解和更新传递性安全漏洞。
DyTRec:面向基于 Unity 的虚拟现实软件的动态测试推荐工具
提出 DyTRec,基于 Unity VR API 文档与脚本搜索,为目标 VR 项目推荐动态测试类型。
“谁写的这破玩意?”——构建软件工程领域特定的毒性言论检测器
提出软件工程领域特定的毒性检测器 ToxiCR,在 19,571 条人工标注代码评审评论上准确率达 95.8%。
一种用于规约虚拟现实软件的基于角色的模型模板
提出一种基于角色的元模型模板,用于以最小要素规约VR软件系统,帮助实践者构建开发、设计与测试工具。
知情权与拒绝权:面向 Android 应用基于 UI 感知的自动化细粒度权限控制
提出基于 UI 感知的 Android 应用自动化细粒度权限控制,让用户知悉并拒绝越权权限使用。
ESAVE:估计服务器与虚拟机能耗
提出基于机器学习的 ESAVE,利用少量硬件属性非侵入式预测服务器与虚拟机在不同利用率下的能耗。
反馈驱动软件开发中针对深度可变性的全局决策
提出 MP-MODA 框架,显式表示可变性、影响与决策点,支持反馈驱动的多准则全局决策。
快照指标远远不够:用纵向指标分析软件仓库
提出 PRIME 工具,计算并可视化过程指标的纵向趋势,弥补快照指标不足。
识别与缓解性别偏见以促进开源社区的多样性与包容性
博士论文计划识别开源社区中性别偏见的体现、程度与频率,并开发缓解策略与SMD文本识别工具。
迈向面向代码重构的实时环境
提出并原型化实时重构环境,可识别、推荐并应用 Extract Method 重构,改善开发者重构体验。
跳舞,而非摔跤:从合规走向协调一致的安全软件开发
借医疗领域从合规到 concordance 的框架分析开发者访谈,提出开发者与安全专家应协商共担安全责任。
决策支持软件的设计空间探索
针对决策支持软件设计缺乏系统方法的问题,探讨系统化的设计空间探索。
识别 Pull Request 评论中的性别歧视与厌女言论
构建 PR 评论数据集并评估机器学习模型,以自动识别软件开发交流中的性别歧视与厌女言论。
SmOOD:飞机设计中代理神经网络的基于平滑性的分布外检测方法
提出基于平滑性的 OOD 检测方法 SmOOD,与 FNN 代理模型协同设计,提升飞机设计代理优化的可信度与效率。
RESTCluster:面向 RESTful API 的自动化崩溃聚类
提出 RESTCluster,将 RESTful API 自动化测试产生的大量崩溃或失败用例自动聚类,辅助开发者调试云服务。
面向边缘感知的多云混合架构推荐的多准则决策分析(MCDA)框架
提出基于多准则决策分析的框架,在合规、隐私、可持续性与延迟约束下推荐并优化边缘感知的多云混合架构。
基于功率调度优化与时间复杂度的新型覆盖率引导灰盒模糊测试
提出利用代码复杂度优化AFL/AFLFAST功率调度,使输入更偏向高复杂度代码,以提升崩溃触发与覆盖率发现。
在明确硬件假设下的软件计时攻击自动评估与缓解
提出自动化的运行时计时侧信道漏洞检测与缓解框架,结合软硬件信息提升检测精度并定制低开销修复。
学生如何选择命名:一项重复研究
复现命名选择研究,发现学生命名随年级变长且存在歧义,已有方法可提升超 67% 案例的命名质量。
自动化工单团队分配的真实世界案例研究:使用自然语言处理与可解释模型
提出结合自然语言处理与可解释机器学习的方法,在真实软件开发场景中自动将工单分配给正确团队。
迈向安全架构设计协作决策中的人因整合
提出融合安全人因与模型驱动工程的协作决策框架,以支持安全架构设计并追溯安全相关决策。
ElecDaug:基于蜕变关系的电磁数据增强用于模型修复
提出基于电磁信号特征蜕变关系的数据增强工具 ElecDaug,为 AMC 模型修复生成增强数据。
一种从多个 GUI 自动生成可复用代码的模型
提出从 GUI 图像自动识别视觉元素并生成可复用 Web/Android/iOS 代码的模型。
Maktub:轻量级机器人系统测试创建与自动化
提出基于 Unity 与 ROS 的 Maktub,降低机器人系统测试创建门槛,无需机器人软件开发技能。
从现实到仿真应用的汽车行为迁移学习
提出面向车辆仿真的迁移学习方法,将真实驾驶数据中的汽车行为迁移到仿真器,并在 CARLA 中验证其效果与运行时效率。
非专家参与深度学习应用原型设计:一种助手方案提案
提出以任务为中心的对话式助手,用 JSON 元数据帮助非专家快速原型化深度学习应用。
MalWhiteout:减少 Android 恶意软件检测中的标签错误
提出 MalWhiteout,用 Confident Learning、集成学习与应用间关系降低 Android 恶意软件数据集标签噪声。
利用区块链技术增强游戏交易的安全性
提出开源区块链框架 GameBlockchain,用于游戏内 NFT 资产的安全创建与交易。
IoT 攻击者滥用系统资源的实证研究
系统观察活跃 IoT 攻击者滥用各类系统资源的行为与恶意意图,为防护策略提供依据。
模拟网络安全管理:面向高管决策的游戏化方法
提出并实现严肃游戏 Aurelius,用游戏化模拟让高管在网络安全投资与攻击响应中学习决策。
迈向提升国家数字身份系统的采用与使用
研究以人为中心的网络安全因素如何影响国家数字身份系统的用户接受与使用,并提出改进框架。
区域差异会影响 CAPTCHA 用户体验吗?中国与美国 CAPTCHA 的比较
通过中英双语用户访谈比较中美 CAPTCHA 的区域差异,发现差异主要来自类型而非地区。
2021169 篇 · 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)
在真实工业环境中检测 TensorFlow 程序缺陷
通过大规模实证研究并提出基于约束的 ShapeTracer,检测工业 TensorFlow 程序的形状相关缺陷。
使用变形程序变换评估基于机器学习的程序分析工具的鲁棒性
提出 LAMPION 框架,用保语义的变形程序变换探测 ML 程序分析模型的鲁棒性,并揭示 CodeBERT 的脆弱行为。
SATune:一种面向可配置软件验证工具的实证研究驱动自动调优方法
通过实证数据集揭示验证工具无通用最优配置,并提出基于代理适应度搜索的自动配置工具 SATune。
论静态缺陷检测器在发现空指针异常上的真实有效性
实证评估五款 Java 静态缺陷检测器对真实空指针异常的有效性:102 个缺陷仅检出 30 个(29.4%)。
基于成分不变性的机器翻译自动化测试
提出成分不变性准则并实现 CIT 工具,用句法成分解析和数据增强自动检测机器翻译错误。
面向 Android Java 的组合式死锁检测器
为超大规模 Android Java 应用提出组合式静态死锁检测,基于临界对将问题判定为 NP 并部署于 Infer。
JSTAR:使用精化的 JavaScript 规范类型分析器
首个对 ECMAScript 规范做类型分析并检测规范缺陷的工具,借助基于条件的精化提升分析精度。
学习 GraphQL 查询代价
提出基于机器学习的 GraphQL 查询代价预估方法,在真实商用 API 数据上显著优于静态分析。
面向程序分析的跨语言迁移学习框架
提出跨语言迁移学习框架 PLATO,用 Bert 类模型把一种语言的标注知识迁移到其他语言,以缓解程序分析任务中标注数据稀缺的问题。
训练自动测试预言以识别语义缺陷
研究用学习技术自动构建测试预言,以识别不会导致程序崩溃的语义缺陷,并探索融入人类知识的方法。
PyExplainer:解释即时缺陷模型的预测
提出基于局部规则的模型无关解释技术 PyExplainer,为即时缺陷预测模型生成更准确、一致且独特的解释。
以太坊智能合约的 Gas 估计与优化
针对以太坊智能合约,研究循环函数的 Gas 估计与存储/数组的 Gas 优化,以降低 out-of-gas 风险与交易费。
DeepMetis:扩充深度学习测试集以提高其变异得分
提出基于搜索的测试输入生成工具 DeepMetis,自动扩充 DL 测试集以提升变异得分。
通过递归提问测试你的问答软件
提出 qaAskeR,利用三种蜕变关系递归提问测试问答软件,无需标注标签即可揭示违规。
无处不在的隐蔽缺陷:为数据整理代码生成文档
结合程序合成与测试用例选择为数据整理代码自动生成文档,并以 JupyterLab 插件验证其帮助用户更快发现隐蔽缺陷。
基于有界模型检测的 Go 程序自动验证
提出基于有界模型检测的 Go 并发程序静态检查器,可处理大型代码库与静态未知参数,性能优于现有工具。
AST-Transformer:高效编码抽象语法树用于代码摘要
提出 AST-Transformer,高效编码树结构 AST 用于代码摘要,显著优于 SOTA 并降低约 90%–95% 编码计算复杂度。
人在回路中的可解释AI赋能漏洞检测、调查与缓解
提出 HXAI-VDIM 概念框架,将安全分析师纳入人机回路,用可解释AI与可视化辅助漏洞检测、调查和缓解。
对 API 推荐系统的对抗性攻击:是时候醒醒、闻闻咖啡味了?
实证表明三种先进 API 推荐系统均无法抵御训练数据投毒,亟需有效防御手段。
寻找缺失的拼图:Android NDK 权限规范分析
首次对 Android NDK 原生框架 API 进行权限规范分析,并实现静态分析工具 PSGen 自动关联所需权限。
APIzation:从 StackOverflow 代码片段自动生成可复用 API
提出 APIZATOR,用静态分析自动将 StackOverflow 代码片段转化为含参数与返回值的方法声明。
神经克隆检测能否泛化到未见功能?
揭示神经代码克隆检测缺乏跨功能泛化能力,并给出评估方法、影响因素分析与人在环适配机制。
面向对象敏感指针分析的上下文精简
提出 Conch,通过近似对象上下文依赖的线性条件精简对象敏感指针分析的调用上下文,在几乎不损失精度下大幅加速。
二进制代码相似性检测
提出基于关键指令符号值图的二进制代码相似性检测方法,可应对不同编译选项导致的代码变异。
通过跟踪 C++ 智能指针的堆内存管理来检测内存相关缺陷
对 C++ 智能指针的生命周期行为建模并追踪堆内存状态迁移,在 Clang Static Analyzer 上实现静态检测,检出大量真实缺陷。
利用频繁子图挖掘从模型仓库中学习领域特定编辑操作
提出无监督方法 Ockham,利用频繁子图挖掘从模型历史中学习能压缩模型差异的领域特定编辑操作。
CiFi:类与字段不可变性的通用分析
提出统一术语的类与字段不可变性模型,并在 OPAL 上实现模块化协作分析 CiFi,支持惰性初始化与泛型依赖。
基于自编码器的交互式跨语言代码检索
提出基于自编码器的交互式跨语言代码检索系统 BigPT,仅用原始代码从 Big Code 检索翻译以辅助程序翻译。
面向词性标注工具的基于性质测试
提出以蜕变测试与蜕变关系检验词性标注工具的缺陷,并在 spaCy、NLTK、Flair 上实证有效。
DEVIATE:一个深度学习方差测试框架
DEVIATE:自动化测量深度学习训练方差并对准确率和方差进行统计检验的框架。
BeAFix:面向错误 Alloy 模型的自动修复工具
BeAFix 通过变异与有界穷举搜索自动修复 Alloy 模型,支持多故障与性质型 oracle。
基于信念传播的二进制差分:作为网络对齐问题
将二进制函数匹配建模为调用图上的网络对齐问题,并用最大积信念传播求解,QBinDiff 优于现有二进制差分工具。
面向DNN证伪与验证的分布模型
提出DFV,通过学习输入分布模型并前置到DNN,将证伪与验证聚焦于相关输入空间,避免不可行输入。
面向多目标重构的智能变化算子
提出融合重构依赖的智能交叉与变异算子,提升多目标重构推荐的多样性、收敛性并减少无效重构。
Adaptation²:在可保证自适应系统中自适应规约学习器
提出 Adaptation²,主张用强化学习让规约学习器在运行时自适应配置,以支撑可保证的自适应系统。
提升单元级持续模糊测试的可配置性:SAP HANA 的工业案例研究
提出五种变异调度策略和三种种子语料选择策略,提升 SAP HANA 单元级持续模糊测试的可配置性与效率。
数据驱动的 SMT 元求解策略设计与评估:平衡性能、准确性与成本
提出并评估四类 SMT 元求解策略,以在性能、准确性与成本间取得平衡。
ASE:一种用于符号执行的值集判定过程
提出基于跨步值区间抽象的符号执行引擎,减少 SMT 查询以加速可达性判定。
利用 issue 报告理解代码片段
提出 ISSUECOMM,将代码片段与 issue 报告关联,为理解代码维护意图提供补充注释。
基于好奇心驱动强化学习的 HMI 结构自动探索
提出 PathFinder,用好奇心强化学习自动探索 HMI 软件结构以提升测试覆盖。
迈向机器学习缺陷报告的生成
分析开源AI项目的问题模板与缺陷报告,提出人机双向信息交换协议以支持ML缺陷检测、报告与自动修复。
通过歧义翻译击败程序分析技术
提出一种歧义翻译反分析技术,将代码片段编码,并用状态机产生多个难以区分的解码结果以对抗程序分析。
使用差分事实有效分析演化软件
提出统一表示与 DIFFBASE 工具,用差分事实存储并查询软件演化历史中的关系与变更知识。
移动应用质量分析:特别关注安全方面
博士项目拟通过代码异味、安全问题与脆弱依赖分析工具提升移动应用可维护性与安全性。
企业信息系统数据迁移的基于学习的辅助工具
提出结合机器学习、知识表示与程序合成的数据迁移辅助工具,自动建议字段匹配和转换规则。
FLACK:Alloy 模型中的故障定位
FLACK 通过比较反例与满足断言的实例之间的差异,自动定位 Alloy 模型中导致断言违反的可疑表达式并排序。
反应式契约的反例引导归纳修复
提出反例引导的归纳修复方法,用于自动修复第三方反应式组件的契约。
深度学习在覆盖率引导模糊测试中的效果初探
系统实证表明深度学习模型仅在极有限场景下能有效引导覆盖率模糊测试。
预训练代码模型对代码了解多少?
通过四类探针任务系统评估预训练代码模型对代码表层、语法、结构与语义信息的编码能力。
SMARTIAN:结合静态与动态数据流分析增强智能合约模糊测试
提出结合静态与动态数据流分析的智能合约模糊测试工具SMARTIAN,有效发现真实合约漏洞。
大海捞针:静默漏洞修复的自动挖掘
提出基于 Transformer 的 VulFixMiner,从提交级代码变更中自动识别静默漏洞修复。
Groot:一种面向工业场景的基于事件图的根因分析方法
提出基于事件图的根因分析系统 Groot,在 eBay 生产环境支持 5000 个服务并实现高准确率。
软件工程中的可解释 AI
综述可解释 AI 在软件工程中的应用,并通过缺陷预测案例展示如何使预测更实用、可解释和可行动。
DeepCVA:基于深度多任务学习的自动化提交级漏洞评估
提出 DeepCVA,用深度多任务学习同时预测 CVSS 七项指标,实现提交级漏洞的自动化早期评估。
Muskit:面向量子软件测试的变异分析工具
提出 Muskit,一个对 Qiskit 量子程序进行变异分析、生成并执行变异体以评估测试用例的工具。
EditSum:面向源代码摘要的检索-编辑框架
提出检索-编辑框架 EditSum,利用相似代码摘要原型并自动编辑,提升代码摘要的信息量与关键词预测。
QDiff:量子软件栈的差分测试
提出面向量子软件栈的差分测试方法 QDiff,通过语义保持变换、电路过滤与分布等价检查发现关键缺陷。
Bugs4Q:面向量子程序的真实缺陷基准
提出 Bugs4Q,一个含 36 个经人工验证的 Qiskit 真实缺陷及其复现测试用例的量子程序调试测试基准。
PyNose:面向 Python 的测试坏味道检测器
实现 PyCharm 插件 PyNOSE,检测 Python 测试代码中的 17 种测试坏味道并开展大规模实证分析。
RULF:通过 API 依赖图遍历的 Rust 库模糊测试
提出 RULF,通过 API 依赖图遍历自动生成 Rust 库的 fuzz target,提升 API 覆盖率并发现新 bug。
WebAssembly 编译器中的缺陷实证研究
通过定性分析 Emscripten 的 146 个缺陷与定量分析三个 WebAssembly 编译器的 1054 个缺陷,刻画其缺陷特征并给出测试与调试启示。
Deep GUI:基于深度学习的黑盒 GUI 输入生成
用深度学习从应用截图学习有效 GUI 交互模型,实现黑盒、跨平台的智能 GUI 输入生成,显著提升复杂 UI 的测试爬取效果。
大规模在线服务系统中基于图的事件聚合
提出基于图表示学习的 GRLIA 框架,利用级联图与 KPI 数据无监督学习事件表示,实现大规模云故障事件快速聚合。
刻画以太坊智能合约中的交易回滚语句
首次实证刻画以太坊智能合约中 require、if…revert、if…throw 等交易回滚语句的使用模式与安全影响。
学习高度递归的输入文法
提出 Arvada,通过冒泡兄弟节点从正例与布尔预言机中学习能泛化高度递归结构的上下文无关文法。
使用静态分析解决微服务架构重建问题
提出基于静态代码分析重建微服务架构,生成通信图、上下文映射与限界上下文。
自动化生成智能合约函数的用户须知
提出SMARTDOC,结合Transformer、指针机制与Java迁移学习,自动生成智能合约函数的用户须知。
像开发者一样思考?比较人类与代码神经模型的注意力
通过1508份人类注意力图,比较代码神经模型的注意力与人类推理,发现 copy attention 更接近人类。
利用缺陷转派知识图谱从错误中学习以降低缺陷分诊混淆
提出学习排序框架,利用正确、错误与无关历史缺陷-组件分配及缺陷转派知识图谱,显著提升缺陷组件分配准确率。
迈向协作式并行模糊测试的系统化动态任务分配
提出基于属性图与图划分的宏任务动态分配方法,工具 AFLTeam 提升并行模糊测试覆盖率并发现零日漏洞。
探索主动学习的局限性:一项实证研究
通过大规模实证揭示数据选择度量在准确率之外的局限,并发现标注预算与模型鲁棒性及压缩韧性存在权衡。
漏洞描述中基于短语概念的无监督标注与抽取
提出 CaVAE 无监督标注和抽取漏洞描述中的根因、攻击向量与影响等短语概念,并优于人工标注数据。
历史数据适合作为审阅者推荐系统的基准吗?——以 Gerrit 社区为案例的研究
通过复现 CHREV 与 WLRREC 并结合问卷与访谈,发现基于历史的评审者推荐评估在 Gerrit 中系统性偏悲观。
IFIZZ:面向 IoT 固件测试的深度状态与高效故障场景生成
提出 IFIZZ,面向 Linux IoT 固件错误处理代码,通过状态感知与有界错误生成高效触发深层故障路径并发现缺陷。
自动化开发者聊天挖掘
提出 F2CHAT,通过融合手工非文本特征与深度文本特征自动分类开发者聊天线程的信息类型。
Android 应用中配置兼容性问题的刻画与检测
分析196个真实问题以归纳Android框架变更模式,并提出基于符号执行的CONFDROID自动抽取检测规则。
REPFINDER:在库更新中为缺失的 API 寻找替代 API
提出基于启发式的方法 REPFINDER,通过分层搜索弃用消息、自身库和外部库,自动为库更新中缺失的 API 寻找替代 API。
FIGCPS:面向信息物理系统的深度强化学习故障诱发输入生成
提出 FIGCPS,用深度强化学习在无需被测系统知识和历史日志的情况下自动生成信息物理系统的故障诱发输入。
IncBL:增量式缺陷定位
提出增量式缺陷定位工具 IncBL,通过增量更新检索模型,在保持精度的同时平均减少 77.79% 的运行时间。
通过自动升级废弃 API 恢复 Jupyter Notebook 的可执行性
提出 RELANCER,用运行时错误驱动与机器学习自动升级废弃 API,近实时恢复 Jupyter Notebook 可执行性。
软件需求变更影响预测模型
提出结合机器学习与自然语言处理的需求变更影响预测模型,辅助自动化变更影响分析。
RefactorInsight:利用重构信息增强 IDE 中 Git 变更的表示
为 IntelliJ IDEA 构建插件,将重构自动折叠并提供说明,使开发者专注于行为变更。
面向信号时序逻辑的高效基于SMT的模型检测
提出基于SMT的STL有界模型检测算法,通过离散化连续信号并翻译为一阶实数公式,实现可靠且可扩展的验证。
ISPY:从社区实时聊天中自动抽取问题-解决方案对
提出 ISPY,用 NLP 与深度学习从开发者实时聊天中自动抽取 issue-solution 对。
理解与检测 Markdown 编译器中的性能缺陷
系统研究 Markdown 编译器的性能缺陷,指出上下文敏感特性的处理是主要根因,并提出模糊测试框架 MdPerfFuzz 检测未知缺陷。
从何开始:研究 Python 中的类型注解实践
通过实证研究总结 Python 类型注解的六种非平凡模式与三类文件特征,并给出优先注解建议。
日志异常到解决方案:基于 AI 的主动事件修复
提出一种从多源异构运维语料中主动识别日志异常并检索其解决方案的 AIOps 方法。
使用 E9AFL 对程序二进制进行可扩展模糊测试
提出 E9AFL,基于静态二进制重写为程序二进制自动插入 AFL 插桩,实现可扩展的灰盒模糊测试。
HyperGI:信息流泄漏的自动检测与修复
提出基于遗传改进的 HyperGI 框架,动态检测并定位信息流泄漏,并自动生成候选补丁修复泄漏。
学生汇编程序反馈的端到端自动化
开发端到端工具链,用扩展 KLEE 对 LC-3 学生汇编程序做等价性检查、静态检查与反向调试反馈。
FirmGuide:通过模型引导的内核执行提升嵌入式 Linux 内核的 rehosting 能力
提出模型引导内核执行,半自动生成外设模型并合成 QEMU 虚拟机,实现嵌入式 Linux 内核 rehosting。
py2src:面向 PyPI 包来源的自动(且可靠)识别
提出 py2src,自动识别 PyPI 包对应的 GitHub 源码仓库,并为识别结果提供可靠性指标。
进化引导的已验证帕累托最优 MDP 策略合成
提出一种进化引导方法,将 MDP 模型转为参数化马尔可夫链,合成满足 QoS 需求的已验证帕累托最优策略。
利用代码克隆与自然语言处理进行日志语句预测
提出利用代码克隆与NLP自动预测日志语句的位置、描述及详细级别和变量等细节,并在七个Java项目上优于先前工作。
FRUGAL:为软件分析解锁半监督学习
提出调优半监督方法 FRUGAL,仅标注 2.5% 数据即可在静态代码警告识别和问题关闭时间预测上超越现有方法。
DeepMemory:深度神经语言模型基于模型的记忆化分析
提出 DeepMemory,通过语义一阶马尔可夫模型分析神经语言模型的记忆行为,识别并缓解训练数据泄露。
无人机系统系统级测试的自动化方法
提出 AITester,用基于模型的测试与 AI 自动生成、执行并评估 UAS 系统级测试场景。
多模块 UAV 系统中的蜕变测试
提出面向多模块 UAV 系统的蜕变系统测试框架 MSTU,用于检测模块协同缺陷并给出评估方案。
InstruGuard:面向基于覆盖率的灰盒模糊测试的插桩错误发现与修复
提出静态分析与二进制重写平台 InstruGuard,自动发现并修复覆盖率灰盒模糊测试中的插桩错误,提升漏洞发现能力。
重新审视 bug 分派方法的文本特征
通过消融实验发现,bug 分派中文本特征反而降低效果,经典 NLP 不足以处理报告中的代码等复杂元素。
过时 issue 报告的实证研究
首个过时 issue 报告实证研究,定义过时比例并用 ICLINKER 分析其分布与代码注释引用。
通过强化学习实现基于模型的测试中的高效状态同步
提出Q学习算法高效推导完全/部分系统的同步序列,加速模型测试状态同步并缩短序列。
VizSmith:通过挖掘数据科学 Notebook 自动合成可视化
挖掘 Kaggle notebook 可视化代码构建可复用函数库,并用变质测试评估可复用性,实现按数据集与查询自动合成可视化。
半自动的跨组件问题管理与影响分析
提出基于 Gropius 的半自动跨组件问题管理方法,用分类预测问题关系并结合 SLO 分析影响。
Android 应用隐私泄露分析的自动化流水线
提出结合动静态分析与自动验证的 Android 隐私泄露分析流水线,以降低误报并提升检测准确率。
面向事件驱动 Node.js 应用的竞态检测
提出动态竞态检测方法 NRace,利用 happens-before 关系预测 Node.js 事件与异步任务间的竞态。
Web 应用中数据库 Schema 变更后的自动化代码重构
提出 EvolutionSaver,用静态分析与代码变换自动完成 Web 应用在数据库 schema 变更后的代码重构与一致性检查。
迈向流体软件架构:双向人类-AI交互
提出流体软件架构,支持客户端与服务器双向交互,并让界面与后端智能协同演化。
C++ 应用的遗传优化
提出 Artemis++,用遗传算法自动探索并转换数据结构,以优化 C++ 程序性能。
为 HPC 内核动态生成 Python 绑定
WayOut 通过静态头文件分析与运行时类型信息,自动为 C/C++ HPC 内核生成 Python 绑定层。
基于静态分析的业务流程提取
提出用静态源代码分析提取日志并按运行时执行顺序排列,以低成本支持业务流程挖掘。
基于提交描述自动决定提交集成
提出基于 NLP 的方法,仅利用提交描述自动判断提交能否集成到软件发布,准确率达 92.9%。
Transcode:检测大规模系统中的状态码映射错误
提出 Transcode,基于值流分析与控制依赖检测大规模系统中的状态码映射错误。
FinFuzzer:面向金融科技系统模糊测试的更进一步
FinFuzzer 将相关环境设置转换为系统输入并优先变异高优先级对象字段,提升金融科技系统模糊测试覆盖率。
论源代码编辑的多模态学习
提出多模态 NMT 代码编辑引擎 Modit,融合编辑位置、代码上下文与提交消息,显著提升 top-1 正确补丁生成率。
降低 Fuzzer 缺陷的修复时间
提出自动化模糊测试二分定位首次触发崩溃的提交,从而缩短缺陷修复时间。
使用 Mono2Micro 将单体应用转换为微服务
介绍将单体 Java 应用重构为微服务的工具支持方法,结合工业案例与动手实验。
使用版本控制与 Issue 工单检测代码债务与经济成本
提出基于 Issue 工单 NLP 的语言无关代码债务检测方法,并用 git 挖掘计算债务存续时间与经济成本。
摇动那些系统参数!论决策系统参数覆盖的必要性
提出面向决策系统的参数扰动覆盖准则,并在自动驾驶路径规划器中验证其优于经典结构覆盖。
应对 flaky 测试:理解问题并提供实用解决方案
计划构建跨生态且兼顾开发者视角的 flaky 测试框架,以理解问题并提供实用解决方案。
GenTree:使用决策树推断配置交互
提出动态分析工具 GenTree,用决策树从极少量配置样本中高效、精确地推断可配置软件中的配置项交互。
EvoMe:基于差分事实库的软件演化管理引擎
提出 EvoMe 引擎,以差分事实库统一表示演化软件制品,简化演化分析工具的开发与复用。
Revizor:一种基于图匹配的数据驱动方法,用于自动化频繁代码变更
提出 Revizor,用图表示代码变更并从版本历史挖掘重复模式,在 PyCharm 中推荐并自动执行快速修复。
面向 Android 应用的 API 兼容性问题检测、测试与分析
面向 Android 应用,提出改进 API 兼容性问题检测与测试的新方法。
用可生成合理代码的变异算子改进基于变异的故障定位
提出借助神经语言模型在变异点合成合理代码元素的新型变异算子,提升遗漏类故障的变异故障定位精度。
基于图引导测试的对抗样本检测
提出图引导测试 GGT,通过图特征生成高多样性剪枝模型,高效检测 DNN 对抗样本。
Nekara:通用并发测试
提出开源跨平台库 Nekara,将系统化并发测试的探索算法工程化封装,便于构建定制测试方案。
子群发现如何帮助 AIOps?
探索子群发现如何为 AIOps 提供可解释的异常检测、根因分析与修复支持。
一种向现有代码库添加架构策略的程序合成方法
提出一种程序合成方法,能根据程序上下文合成架构策略片段并正确植入现有代码库。
配置中的模式学习
提出配置模式挖掘,利用程序合成与字符串剖析从提交历史中学习配置规则,并构建 ConfMiner 检测异常配置。
源代码表示的 Mocktail:融合 AST、CFG 与 PDG 的路径表示
将 code2vec 的 AST 路径扩展为融合 AST、CFG 与 PDG 路径的源码表示,在方法命名任务上显著提升 F1。
基于算法伪代码引导的程序合成
利用算法伪代码中的控制结构框架与变量名信息引导程序合成,缩小搜索空间并合成含控制结构的复杂程序。
无需日志解析的基于日志的异常检测
提出无需日志解析的 NeuralLog,直接语义向量化原始日志并用 Transformer 检测异常,四个数据集 F1 超 0.95。
Quito:一种覆盖率引导的量子程序测试生成器
提出 Quito,面向 Qiskit 量子程序按输入、输出及输入-输出覆盖自动生成测试套件并检测故障。
通过动态演化搜索定向自动驾驶系统的需求违规
提出需求违规模式概念和 EMOOD 测试方法,用动态演化多目标搜索生成暴露更多需求违规组合的自动驾驶测试场景。
用 WebAssembly 赋能 Web 应用:我们做到了吗?
实证对比浏览器中 WebAssembly 与 JavaScript 的执行时间与内存占用,揭示 JIT 优化与内存开销差异。
通过层次聚类改进 REST API 的测试用例生成
提出 LT-MOSA,用凝聚层次聚类学习并保留 REST API 请求序列模式,提升测试覆盖与真实故障发现。
跨移动平台的 UI 测试迁移
提出 MAPIT,在闭源姐妹 Android/iOS 应用间双向迁移含 oracle 的 UI 测试,无需源码。
使用基于地图拓扑的场景分类对自动驾驶系统进行系统化测试
提出 ATLAS,按地图拓扑对交叉口车道分类,用遗传算法生成碰撞避免测试场景,实现全局地图系统化测试。
AID:大规模云系统中依赖聚合强度的高效预测
提出 AID,首个通过追踪数据与多变量时间序列相似度预测云服务间依赖强度的方法。
移动应用中基于尺寸的不可访问性问题的自动修复
提出自动修复移动应用中基于尺寸的不可访问性问题的方法,实验修复99%问题并通过用户研究验证界面外观。
Docker 项目中的重构与技术债:一项实证研究
通过分析 68 个 Docker 项目,揭示容器配置重构类型、技术债类别及最佳实践。
你做作业了吗?提升对软件公平性与歧视问题的意识
提出“反保护属性”概念,用网格搜索表明机器学习软件可在去偏的同时保留对反保护属性的区分能力。
“是什么让我的查询变慢?”:面向 SQL 工作负载分析的子群发现
提出基于子群发现的 SQL 工作负载分析方法,自动发现导致查询变慢等问题的模式并提供交互可视化。
基于依赖数据自助法的云计算性能测试
提出 Metior,用块自助法、大数定律和自相关处理云测试数据内部依赖,提升云性能测试准确率并降低成本。
BIFF:面向 IoT 与移动设备程序的实用二进制模糊测试框架
提出二进制模糊测试框架 BIFF,支持多架构纯二进制目标,低开销且能测试服务器类程序,发现 24 个未知漏洞。
使用更少进程和更低开销的更快变异分析
提出 WinMut,通过按变异语句范围分组变异体并消除解释器冗余计算,加速基于 fork 的变异分析。
SoManyConflicts:交互式、系统化地解决大量合并冲突
提出语言无关的 SoManyConflicts,用冲突关系图交互式、系统化地辅助开发者解决大量合并冲突。
FixMe:一个检测与监控 On-hold 自认技术债的 GitHub 机器人
FixMe 机器人用机器学习检测并监控 GitHub 仓库中的 On-hold SATD,并在关联 issue 解决时通知开发者。
为什么开发者会在 Java 中移除 Lambda 表达式?
首个大规模实证研究,归纳 Java 中 lambda 被移除的七类原因与七种迁移模式,并给出实践建议。
BeeSwarm:在持续集成中实现 HPC 应用的并行扩展性能测量
提出基于 HPC 容器的 BeeSwarm,将并行扩展性能测量集成到持续集成环境中。
代码中的基础设施:迈向开发者友好的云应用
提出“代码内基础设施”概念,并实现面向 Kotlin 的可扩展、云无关 serverless 框架 Kotless。
软件开发中的隐私作为一等需求:一种社会技术方法
提出将隐私需求作为软件开发一等公民的社会技术环境,弥合用户与分析师的知识差距并改善组织隐私氛围。
微服务候选识别中超参数调优的经验教训
揭示微服务拆分工具评估常忽略超参数优化,并证明调优能显著提升分区效果。
Shaker:一个更快检测更多 flaky 测试的工具
通过在测试执行环境中注入竞争 CPU/内存资源的噪声,Shaker 能比 ReRun 更快发现更多 flaky 测试。
CorbFuzz:用模糊测试检查浏览器安全策略
提出浏览器安全策略模糊测试工具 CorbFuzz,借助策略预言机检测 CORB 及同类策略的实现缺陷。
建模团队动态以刻画和预测用户故事中的延迟
通过 ING 案例的大规模日志数据,识别影响用户故事延迟的团队因素,并构建预测延迟概率与时长的模型。
迈向 Serverless Java 运行时
系统化复用 JVM 运行时数据(JIT profile、AOT 代码与 CDS),显著加速 Java 应用启动与预热。
基于特征向量的模糊测试方法推荐
通过提取目标程序特征向量并匹配模糊测试算法相似度,为不同程序推荐更合适的模糊测试方法。
JTDog:用于动态测试异味检测的 Gradle 插件
提出集成于构建工具 Gradle 的插件 JTDog,可在开发过程中检测基于测试运行时行为的动态测试异味。
Q&A MAESTRO:为修复 Java 运行时异常推荐 Q&A 帖子
提出 Q&A MAESTRO,利用问答网站中代码结构信息,为 Java 运行时异常自动推荐相关 Q&A 帖子并实现 IDE 插件。
挖掘跨领域应用以支持软件演化:一种基于特征的方法
提出基于特征的跨领域应用挖掘方法,自动识别、分组并排序互补特征,为目标应用提供个性化功能推荐。
基于领域专家评估业务流程的语义自动补全
通过领域专家用户研究评估基于语义相似度的业务流程自动补全引擎,并发现专家评分与部分NLP指标强相关。
通过云原生领域特定函数解耦服务端与客户端代码
提出将应用逻辑完全置于云端的领域特定函数方案,解耦服务端与客户端代码。
面向测试与学习的访问控制树
提出访问控制树,用集合论规范可视化复杂访问控制,并生成自动化测试,兼作学习工具。
DSInfoSearch:支持数据科学家的实验过程
提出 DSInfoSearch,通过上下文感知的排序实验推荐,支持数据科学家探索问题域与开发任务。
通过自动相似性匹配增强需求复用
提出基于特征模型与案例推理的产品相似度评估方法,将产品配置表示为加权二进制串以支持需求复用。
为任务特定缺陷报告摘要自动标注句子
提出一种自动标注缺陷报告句子的方法,使项目成员能按任务特定信息需求生成摘要。
ASE 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)2021
2020158 篇 · Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering
Marble:面向 RNN 深度学习系统的定量鲁棒性分析
提出 Marble,通过概率抽象与迭代精化对真实 RNN 深度学习系统进行定量鲁棒性分析。
NeuroDiff:面向前馈 ReLU 神经网络差分验证的符号化细粒度近似
提出 NeuroDiff,用新凸近似与符号变量细粒度界定两个 ReLU 网络输出差,实现高精度快速差分验证。
面向软件验证算法选择的注意力与表示
提出 Attend and Represent,用注意力与表示学习改进软件验证算法选择,并关注可解释性。
具有可证明保证的深度学习安全性与鲁棒性
提出面向深度神经网络的自动验证与测试技术,对有界输入扰动给出可达输出集的上下界,并提供可证明保证。
训练深度学习软件系统:问题与机遇
揭示深度学习训练中算法与库实现级非确定性导致多次运行产生不同模型,并讨论问题与机会。
Audee:深度学习框架测试与缺陷定位
提出基于搜索的深度学习框架测试与缺陷定位方法 Audee,可检测逻辑错误、崩溃和 NaN 错误。
持续合规
指出现有合规认证依赖人工审计源代码,成本高、易错、不完整且易回归,主张以持续自动化检查替代。
通过概率抽象解释循环神经网络
提出用概率抽象解读循环神经网络,以突破简单确定性模型表达力不足导致的解释瓶颈。
将学习技术应用于 oracle 合成
提出用学习技术合成软件 oracle/规格,以弥补规格缺失并支持自动化可靠性分析。
为符号执行合成智能求解策略
提出两阶段符号执行方法,用深度学习合成程序特定求解策略以提升约束求解性能。
No Strings Attached:字符串相关缺陷的实证研究
首个对 JavaScript 中字符串相关缺陷的根因、后果与修复特征的系统性实证研究。
缺陷预测引导的基于搜索的软件测试
提出由缺陷预测引导的搜索式测试生成,按代码缺陷可能性分配测试预算。
面向运行时概率模型检验的区间变化点检测
提出高效区间变点检测并与贝叶斯估计器集成,使运行时概率模型检验能应对参数突变。
符号执行中的待定约束:改进探索与种子输入利用
提出待定约束技术,优先探索已知可行的路径、推迟其余路径,提升符号执行的可扩展性与覆盖率。
MetPurity:基于学习的纯方法识别
提出基于随机森林的纯方法识别工具 MetPurity,用程序分析自动标注训练集并预测未知方法纯度。
神经程序合成的可扩展性与精度改进
提出一个从程序空间描述、模型架构与结果处理三个维度改进神经程序合成的框架,提升合成规模与正确性。
SmartBugs:面向 Solidity 智能合约的可扩展分析工具执行框架
提出可扩展执行框架 SmartBugs,统一运行与比较 Solidity 智能合约分析工具,并提供漏洞与真实合约数据集。
评估代码变更的表示学习用于预测程序修复中的补丁正确性
系统评估多种代码变更表示学习嵌入,用机器学习预测自动程序修复补丁是否正确。
自动化补丁正确性评估
通过大规模实证研究系统比较现有自动补丁正确性评估技术,并提出学习与投票结合的集成策略以显著提升过拟合补丁检测效果。
评估并恢复 Jupyter Notebook 的可复现性
揭示 Jupyter Notebook 因单元格执行顺序任意而普遍不可复现,并关注其评估与恢复问题。
细粒度 API 约束知识图谱驱动的 API 误用检测
从 API 参考文档抽取细粒度 API 约束知识图谱,据此直接检测缺失调用、缺失条件检查与缺失异常处理三类 API 误用。
SCDetector
针对语义代码克隆检测中图匹配可扩展性低的问题,提出工具 SCDetector。
驾驭可配置软件系统性能估计中的不确定性
提出基于概率编程的 P4,为可配置系统性能影响建模引入不确定性量化与置信区间。
CCGraph:基于图核的程序依赖图代码克隆检测
提出 CCGraph,通过归一化 PDG、两级过滤与基于改进 WL 图核的近似图匹配来高效检测代码克隆。
我们应该在哪里记录日志?
通过实证研究归纳块级日志位置模式,并提出深度学习框架自动推荐日志插入位置。
拓展多语言静态分析的视野
指出现有编译器与静态分析局限于单语言,呼吁将静态分析扩展到多语言程序以检测互操作缺陷。
JISET
针对现代 JavaScript 形式语义人工编写、易错且滞后的问题,论文提出 JISET;所给摘要未展开具体方法。
多路符号执行
提出 MuSE,将约束求解与路径探索统一,一次求解探索多条路径以缓解符号执行的双重搜索问题。
Node.js 应用中的基于代码的漏洞检测
提出并实现面向 Node.js 应用的基于代码的漏洞检测工具,并通过案例研究总结实现挑战。
当深度学习遇到智能合约
指出智能合约漏洞带来的经济损失,并引出深度学习用于智能合约安全与维护的交叉方向。
探索 Python 软件中 possible dependencies 的架构影响
通过类型推断显式化 Python 的 possible dependencies,实证表明其对架构质量的影响超过显式依赖。
BugPecker:面向缺陷方法定位的修订图深度学习
BugPecker 通过在修订图上深度学习,利用历史修复细节来定位缺陷方法,显著优于现有方法。
TestMC:模型计数器的差分与蜕变测试
提出 TestMC 框架,用差分/蜕变测试与有界穷举输入生成测试模型计数器,发现三个工具缺陷。
利用短阻塞子句加速 all-SAT 计算
提出基于 backbone 的 all-SAT 求解器 BASolver,通过缩短阻塞子句加速全可满足赋值枚举。
源代码与二进制层面的漏洞检测与热补丁
提出静态漏洞检测与热补丁框架,在源码与二进制层面用签名匹配漏洞函数并自动生成热补丁。
Prober:面向生产环境的堆溢出检测与预防
提出 Prober,通过静态分析标记数组相关调用栈并结合页保护,在生产环境低开销检测和阻止堆溢出。
信息物理系统中基于合成的特征交互消解
提出基于合成的特征交互消解方法,通过合成满足系统规约的动作,在冲突动作均不理想时仍能产生期望结果。
一种用于检测 MPI 程序死锁的预测分析
提出单路径 MPI 程序的预测分析,通过依赖图、抽象机与 SMT 求解检测其他可行调度下的死锁。
一种基于程序验证的方法:发现中断驱动程序中的数据竞争漏洞
提出基于程序验证的方法检测中断驱动程序中的数据竞争漏洞,旨在消除静态分析中的误报。
用 k-归纳证明终止性
将命令式程序的终止性证明归约为 k-归纳不变式合成,从而更高效地合成终止性论证。
补丁即翻译:程序修复中翻译模型适用性的实证研究
实证表明程序修复虽受益于通用序列到序列模型,却不应照搬机器翻译设计,基于此提出更有效的编辑合成修复方案。
基于图神经网络的程序语义学习统一框架
提出统一框架,构造两类图以捕获丰富代码语义,服务多种软件工程应用。
具有随机行为的无限状态系统的合成
提出 Skolem 提取算法,从规约合成具随机行为的见证,保证正确性并提升响应多样性。
通过影响边界搜索扩展客户端特定等价性检查
提出 2clever,通过在控制流中搜索影响边界,高效求解客户端特定等价性检查问题。
SMT 的动态算法选择
提出基于最近邻分类与运行时估计的在线 SMT 求解器选择方法,实现 MedleySolver,选择近乎最优且求解快三倍。
动态代码的表示与推理
提出一种程序表示与新的依赖概念,用于推理动态代码生成器与生成代码之间的依赖和信息流关系。
程序注释的分类与传播
提出注释分类与传播方法,利用NLP和语言语义规则在代码实体间传播注释,以检测代码bug和注释缺陷。
混合深度神经网络用于推断黑盒系统的状态模型
提出混合深度神经网络,从黑盒系统的时间序列信号中推断状态模型与状态变化点。
基于多任务学习的代码补全预训练语言模型
提出基于 Transformer 的多任务预训练语言模型,联合预测下一个 token 及其类型以提升代码补全性能。
Owl eyes:基于深度学习的 GUI 显示问题检测与定位
提出深度学习工具 OwlEye,检测 GUI 显示问题并定位缺陷区域。
面向智能合约实际重入漏洞检测的跨合约静态分析
提出跨合约静态分析,以检测多合约交互场景中实际可触发的重入漏洞。
面向目标检测系统测试的蜕变对象插入
提出蜕变对象插入方法,为深度神经网络目标检测器提供系统化测试,以发现其错误行为。
猫不是鱼
通过大规模实证研究揭示分布外数据感知对深度学习测试及分布感知对抗重训练的影响
面向 Android 应用的自动化第三方库检测
指出现有 Android 第三方库检测工具缺乏系统研究,其应用场景与性能差异尚不明确。
多边界聚类与优先级排序以促进神经网络重训练
提出多边界聚类与优先级排序,从测试输入中选取有效子集,以有限标注促进神经网络重训练。
重新审视故障检测、测试充分性准则与测试集规模之间的关系
澄清测试集规模在充分性准则与故障检测关系中的角色,并给出公平比较准则的方法论与实证评估。
自动化即时注释更新
提出 CUP,利用神经序列到序列模型从代码-注释协同变更中学习,自动生成与新代码一致的注释。
代码到注释的“翻译”
重新审视代码注释生成等同于自然语言翻译的假设,比较数据集并校准BLEU,指出性能可能被高估且IR是合理基线。
JITBot:面向 GitHub CI/CD 的可解释即时缺陷预测框架
提出可解释的即时缺陷预测框架,并作为 GitHub 应用接入 CI/CD,自动反馈提交风险、原因与缓解建议。
通过记忆化搜索增强的编译器缺陷隔离
提出基于结构变异与强化学习的编译器缺陷隔离方法 RecBi,利用通过测试程序排序可疑文件。
Zeror
提出 Zeror,旨在降低插桩开销并保持覆盖率准确性,从而稳定提升模糊测试的漏洞检测性能。
论统一调试的有效性
通过对16个程序修复系统的大规模实证研究,揭示统一调试的有效性规律,并提出UniDebug++,Top-1定位缺陷数比ProFL提升20%以上。
事故有多偶然?
对微软18个在线服务系统的事故进行大规模实证分析,提出基于注意力CNN的DeepIP来提前识别偶发事故并排序。
BuildFast:面向持续集成的高效构建结果预测
提出历史感知的 CI 构建结果预测方法 BuildFast,借助失败特异特征与自适应模型,将失败构建预测 F1 提升 47.5%。
MinerRay
提出 MinerRay,通过推断 WebAssembly/JavaScript 中挖矿行为本质并检查用户操作实例化,检测恶意浏览器内加密挖矿。
结合基于搜索的测试与基于文法的模糊测试生成高度结构化输入数据
提出 G-EvoSuite,将文法变异融入搜索式测试,协同演化生成结构化测试输入,提升 JSON 解析类分支覆盖。
使用可信解释构建公平的机器学习软件
提出基于 K 近邻的可信解释方法,揭示黑盒 ML 模型的潜在偏见,弥补现有偏见度量与解释方法的不足。
OCoR:重叠感知的代码检索
提出重叠感知的代码检索方法 OCoR,利用名称与自然语言词之间的重叠关系提升检索效果。
基于知识图谱生成概念驱动的 API 元素比较
提出 APIComp,用知识图谱从 API 文档抽取知识并自动生成 API 元素比较,效果优于启发式基线。
BiLO-CPDP:基于双层规划的跨项目缺陷预测模型自动发现
提出 BiLO-CPDP,用双层规划自动搜索跨项目缺陷预测中迁移学习器与分类器的最优组合及其超参数。
基于注意力神经网络的自认技术债检测与解释
提出基于注意力神经网络的SATD检测与解释方法
Legion
将自动化测试生成建模为不确定下的序贯决策问题,用 MCTS 结合定向模糊测试,在 Test-Comp 2020 覆盖基准上验证有效性。
揭秘智能合约中的循环
对两万余个 Solidity 合约的循环进行实证研究,提出循环模式 DSL 与合成工具 Solis,可总结至少 56% 的循环。
Botsing:面向 Java 的基于搜索的崩溃复现框架
提出开源可扩展的基于搜索的 Java 崩溃复现框架 Botsing,可从栈回溯自动生成复现测试。
一种检测 Java 序列化漏洞的混合分析
提出结合静态分析与 fuzzing 的混合方法,利用堆抽象引导 fuzzing 检测 Java 库序列化漏洞并验证静态分析报告。
MockSniffer:面向单元测试的 mock 推荐技术
通过实证研究刻画被 mock 依赖的特征,并用机器学习实现全自动的单元测试 mock 推荐工具 MockSniffer。
学习处理异常
提出神经方法自动预测 try 块位置并生成完整 catch 块,实现 Java 异常处理的自动化。
通过比较历史版本发现以太坊智能合约安全问题
提出基于深度学习的智能合约安全问题发现方法,通过定位被 Selfdestruct 合约的更新版本来比较历史版本。
FlashRegex:面向抗 ReDoS 攻击的正则表达式合成与修复
提出 FlashRegex 框架,从示例合成或修复出抗 ReDoS 的正则表达式。
面向智能合约的基于摘要的符号求值
提出基于摘要的符号求值,使智能合约对抗性漏洞利用合约的自动合成更高效且精确。
M³
针对库迁移依赖先验知识的问题,M³ 探索不依赖 changelog 或 API 使用统计的迁移方式。
更接近边缘
通过动态分析消除 Csmith 冗余安全包装器,生成更接近 UB 边缘但无 UB 的程序,发现 GCC 新误编译错误。
CP-detector:基于配置性能期望的性能缺陷检测
提出 CP-detector,利用配置变更带来的性能期望作为通用测试预言,检测性能缺陷。
从需求制品中自动抽取因果关系
关注从自然语言需求制品中自动抽取因果关系,并论证其可支持测试用例等后续制品的半自动生成。
MoFuzz:面向 MDSE 工具的模型模糊测试
提出 MoFuzz,用图语法与覆盖引导变异为模型驱动工程工具生成良构模型进行模糊测试。
Android 剪贴板的自动化评估
结合动态检测与静态污点分析,自动评估 Android 剪贴板访问与隐私泄露,并实证发现搜狗输入法外传剪贴板数据。
微信小程序 JavaScript 动态分析的工业实践
扩展 Jalangi 为 WeJalangi,用于微信小程序动态分析与缺陷诊断,并在开源及腾讯商用小程序中验证有效性。
即时反应式合成
提出即时(just-in-time)反应式合成,按需从 GR(1) 时序规约构造正确反应式系统。
OSLDetector:开源库检测工具
提出二进制第三方库检测工具OSLDetector,通过特征匹配与内部克隆森林应对特征重复,并识别许可证冲突与漏洞。
基于双向模型变换的反应式系统可扩展多视图分析
提出在规约层切片并通过双向模型变换实现反应式系统多视图可扩展验证与变更传播的方法。
基于信号的时序属性的迹检查
针对现有SBTP规约语言的不足,研究基于信号的时序属性的迹检查方法。
Android 应用的 UI 混淆及其对自动化 UI 分析的影响
系统研究 Android 应用 UI 混淆,设计 9 种方法并揭示其使自动化 UI 分析工具性能严重下降。
RepoSkillMiner:基于 GitHub 提交内容与 NLP 的细粒度技术技能挖掘
提出 RepoSkillMiner,用 GitHub API 与 LUIS 对提交代码块做命名实体识别,识别 .NET 与前端框架等细粒度技术专长。
好事成三
提出 MO-HO,将崩溃复现搜索多目标化,加入测试长度与方法序列多样性辅助目标,提升复现率与效率。
基于子域的通用性感知去膨胀
提出 DomGad,通过面向子域生成与随机优化,实现兼顾代码缩减和通用性的去膨胀。
WASim:WebAssembly 模块用途自动分类
提出 WASim,通过分析模块级特征自动识别 WebAssembly 程序用途并分配标签。
理解数据科学库 API 文档中的性能关注点
实证研究数据科学库 API 文档中的性能关注,揭示官方与社区文档高度互补。
从 Scratch 开始验证
为 Scratch 定义语义并实现 Bastet 分析框架,结合抽象解释与软件模型检测支持程序分析。
利用视觉理解发现 UI 显示问题
提出 OwlEye,用深度学习建模 GUI 截图,检测并定位 UI 显示问题以辅助修复。
挪威国家电子健康门户的轻量级 MBT 测试
用有限状态机模型对挪威国家电子健康门户的隐私与授权概念开展轻量级基于模型的测试。
UnchartIt
针对图表生成中数据转换繁琐及已有图表难以复现的问题,介绍 UnchartIt。
论恶意软件检测中的良性特征
揭示Drebin常靠良性特征而非恶意特征分类,提出降低良性特征优先级的方法以提升抗攻击性并保持准确率。
迈向鲁棒的生产机器学习系统
提出评估ML赋能软件系统在数据集偏移下鲁棒性的方法论,并设计通知机制辅助ML组件调试。
ER Catcher:Android 应用中的事件竞态缺陷检测
提出流、上下文、线程敏感的静态分析框架 ER Catcher,用摘要函数与向量时钟检测 Android 事件竞态缺陷。
带自适应搜索策略的高效多路符号执行
通过轻量级冗余检查与在线学习自适应搜索策略,提升多路符号执行的可扩展性。
使用缺陷预测提升基于搜索的软件测试的缺陷检测能力
将缺陷预测信息融入基于搜索的软件测试,按缺陷可能性分配时间预算并引导遗传算法搜索缺陷区域,以提升 bug 检测效率。
预测软件开发任务的代码上下文模型
提出基于交互历史中代码元素拓扑模式与角色刻板印象的代码上下文模型预测方法,并优于Suade。
算术程序中掩码防护措施的形式化验证
提出面向算术程序掩码防护的形式化验证方法,并实现工具 QMVerif,提升精度与可扩展性。
Styx:面向数据的 DNN 鲁棒性变异框架
提出面向数据的变异框架 Styx,通过轻微变异训练数据提升 DNN 鲁棒性并保持测试精度。
识别与描述信息搜寻任务
通过定期捕获开发者活动窗口并生成向量表示,自动识别和描述其正在进行的信息搜寻任务。
HomoTR:同源测试推荐系统
提出 HomoTR,通过度量方法同源性,为待测方法在线推荐已有测试用例。
识别变异包含关系
提出用弱变异测试与 Z3 证明方法级变异算子间的包含关系,以消冗余变异并降低变异分析成本。
SRRTA:基于状态重用的回归测试加速
提出基于复用旧版本程序状态的回归测试加速方法 SRRTA,在 commons-math 上减少 82.7% 的测试时间。
迈向自动生成线程安全类
提出 AutoLock,无需规约即可从顺序正确的类自动推断访问注解、合成锁策略并实现线性化线程安全类。
Java 自动程序修复工具中的反模式
检验 C 程序修复中的反模式是否存在于 Java 修复工具,并将反模式集成到 jGenProg2 以过滤补丁、加速修复。
迈向面向活动的智能家居系统的编程与验证
提出 Actom 框架,支持活动-传感器映射开发,并在运行时监控时序约束性质,以提升智能家居可靠性与安全性。
Alloy 的基于 SAT 的算术支持
为 Alloy 提出一种通过标准构造实现、可支持不同精度的 SAT 算术扩展。
泛型数据结构的影响
研究 Linux 内核中 C 泛型双向链表的利弊,并提出列表类型推断与可视化工具,可辅助理解并发现缺陷。
检索与精炼
提出用检索到的相似代码注释作范例,指导 seq2seq 神经网络生成代码注释,在 Java 语料上显著优于现有方法。
DeepTC-enhancer:面向自动生成测试的可读性增强
提出 DeepTC-enhancer,旨在同时提升自动生成测试的方法名与方法内标识符可读性,并缓解摘要冗长问题。
开源 Android 应用中的测试自动化
通过对12000余个开源Android应用与148名开发者的实证研究,揭示测试自动化采用率低但热门项目更倾向采用等规律。
BigFuzz
提出 BigFuzz,将模糊测试应用于大数据分析,以应对 DISC 系统环境启动慢、覆盖率扩展难和变异数据无意义三大障碍。
CoFI
CoFI 关注云系统中由网络分区引发的缺陷,致力于在特定时机启停分区以暴露这些难以触发的 partition bugs。
保持专业与高效
提出 iTAPE,将缺陷报告标题生成视为单句摘要任务,基于 Seq2Seq 自动生成高质量标题。
跨变体与版本识别软件性能变化
针对可配置软件系统,提出在多个变体与版本间识别性能变化的方法,以应对演化中配置相关性能变化难以发现的问题。
PerfCI:面向持续集成的自动化性能测试工具链
提出 PerfCI 工具链,支持在 CI 中自动开展性能测试并反馈代码性能问题。
移动应用自动化测试 mock 的框架
提出 MOKA 框架,自动收集并生成可复用的移动应用测试 mock,支持程序合成与录制回放两种方式。
EXPRESS:面向智能系统的节能安全边缘计算框架
提出基于移动边缘计算与区块链的 EXPRESS 框架,实现能效与安全的数据和计算资源管理,并用 UAV 配送系统验证。
SADT:面向 SSL/TLS 实现证书验证的语法感知差分测试框架
提出语法感知的差分测试框架 SADT,通过树变异与测试用例共享提升 SSL/TLS 证书验证缺陷检测能力。
面向开放论坛需求发现与标注的深度多任务学习方法
提出 DEMAR 深度多任务学习方法,联合进行开放论坛中的需求发现与需求语句标注。
七个原因
通过人工分析 Monkey 在 64 个 Android 应用上的表现,归纳其覆盖受限的七个常见原因并评估改进潜力。
开源软件项目中 DevOps 工具采纳过程中的团队讨论与动态
研究 OSS 项目在采纳 DevOps 工具前团队如何讨论与决策,以及哪些团队特征影响采纳。
Windows 相关安全配置指南的自动化实现
提出自动化实现 Windows 相关安全配置指南的方法,以降低手动安全加固与维护的负担。
GUI2WiRe:基于自然语言需求的 GUI 原型检索与线框图生成工具
提出 GUI2WiRe,用多种 IR 模型与自动查询扩展从大规模 GUI 仓库按自然语言需求检索原型并快速生成线框图。
FILO
提出 FILO 工具,通过推荐需修改的方法并报告失败执行症状,帮助 Android 开发者修复 API 升级引发的兼容性问题。
Edge4Sys:面向移动边缘计算智能系统的端边协同框架
提出 Edge4Sys 端边协同框架,以无人机配送中的深度学习用户识别为例,显著降低网络流量与响应时间。
基于机器学习的 CNC 机床诊断模型自动生成方法
提出用 LSTM 自动生成 CNC 机床预测性诊断模型的系统,可判定刀具与电机轴承状态。
利用现有微服务与架构知识自动生成面向特定客户端的后端
提出模型驱动方法,从 API 与非功能需求的可解释规格中复用架构知识,自动生成面向特定客户端的生产级微服务后端。
ChemTest:化学反应网络测试框架
提出首个化学反应网络(CRN)测试框架 ChemTest,支持多种测试用例并可发现种子故障。
面向使用增强现实的沉浸式软件系统理解
用 AR 三维可视化软件系统,并通过 20 名开发者的实验证明其比传统 2D 表示更利于软件理解。
Workaround 的症状、成因与修复
首个实证研究分析 Apache 项目中 221 个 workaround,揭示其涉及的缺陷、成因与修复方式。
推断并应用部署描述符中类似 def-use 的配置耦合
提出 Xeditor,从部署描述符中挖掘配置耦合规则,并用其校验新增或更新的 XML 配置文件。
FLUX
提出工具 FLUX,将关系数据库查询翻译为图数据库查询,以促进两类数据库互操作。
迈向构建鲁棒的 DNN 应用
研究工业 GUI 数据集上数据增强对 DNN 图像分类与目标检测鲁棒性的影响,并总结实践启示。
IFTTT Mashup 基础设施的自动生成
提出一种自动生成 IFTTT Mashup 基础设施的工具,通过 REST API 与 workflow XML 在数秒内完成创建、部署和执行。
ImpAPTr:基于剪枝树的影响分析
提出原型工具 ImpAPTr,用剪枝树分析多维属性组合,以及时定位服务调用成功率下降的根因。
通过设备端测试生成加速 GUI 测试
提出设备端 Android GUI 测试生成器 DD-2,在设备上借无障碍服务生成交互,较跨设备方案快 3.2 倍。
CrossPriv:面向跨孤岛联邦学习的用户隐私保护模型
提出 CrossPriv,面向跨孤岛联邦学习的用户隐私保护模型,并在肺炎 X 光检测中验证无原始数据共享的协同训练。
Sosed:发现相似软件项目的工具
Sosed 通过子词嵌入聚类比较项目代码分布,在大规模 GitHub 库中发现语义相似的软件项目。
STIFA:众包移动测试报告的图文融合选择工具
提出图文融合的众包移动测试报告选择工具 STIFA,通过聚类提升重复报告检测准确率。
管理应用测试设备云
初步研究揭示设备云管理软件会影响测试执行,且几乎所有云设备都存在安全问题。
接入数据库,玩转自动测试
针对 Web 自动测试中有效输入值难以生成的问题,主张将数据库作为应用特定数据来源接入测试流程。
IT 测试的新方法
指出传统IT项目手工场景测试难以覆盖真实场景,提出新的IT测试方法(摘要未详述具体方案)。
迈向促进透明度的部分软件披露,以建立数据使用中的信任
提出通过部分软件披露在保护开发者知识产权的同时支持对数据使用的透明审计与信任。
软件工程研究是否正在解决软件工程问题?
以多人员多版本程序的定义审视软件工程研究现状,呼吁回归软件工程核心问题。
揭秘“不死”Android 应用
系统研究 Android 应用对抗进程查杀以延长存活时间的方法及其在真实世界中的普遍程度。
Edge4Real
提出可在边缘计算环境商品机器上部署的低成本人体行为识别系统 Edge4Real,实现实时、易用的人体动作识别。
AirMochi
提出 AirMochi,利用移动平台公开辅助功能实现应用远程访问与控制,无应用限制且开销可忽略。
2019161 篇 · 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)
FPChecker:检测 GPU 应用中的浮点异常
提出首个自动检测 GPU 应用中浮点异常的工具 FPChecker,通过编译器插桩在运行时报告异常位置。
Python 调用图的实证研究
对多个广泛使用的 Python 静态调用图工具进行定量与定性对比,发现构造效果差异显著且仍有改进空间。
深度神经网络的属性推断
提出自动推断前馈神经网络形式化属性的技术,从神经元激活模式中提取蕴含期望输出性质的输入与层属性。
从需求推断性质并自动化其形式验证
提出用 SML 元模型表达示例数据,并改进 ILP 自动推断性质,以降低形式验证中规约与证明的人工交互。
DeepMutation++:面向深度学习系统的变异测试框架
提出支持前馈与循环神经网络的变异测试框架 DeepMutation++,用于评估 DNN 测试数据质量与模型鲁棒性。
VeriAbs:通过抽象与测试生成进行验证
提出 VeriAbs,一个面向 C 程序的可达性验证器,按循环类型选择由抽象、模型检测与测试生成等技术组成的策略组合。
通过符号不变式差异理解自动生成的补丁
利用形式不变式集合的差异与蕴含距离刻画自动生成补丁的语义相似性,并聚类以减轻人工审查负担。
通过程序变换自动实现 CUDA 同步
提出 AuCS,首个在 LLVM 级对 CUDA 内核自动插入同步屏障的通用框架,可处理数据竞争、屏障分歧与冗余屏障。
面向前馈神经网络的覆盖率引导模糊测试
提出覆盖率引导的通用 DNN 模糊测试框架 DeepHunter,通过自适应启发式提升测试覆盖率并检测真实缺陷。
用于模型计数与定量程序分析的子公式缓存
提出子公式缓存框架并集成到模型计数求解器,利用跨约束共享的子公式显著加速定量程序分析。
批处理别名分析
提出批处理别名分析框架,通过消除无关与冗余数据流路径,在不牺牲精度的前提下加速按需别名分析。
SWAN_ASSIST:半自动检测代码特定的安全相关方法
提出 IntelliJ 插件 SWAN_ASSIST,用主动机器学习与用户反馈半自动识别和分类 Java 安全相关方法(SRM)。
面向 Coq 的变异分析
提出变异证明技术并实现 mCoq,通过变异 Coq 定义检验证明是否失败,以评估和改进证明工程。
更好地开发安全关键系统:中国高速铁路系统开发经验报告
分享中国高铁安全关键系统开发挑战,提出用SysML精化与SAT求解检查模型的搜索式模型驱动方法。
跨不同框架与平台的深度学习开发与部署特征化实证研究
首次系统实证比较主流深度学习框架与平台在开发与部署中的精度、鲁棒性、性能及兼容性差异,并发现缺陷与总结指南。
CLCDSA:使用句法特征与 API 文档的跨语言代码克隆检测
提出 CLCDSA,利用跨语言句法特征与 API 调用相似性,结合深度神经网络,无需中间表示即可检测跨语言代码克隆。
DIRE:一种用于反编译标识符命名的神经方法
提出 DIRE,用神经概率技术结合反编译所得词法与结构信息恢复变量名,最高 74.3% 与原源码一致。
通过语义映射实现移动应用间的测试迁移
提出 CraftDroid,利用信息检索与静态/动态分析将已有测试用例及 oracle 迁移到功能相似的其它移动应用。
借助 Big Code 从单一示例推断程序变换
提出 GENPAT,利用大代码统计与代码上下文,从单个程序变更示例推断通用程序变换,并验证于系统化编辑与修复。
深度学习库测试中 Oracle 近似的研究
首次实证研究深度学习库测试中 oracle 近似断言的普遍性、来源、演化模式与维护挑战。
一种基于机器学习的 SQL 注入漏洞识别方法
提出基于输入验证与净化特征的机器学习分类器,用于检测 PHP 代码中的 SQL 注入漏洞。
理解大规模云系统中的异常相关缺陷
首次对六个大规模云系统的210个异常相关缺陷进行实证研究,并构建静态分析工具DIET。
Android 污点分析结果的定性分析
用 COVA 计算部分路径约束,对 1022 个 Android 应用的 FlowDroid 污点流做定性研究,揭示误报成因与精度提升方向。
结合程序分析与统计语言模型进行代码语句补全
提出 AutoSC,将程序分析与统计语言模型结合,实现频繁且类型正确的代码语句补全。
从示例中学习以发现代码片段中 API 元素的完全限定名
提出 COSTER,利用局部与全局上下文及似然词典,从示例中解析代码片段里 API 元素的完全限定名。
Manticore:面向二进制与智能合约的用户友好符号执行框架
提出开源动态符号执行框架 Manticore,支持二进制与以太坊智能合约分析,并允许用户自定义分析流程。
RENN:神经网络辅助别名分析的高效反向执行
提出 RENN,用新型 RNN 辅助二进制内存别名分析,提升反向执行与崩溃根因定位效率。
循环神经网络(RNN)的定量分析框架
提出通用可扩展的 RNN 定量分析框架 DeepStellar,支持测试生成与对抗样本检测。
Debreach:通过静态分析与程序变换缓解压缩侧信道
提出 Debreach,用污点分析与程序变换消除压缩输出长度对敏感数据的依赖,兼顾泄漏防护与压缩率。
验证密码学 C 程序中的算术
提出自动化方法验证密码学 C 程序中的大数非线性算术,首次建立 OpenSSL 若干曲线实现的函数正确性。
面向语义源代码检索的多模态注意力网络学习
提出MMAN,用LSTM、Tree-LSTM和GGNN编码代码token、AST与CFG,并通过多模态注意力融合提升代码检索准确率。
TsmartGP:一种基于指针分析发现内存缺陷的工具
提出TsmartGP,用流、上下文、域与准路径敏感指针分析高效检测C程序内存缺陷。
PTracer:一个 Linux 内核补丁追踪机器人
提出基于改进 PatchNet 的 Linux 内核补丁追踪机器人 PTracer,自动筛选并分类修复性补丁。
符号执行中的细粒度内存对象表示
在 KLEE 中提出细粒度内存对象表示,大幅降低符号执行状态的内存占用并显著加速。
基于加权自动机的精确字符串约束解计数
提出加权自动机模型对字符串约束解计数,保持与输入字符串值的一一对应,修正传统自动机模型的计数错误。
Sip4J:静态推断访问权限契约以并行化顺序 Java 程序
提出 Sip4J,通过跨过程静态分析自动推断 Java 访问权限契约,识别可并发方法以并行化顺序程序。
SiMPOSE——面向变体丰富软件叠加分析的可配置 N 路程序合并策略
SiMPOSE 在控制流自动机层面对 N 个程序变体做可配置的 N 路合并,自动生成叠加以支持家族式分析。
利用机器学习实现控制器的可理解表示
用机器学习在保留领域知识的前提下,简洁表示模型检测器合成的控制器,并配套可视化工具。
通过面向验证的提升消除内联汇编
提出首个自动化、通用、可信的验证友好型 lifting 技术,将内联汇编转换为可验证的等价 C 代码。
SEGATE:揭示字符串输入在代码与规约之间的语义不一致性
提出面向结构化字符串输入的测试生成技术,通过推断输入定义的不一致来暴露代码与规约间的语义鸿沟。
验证顺序程序中的确定性
提出一种类型系统,在编译期可靠验证顺序程序的计算是确定、非确定还是序非确定的,并在大型程序中检出未知缺陷。
主题演讲
综述数据科学家的角色与工具需求,并探讨面向数据中心软件重思调试、测试及开放问题。
Wuji:基于进化深度强化学习的自动在线战斗游戏测试
提出 Wuji 框架,结合进化算法与深度强化学习进行在线游戏测试,平衡通关与探索以自动发现 bug。
Humanoid:一种基于深度学习的自动化黑盒 Android 应用测试方法
提出 Humanoid,用从人类交互轨迹学习的深度神经网络指导黑盒 Android UI 测试输入生成,以提高覆盖率。
自动生成 Pull Request 描述
提出基于 commit message 与代码注释的 seq2seq 方法,自动生成 Pull Request 描述。
基于重构的程序修复在编程作业中的应用
提出 Refactory,用重构正确解并匹配控制流、合成补丁,为错误学生程序实时生成修复。
面向大规模在线服务系统的持续事件分诊
提出 DeepCT,用注意力掩码 GRU 从讨论中增量学习,实现更准更高效的大规模在线服务事件持续分诊。
评估 Code2vec Token 嵌入的泛化性
实证评估 code2vec token 嵌入在代码注释生成、作者识别与克隆检测上的泛化性,发现其无法直接迁移。
MalScan:基于社交网络中心性分析的快速全市场移动恶意软件扫描
提出 MalScan,用函数调用图的社会网络中心性做轻量 Android 恶意软件检测。
基于图像启发与 CNN 的 Android 恶意软件检测方法
提出将 Dalvik 字节码转化为图像并用 CNN 检测 Android 恶意软件的方法,检测时间 0.22 秒、准确率超 93%。
正则表达式很难:编程正则表达式中的决策、困难与风险
首个针对正则表达式开发周期的混合方法研究,揭示开发者在决策、验证、维护及安全风险认知上的普遍困难。
经验论文:自动驾驶控制应用中的基于搜索的测试
报告将基于搜索的测试应用于自动驾驶控制应用的经验,并总结工业落地的经验教训。
MuSC:一种以太坊智能合约变异测试工具
提出面向以太坊智能合约 Solidity 的变异测试工具 MuSC,支持快速生成变异体与自动化测试操作。
基于机器学习的方法名推荐:我们还有多远
对 code2vec 方法名推荐进行更真实设置下的实证评估,揭示其局限,并提出启发式方法显著超越。
B2SFinder:检测COTS软件中的开源软件复用
提出二进制到源码匹配方法B2SFinder,通过多代码特征与加权匹配精确检测COTS软件中的OSS复用。
RefBot:智能软件重构机器人
提出集成版本控制系统的智能重构机器人 RefBot,可在 PR 中自动推荐重构序列并生成合并请求。
面向 Android 应用的目标驱动探索
提出 GoalExplorer,通过静态屏幕转移图指导动态探索,自动生成直接触发 Android 应用目标功能的可执行测试脚本。
面向信息物理系统防御测试的学习引导网络模糊测试
提出机器学习引导的智能模糊测试,自动发现CPS网络攻击测试套件,无需控制程序或物理过程知识。
历史引导的配置多样化用于编译器测试程序生成
提出 HiCOND,利用历史数据推断配置范围并搜索多样化配置,生成更易触发且多样的编译器测试程序。
类重叠对软件缺陷预测影响的实证评估
实证揭示类重叠对软件缺陷预测的负面影响,并提出 IKMCCA 同时处理类重叠与类不平衡。
基于系统调用追踪因果分析的不可复现构建根因定位
提出 RepTrace,基于系统调用追踪的因果分析定位不可复现构建的根因命令与修补文件。
系统化地覆盖输入结构
提出 k-path 算法,基于文法系统覆盖输入的语法元素及其组合,显著提升代码覆盖率。
PraPR:基于字节码变异的实用程序修复
提出在JVM字节码层面进行变异修复的实用自动程序修复技术,快且跨语言适用。
OAUTHLINT:Android 应用中 OAuth 漏洞的实证研究
提出 OAuth 漏洞静态检查工具 OAUTHLINT,并在 600+ 热门 Android 应用中实证发现广泛 OAuth 安全错误。
检索与精炼:基于示例的神经代码注释生成
提出先检索相似代码的注释作为示例,再用 seq2seq 进行基于示例的代码注释生成,显著超越已有方法。
IFDS 算法的性能提升稀疏化及其在污点分析中的应用
提出 IFDS 的稀疏化算法,将数据流事实直接传播至下一次使用点,大幅降低污点分析的时间和内存开销。
CoRA:面向评审者的纠缠代码变更分解与描述
提出 CoRA,自动将单个提交分解为独立变更部分并为评审者生成简洁描述。
在不同用户行为粒度下利用日志恢复的工作负载生成负载测试的经验报告
比较三种用户行为粒度的工作负载恢复方法,发现带上下文的动作序列能生成更贴近现场且低成本的负载测试。
AutoFocus:通过代码扰动解释基于注意力的神经网络
提出 AutoFocus,通过扰动代码元素量化其对注意力网络输出的影响,并利用注意力分数解释算法分类。
Lancer:你的代码告诉我你需要什么
提出上下文感知的代码到代码推荐工具 Lancer,结合 LSLM 与 BERT 实时推荐可复用代码。
CodeKernel:一种基于图核的 API 用法示例选择方法
提出 CodeKernel,用对象使用图与图核聚类选择更准确的 API 用法示例。
发现、解释与总结社区问答(Q&A)网站中的争议讨论
提出自动开放信息抽取方法,发现并总结 Stack Overflow 中答案的争议讨论,并借助官方 API 文档辅助理解。
TestCov:鲁棒的测试套件执行与覆盖率测量
TestCov 在隔离容器中鲁棒执行 C 程序测试套件并测量覆盖率,已在 Test-Comp'19 大规模验证。
Android 应用签名问题的特征刻画
首次大规模系统测量 Android 应用签名问题,提出分类法并构建自动工具,揭示 V1 签名仍占主导且问题普遍。
测试正则表达式的可推广性及其启示:一项大规模多语言测量研究
通过八项指标和53万余条正则的多语言测量,发现提取方法影响小但语言间正则特征差异显著,警示实证结论可推广性。
MARBLE:挖掘样板代码以识别 API 可用性问题
提出 MARBLE,从 API 客户端代码库自动挖掘样板代码候选,以发现 API 可用性问题。
基于 Bug 截图理解的众包报告生成
提出 CroReG,利用图像理解分析众包测试者上传的 Bug 截图,自动生成高质量的众包 Bug 报告。
统计日志差分
提出统计日志差分方法及 s2KDiff、snKDiff 算法,通过统计假设检验推断两个或多个执行日志间显著行为差异模型。
无需错误规约输入的错误处理缺陷检测
提出无需错误规约的静态检测工具 EH-Miner,通过挖掘错误处理规则发现错误处理缺陷。
iFeedback:利用用户反馈实现大规模在线服务系统中的实时问题检测
提出 iFeedback,用用户反馈文本中的词组合指标和机器学习实现大规模在线系统的实时异常检测与摘要。
面向演化软件系统的性能历史精确建模
提出主动修订采样,用高斯过程模型以少量测量精确刻画软件跨版本性能演化历史。
代码覆盖率剖析器的自动自验证
提出 Cod 工具,基于蜕变关系自动自验证代码覆盖率剖析器,零误报发现 gcov 与 llvm-cov 的缺陷。
NeuralVis:深度学习模型的可视化与解释
提出实例级 DNN 可视化与解释工具 NeuralVis,帮助软件工程师理解模型行为并识别关键预测特征。
SCMiner:从大规模系统调用轨迹中定位系统级并发故障
SCMiner 利用数据挖掘与统计异常检测,从生产环境系统调用日志中在线定位系统级并发故障及其对应函数。
VisFuzz:以交互式可视化理解与干预模糊测试
提出交互式可视化工具 VisFuzz,实时展示调用图、控制流图与约束上下文,帮助工程师定位阻塞约束并干预 fuzzing。
API 选择如何影响数据分析任务的运行时性能?
提出利用 Stack Overflow 对比结构抽取数据分析 API 替代实现,并揭示其运行时性能差异。
InFix:自动修复初学者的程序输入
InFix 通过基于错误消息的模板与随机变异自动修复新手程序的输入错误,无需测试用例或注解,修复率达 94.5%。
MutAPK:面向 Android 应用的无需源代码变异体生成
提出 MutAPK,无需源代码,以 APK 为输入并在 SMALI 中间表示上生成 Android 应用变异体。
应对持续集成中的构建失败
通过实证研究与自动修复方法,初步解决持续集成中涉及构建脚本的构建失败。
MAP-Coverage:一种用于测试线程安全类的新型覆盖准则
提出面向线程安全类的内存访问模式覆盖准则 MAP-Coverage,并给出最大化该覆盖率的并发测试方法。
以数据库为中心的 Web 应用性能感知重构:一份工业经验报告
在 Laravel/PHP 工业应用上整理 17 种 ORM 性能反模式,并验证性能感知重构可将响应时间最多降低约 93%。
可配置代码中特征交互感知的配置优先级排序
提出 CoPro,用共同程序实体刻画特征交互缺陷并按潜在缺陷数排序配置,以优先发现缺陷。
基于代码语义分析增强神经提交信息生成
提出用代码语义分析预处理代码变更,显著提升神经机器翻译生成提交信息的质量。
在软件交付中为开发团队提供智能与可操作洞察的旅程
总结为软件交付团队提供项目健康洞察与开发者智能增强的探索历程。
mCUTE:面向 UML 状态机的模型级混合符号单元测试引擎
将 concolic 测试引入模型层,为 UML 状态机模型自动生成高覆盖率测试用例。
面向并发 Java 执行的可视化分析
提出 VA4JVM 可视化分析工具,通过按线程布局、缩放与过滤,帮助开发者直观定位并发 Java 执行错误。
代码优先的模型驱动工程:论 MDE 工具的敏捷采用
提出代码优先的 MDE 方法,从现有面向对象程序提取视图模型,并通过保守运行时扩展实现按需查询与增量同步。
使用 OS-in-the-Loop CEGAR 的嵌入式控制软件模型检测
提出 OiL-CEGAR,将形式化 OS 模型与抽象应用程序组合并按反例精化,提升多任务嵌入式软件模型检测的精度与效率。
BuRRiTo:一个提取、指定、验证和分析业务规则的框架
提出 BuRRiTo 框架,自动从文档与遗留代码提取业务规则,清理异常并支持语义查询与功能缺口分析。
生成测试以分析动态类型程序
提出将测试生成与静态、动态分析迭代结合,以克服动态类型程序分析中缺乏类型信息的困难。
通过增强自动程序修复的关键组件来提升补丁质量
针对自动程序修复中补丁质量低、易过拟合的问题,提出通过测试套件分析、变异算子选择与补丁多样性来提升补丁质量。
CocoQa:面向编码规范的知识图谱问答
CocoQa 通过知识图谱子图匹配与神经网络机器阅读理解,精确回答编码规范问题。
模型推断中的规模与准确率
提出 mk-Tails 与基于 past-equivalence 的约简,精细权衡模型推断的规模与准确率。
SGUARD:一种基于特征聚类的有效电子表格缺陷检测工具
提出基于特征聚类与簇细化的电子表格缺陷检测工具 SGuard,在精度与召回间取得平衡并超越现有技术。
Ares:通过静态分析推断错误规约
提出 Ares,通过静态分析自动推断 C API 的错误规约并辅助发现错误处理缺陷。
面向智能软件功能的自动化可训练性评估
刻画智能软件功能的"可训练性",并提出在汽车持续集成与部署流水线中用自动化质量门对其进行持续评估。
SPrinter:一种用于发现 C++ 程序中智能指针错误的静态检查器
提出编译期静态检查器 SPrinter,检测 C++ 智能指针的不良用法并提示易错行为。
基于评分的测试套件增强
提出 Grasa,通过聚类错误提交并生成最小额外测试,增强教师测试套件以检出错误提交。
PMExec:一种部分 UML-RT 模型的执行引擎
提出 PMExec,通过静态分析、自动精化与输入驱动执行,使部分(不完整)UML-RT 模型可被运行。
测试自动化及其局限性:一个案例研究
通过工业案例研究揭示嵌入式系统集成测试中测试自动化的困难与局限。
VeriSmart 2.0:基于 Swarm 的多线程程序缺陷查找(扩展 Lazy-CSeq)
将 Lazy-CSeq 扩展为基于 swarm 的多线程 C 程序缺陷查找工具,通过分块限制上下文切换以降低内存与时间开销。
PHANTA:面向现代软件开发的多样化测试代码质量度量
提出集成测试代码分析工具 Phanta,用变异分析、克隆检测等多种指标综合度量并可视化测试代码质量。
迈向实用的自动程序修复
指出实用自动程序修复面临可扩展性、适用性与补丁验证三大挑战,并概述作者的应对步骤。
V2:Python 中配置漂移的快速检测
V2 用反馈导向搜索检测 Python 代码片段因依赖破坏性变更而产生的配置漂移,并给出修复补丁。
Prema:面向精确需求编辑、建模与分析的工具
提出 Prema 工具,统一支持形式化需求的编辑、建模与严格验证/确认,并以列车自动防护系统需求为例演示。
ReduKtor:我们如何不再担心 Kotlin 编译器中的 Bug
提出结合程序切片、层次化 delta debugging 与 Kotlin 特有变换的缺陷缩减方法,并实现工具 ReduKtor。
机器镜像狙击的编译期检测
提出一种轻量级类型与效应系统,在编译期检测云代码中易受机器镜像狙击攻击的请求,并可证明无此类漏洞。
面向编译错误的定向示例生成
TEGCER 用监督分类将新手编译错误匹配到已有错误类别,并按需推荐相似修复示例。
使用适配器合成自动修复二进制程序
提出通过适配器合成,复用二进制中已有的无缺陷代码片段来自动修复缺陷代码的工具。
样板客户端代码的 API 设计启示
研究样板代码的属性,并提出结合 API 使用挖掘、AST 比较与图划分,从客户端代码中自动挖掘样板以辅助 API 设计评审。
由字段覆盖准则引导的高效测试生成
利用字段覆盖指标指导符号执行并借助 tranScoping 提前终止,生成更小且高质量的测试套件。
Apricot:一种修复深度学习模型的权重自适应方法
提出 Apricot,从原模型生成约简模型,基于失败测试用例调整权重,迭代修复深度学习模型,平均提升测试准确率 1.08%。
在功能相似的移动应用之间迁移测试
提出 APPTESTMIGRATOR,利用功能相似 App 间用户界面的共性,把一个 App 的测试用例自动迁移到另一个 App。
结合基于频谱的故障定位与统计调试:一项实证研究
统一建模 SBFL 与统计调试并系统实证比较,据此提出 PREDFL 提升故障定位效果。
自动化应用评论回复生成
提出 RRGen,通过监督学习建模评论与回复之间的知识关联,自动为应用用户评论生成回复。
ACTGAN:基于生成对抗网络的软件系统自动配置调优
提出 ACTGAN,用 GAN 学习优质配置的隐藏结构并生成更优配置,实现软件系统自动调优。
结构对软件合并的影响:半结构化合并与结构化合并的比较
通过4万余合并场景的实证比较,揭示半结构化与结构化合并的冲突报告差异及假阳性/假阴性特征。
LIRAT:布局与图像识别驱动的跨平台移动应用自动化测试
提出图像与布局驱动的跨平台移动测试工具 LIRAT,首次实现测试脚本跨平台录制与回放。
JavaScript 系统中的半结构化合并
为 JavaScript 实现并评估两种半结构化合并工具,发现其能减少伪冲突,但增益远小于 Java 类语言。
RANDR:通过定向运行时插桩实现 Android 应用的记录与重放
提出 RandR,在应用沙箱内定向插桩运行时方法,实现 Android 应用 UI 与网络输入的可移植记录与重放。
PeASS:一种在代码级别识别性能变化的工具
提出 PeASS 工具,通过重复测量单元测试性能并结合回归测试选择,识别代码版本间的性能变化与回归。
从无限制自然语言需求自动生成图形用户界面原型
提出基于NLP将自然语言需求自动转为GUI DSL并支持迭代反馈生成原型的方法。
Active Hotspot:一种面向 Issue 的软件演化与退化监控模型
提出 Active Hotspot 模型,通过追踪 issue 修复涉及的文件交互来自动检测软件演化中的架构退化热点。
违抗组件的谨慎自适应
提出一种谨慎自适应方法,通过面向切面包装器在异常条件下改变违抗组件行为,同时保证其个体需求与系统全局需求。
通过考虑策略波动性改进自适应系统的决策过程
提出TVA方案,用多元回归和ARIMA预测策略波动,改进自适应系统决策。
开发者声誉估计器(DRE)
提出基于 World of Code 的开发者声誉估计器,通过聚合 Git 数据、合并身份并度量工作影响来生成开发者档案。
解密 Android 应用性能管理库
系统剖析 25 个 Android APM 库并大规模调查 50 万应用,揭示其功能实现、局限与隐私风险。
XRaSE:利用增强现实迈向虚拟可触摸软件
提出 XRaSE 原型,用增强现实把软件可视化为虚拟可触摸实体,使理解、架构分析与协作更直观。
面向响应式编程的自动重构
提出 2Rx,自动将传统异步代码重构为响应式编程风格。
Pangolin:一个基于 SFL 的特征定位工具集
提出 Eclipse 插件 Pangolin,将特征定位视为诊断问题并借助频谱故障定位技术,帮助开发者定位功能实现。
为变更源代码预测许可证
提出基于学习的自动许可证预测方法 ALP,为代码变更预测合适开源许可证,在 700 个项目上 micro F1 达 92.5%。
可信软件供应链
提出基于分布式账本和软件遥测的交付治理框架,提升软件供应链合规、溯源与信任。
Kotless:面向 Kotlin 的无服务器框架
提出 Kotless,一个云无关的 Kotlin 无服务器框架,通过自动生成部署代码简化应用与云基础设施的集成。
CONVUL:一种有效的并发漏洞检测工具
提出基于可交换事件的并发漏洞检测工具 CONVUL,能有效发现三类并发漏洞。
面向多线程程序的高效基于事务的确定性重放
提出 TPLAY,将线程事件划分为事务,在事务级记录共享内存访问交错,显著减小日志并提高重放成功率。
实现持续集成过程的持续改进
该研究旨在为开发者建立 CI 提供支持,并为其持续改进 CI 流程提供建议。
提升基于 Fork 的开发中的协作效率
针对 Fork 式开发中贡献可见性差与重复开发等问题,提出识别最佳实践与设计新干预两类互补策略。
Logzip:通过迭代聚类提取隐藏结构进行日志压缩
提出 Logzip,利用迭代聚类提取日志隐藏结构并生成中间表示,显著提升日志压缩率。
面向接口编程的实证研究
通过对126个GitHub Java项目的实证分析,以共同变更为指标检验面向接口编程能否降低依赖。
在并发数据抽象中自动化非阻塞同步
提出编译器技术,将顺序 C++ 数据抽象自动转换为高性能无锁并发实现,性能接近手工实现并优于 STM。
一种调查软件开发中情绪动态的方法
提出自动采集团队沟通、识别情绪强度并建模为时间序列的方法,支持软件开发中的情绪动态研究。
FogWorkflowSim:面向雾计算工作流性能评估的自动化仿真工具包
提出 FogWorkflowSim,可自动搭建雾环境、执行工作流并比较卸载与调度策略的时间、能耗与成本。
DaPanda:检测 Android 应用中的侵扰性推送通知
首次系统研究并自动检测 Android 应用中的侵扰性推送通知,并在 2 万应用上验证。
从文本中提取的情绪 vs. 真实情绪——软件工程情境下的实证评估
实证表明文本算法提取的情绪动态常无法反映自报真实情绪动态,团队层面匹配更好。
无线通信中基于博弈论与前景理论的用户偏好感知多媒体定价模型
提出QoE敏感的多媒体智能定价框架,用两阶段Stackelberg博弈和前景理论按用户偏好定价。
ASE 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)2019
ASE 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)2019
ASE 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)2019
ASE 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)2019
ASE 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)2019
ASE 2019 34th IEEE/ACM International Conference on Automated Software Engineering (ASE)2019
2018112 篇 · Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering
面向深度神经网络的 Concolic 测试
提出首个面向深度神经网络的Concolic测试方法,以线性算术表达测试需求,提升覆盖率并发现对抗样本。
ESBMC 5.0:一个工业级 C 模型检测器
推出工业级开源 C 模型检测器 ESBMC 5.0,新增前后端、IEEE 浮点支持与改进的 k-归纳算法。
自动测试数值抽象域的实现
针对数值抽象域实现难以测试的问题,研究自动测试方法以保障静态分析的可靠性与精度。
Code2graph:自动生成 Python 源代码的静态调用图
提出原型工具 code2graph,自动分析 Python 源码、构建静态调用图并生成执行路径相似度矩阵。
PaMpeR:面向 Isabelle/HOL 的证明方法推荐系统
提出 PaMpeR,基于手写证明语料为 Isabelle/HOL 的证明状态推荐证明方法并给出定性解释。
我们能发现所有缺陷中的多少?静态缺陷检测器研究
通过扩展 Defects4J 数据集的实证研究,量化了三种主流静态缺陷检测器能发现真实缺陷的比例。
控制流引导的 SMT 求解用于程序验证
提出在 SMT 求解中利用程序控制流知识剪枝搜索空间,显著提升程序验证效率。
CPA-SymExec:CPAchecker 中的高效符号执行
在 CPAchecker 中实现基于抽象与 CEGAR 的符号执行,自动识别符号事实以缓解路径爆炸并判定可达性。
PARTI:面向符号执行的多区间理论求解器
提出多区间理论求解器 PARTI,加速符号执行中特定结构的数组与位向量查询,非该结构时回退完整求解器。
这个类是线程安全的吗?使用基于图的学习推断文档
TSFinder 结合轻量级静态分析提取的类图表示与图分类器,自动判定类是否线程安全并推断其文档。
一种分析 Alloy 规范的演化方法
提出 EvoAlloy,将遗传算法引入 Alloy,在保持可靠性的前提下放宽完备性,以扩展可处理规范规模。
通过状态剪枝减少循环路径
提出对循环内状态进行剪枝的符号执行技术,在保持代码覆盖率的同时缓解路径爆炸。
迈向 CUDA kernel 参数的自动 restrict 标注
提出静态分析工具,在 CUDA kernel 调用点判定实参无别名后克隆 kernel,并自动为其参数添加 restrict 关键字。
L-CMP:一种基于学习的自动参数化验证工具
提出基于学习的参数化验证工具 L-CMP,自动学习可读辅助不变式并结合模型检测验证协议。
DeepGauge:面向深度学习系统的多粒度测试准则
提出 DeepGauge 多粒度测试准则,从多个粒度刻画深度学习系统的测试集,弥补仅靠准确率衡量测试充分性的不足。
VulSeeker:面向跨平台二进制的基于语义学习的漏洞搜索工具
提出基于语义学习的跨平台二进制漏洞搜索工具VulSeeker,以克服传统CFG方法在跨平台场景下的性能局限。
自动化定向公平性测试
提出 Aeqitas,通过概率搜索自动生成歧视性输入,以检测并改善机器学习模型的公平性。
αDiff:基于深度神经网络的跨版本二进制代码相似性检测
提出αDiff,使用深度神经网络检测跨版本二进制代码相似性,减少对专家句法特征的依赖。
基于神经机器翻译的野外缺陷修复补丁学习的实证研究
实证研究用神经机器翻译从GitHub历史中学习真实缺陷修复补丁,能修复数百个真实bug方法,9%情况下复现开发者补丁。
基于深度学习的特性依恋检测
提出基于深度学习与自动标注数据的特性依恋检测方法,显著优于现有技术并推荐重构目标。
TRIMMER:面向代码去膨胀的应用特化
提出 Trimmer,利用配置数据与更强分析将应用特化到部署上下文,去除未用功能并减小代码体积与攻击面。
理解与检测 Android 应用的回调兼容性问题
通过实证研究回调 API 演化如何引发控制流不一致,并提出图模型与静态分析工具 Cider 检测回调兼容性问题。
无需历史软件仓库的有效 API 推荐
提出 RecRank,用 API 使用路径特征与排序式判别模型,在不依赖历史仓库的前提下提升 top-1 API 推荐准确率。
应对组合爆炸:分析高度可配置系统的工业需求与实践研究
通过工业调查与访谈,揭示高度可配置系统分析的实际需求、实践及工具缺口。
Alloy 模型的自动修复
提出首个 Alloy 模型自动修复技术 ARepair,融合变异测试与程序合成,修复 28/38 个真实缺陷模型。
基于合成式符号执行的 Android 测试
用按需程序合成自动推断 Android 库模型,免除手工建模并缓解路径发散,提升符号执行的分支覆盖。
语义崩溃分桶
提出用轻量程序变换近似真实修复,将模糊测试崩溃输入精确归类到唯一缺陷。
CANAL:通过 LLVM 变换的缓存时序分析框架
提出 CANAL,通过 LLVM IR 变换将缓存行为编码为辅助变量与指令,使标准验证工具能分析缓存时序属性。
打破动态切片的死胡同:定位数据与控制遗漏缺陷
通过实证发现遗漏缺陷的修复模式,并用神经网络为动态切片无法定位的遗漏缺陷推荐检查位置。
具有动态任务依赖的可扩展增量构建
提出一种增量构建算法,支持全功能编程语言脚本,执行代价随受影响任务数扩展而非项目规模。
面向字符串与长度约束分析的符号模型检测方法
提出用长度编码自动机与符号模型检测求解字符串和长度约束,可处理现有方法难解的问题。
通过在线学习实现的模板引导 concolic 测试
提出模板引导的 concolic 测试,用在线学习自动获取可缩减搜索空间的输入模板,提升分支覆盖率与缺陷发现能力。
面向弱内存模型的基于调度约束的抽象精化
将 SCAR 抽象精化扩展到 TSO/PSO 弱内存模型,显著提升多线程程序验证效率。
TDroid:通过控制流特化暴露 Android 中的应用切换攻击
提出 TDroid,利用控制流特化暴露 Android 多任务机制中的应用切换攻击。
领域无关的多线程软件模型检测
将块抽象记忆化中控制流块摘要的计算并行化,实现领域无关的多线程软件模型检测并获显著加速。
纯度分析的统一格模型与框架
提出统一格模型关联已有纯度层级并新增泛化层级,实现可扩展模块化纯度分析,精度显著优于相关工作。
基于 Datalog 的并发程序可扩展语义差分
提出基于 Datalog 的快速近似静态分析,通过识别差异化数据流边来计算并发程序的同步语义差异。
结合模糊测试与符号执行的差分程序分析
提出结合模糊测试与符号执行的可扩展差分程序分析框架,用于回归分析与侧信道分析。
DeepRoad:基于GAN的自动驾驶系统蜕变测试与输入验证框架
提出基于GAN的蜕变测试与输入验证框架,生成多样驾驶场景并验证DNN输入以提升自动驾驶系统可靠性。
通过深度强化学习改进自动源代码摘要
将代码的AST结构与序列内容融入actor-critic强化学习框架,提升代码摘要生成质量。
FairFuzz:一种提升灰盒模糊测试覆盖率的定向变异策略
通过识别稀有分支并动态生成变异掩码,引导 AFL 更高效地覆盖难达代码。
基于神经机器翻译的提交信息生成:我们走到了哪一步?
深入剖析 NMT 提交信息生成方法为何有效,并据此提出更快更准的最近邻方法 NNGen。
无需担忧任务-API知识鸿沟的API方法推荐
提出 BIKER,融合词嵌入与 Stack Overflow/API 文档双信息源,跨越词汇与知识鸿沟推荐 API。
使用多目标搜索测试自动驾驶汽车中的功能交互失效
提出 FITEST,用混合测试目标与多目标进化搜索检测自动驾驶汽车的功能交互失效,工业案例中优于基线。
Android 测试生成工具在工业场景中的实证研究
在 68 个工业级 Android 应用上实证比较主流 UI 测试生成工具的覆盖率与缺陷检测能力,并给出工具组合建议。
一种用于源代码检索与摘要的神经框架
提出 BVAE,用两个联合训练的 VAE 在代码与自然语言间建立双向映射,以改进代码检索和摘要。
S-gram:面向以太坊智能合约的语义感知安全审计
提出 S-gram,一种语义感知的以太坊智能合约安全审计方法,以克服现有方法依赖预定义模式或高开销分析的局限。
测试覆盖率演化的大规模研究
通过 7,816 次构建的大规模实证,揭示仅看语句覆盖率变化不足以刻画测试覆盖率的演化。
一种通过执行日志估算代码覆盖率的自动化方法
提出 LogCoCo,利用执行日志与程序分析自动估算方法、语句和分支覆盖率,准确率超过 96%。
ClDiff:生成简洁的链接式代码差异
提出 ClDiff,将相关代码变更链接并生成简洁的链接式代码差异,以更好支持代码变更理解。
ReScue:构造正则表达式拒绝服务攻击
提出三阶段灰盒分析技术,自动生成最大化匹配时间的 ReDoS 攻击字符串。
高效显现 Android 应用中的异步编程错误
提出 APEChecker,结合静态分析与动态 UI 探索高效检测并验证 Android 异步编程错误。
微服务系统的 Delta 调试
提出基于 delta debugging 的微服务调试方法,最小化引发失败的部署与环境配置差异以定位根因。
检测并总结演化中移动应用的 GUI 变更
提出 GCAT,用计算机视觉与自然语言生成自动检测并总结移动应用演化中的 GUI 变更。
持续代码质量:我们(真的)在这样做吗?
实证研究发现开发者并未真正持续检查代码质量,而多在冲刺末或发布分支上集中检查。
应用自动化架构分析工具套件的经验
通过8个工业项目验证自动化架构分析工具套件DV8,表明架构度量与缺陷检测能有效支持重构决策。
node2defect:使用网络嵌入改进软件缺陷预测
提出 node2defect,用 node2vec 自动学习类依赖网络结构特征并结合传统特征提升缺陷预测。
客户端特定的等价性检查
提出客户端特定等价性检查(CSE),判断组件变更对特定客户端行为是否等价,从而安全地延迟或避免适配。
RUDSEA:通过软件环境分析推荐 Dockerfile 的更新
提出 RUDSEA,通过分析软件环境假设变化及其影响,推荐 Dockerfile 的更新位置与代码修改。
导航迷宫:生物信息学软件中可配置性的影响
通过实证研究揭示生物信息学工具配置选项缺乏文档、功能与性能多变且存在未检测故障,并提出自动化技术路线图。
Electrum 分析器:关系一阶时序规约的模型检测
提出 Electrum Analyzer,为 Alloy 关系逻辑扩展 LTL,并支持有界 SAT 与无界 SMV 模型检测及可视化加速。
论采用 linter 应对 Android 应用中的性能问题
通过访谈 14 名 Android 开发者,揭示采用 linter 检测性能坏实践的好处与挑战。
双城记:WebView 如何为 Android 应用引入缺陷
首个 WebView 诱发缺陷(ωBugs)实证研究,并提出自动化测试技术 ωDroid 检出 30 个未知缺陷。
电子表格中的可扩展组识别
提出 ExpCheck,基于格式与语义相似度自动识别电子表格中的可扩展组,F1 达 73.1%。
从界面原型(mockup)生成可复用的 Web 组件
提出 VizMod,通过视觉分析与无监督学习从 UI mockup 自动生成可复用 Web 组件(如 React 组件)。
PFix:基于内存访问模式修复并发缺陷
从失败相关的内存访问模式推断锁策略,自动修复 Java 并发缺陷。
SRCIROR:面向 C 源代码与 LLVM 中间表示的变异测试工具集
提出 SRCIROR 工具集,可在 C/C++ 源码与 LLVM IR 两个层面复用同类变异算子执行变异测试。
评估类型标注负担
通过 71 名程序员实验量化类型标注负担,并评估自动建议对标注准确率的影响。
面向线程安全类的并发测试生成:有效性与挑战
对自动生成线程安全类并发测试的现有工具进行独立实证评估,发现仅17%的并发故障被检出。
Android 系统针对组件间通信攻击的自我保护
提出 SALMA,通过运行时监控、行为自适应与增量安全分析防御 Android 组件间通信攻击。
Dual-Force:通过跨语言强制执行理解 WebView 恶意软件
Dual-Force 同时对 WebView 应用的 Java 与 JavaScript 代码进行强制执行,无需环境搭建即可暴露跨语言恶意载荷。
Android 应用中误暴露 Activity 的刻画与识别
通过分析1.3万余个Android应用,总结EA误暴露的六种模式,提出十种启发式并实现工具Mist自动识别。
软件工程中对上下文的需求(IEEE CS Harlan Mills 奖主题演讲)
论文主张软件开发工具缺乏上下文,迫使开发者自行弥补,限制了开发效率与实践效果。
实证评估移动应用中预取与缓存的机遇
通过静态分析千余款 Android 应用的 HTTP 请求,实证评估移动应用中预取与缓存的可行性与机会。
使用精化类型的安全流式编程
提出用精化类型规约并检查异步流式程序的线程行为,避免与单线程 UI 等受限特性交互时的不安全。
评估与评价软件的功能适宜性
提出以形式化任务模型为基础,操作化用户交互变异模式,并构建功能适宜性度量以指导软件改进。
Software Heritage:收集、保存与共享我们的全部源代码(主旨演讲)
介绍 Software Heritage 项目:构建通用源代码知识库,收集、保存并共享全部软件源码及开发历史。
无缝方法语境下面向需求的 DSL
提出让用户用同一种语言表达需求、规约与系统的无缝方法,并为其设计需求侧 DSL。
自动量化系统中变更的影响(期刊优先摘要)
提出面向状态系统的模型级变更影响分析方法,自动计算 EFSM 变更影响的下界与上界。
轻量级源代码监控:Triggr
提出轻量级代码库监控工具 Triggr,支持分布式、可定制、细粒度的规则与告警。
估计追溯恢复中剩余链接的数量(期刊优先摘要)
提出 ENRL 方法,用机器学习分类器估计追溯恢复候选列表中剩余正链接的数量。
为系统之系统监控自动挖掘约束
从记录的事件中自动挖掘事件发生、时序与数据约束,以多种排序呈现给用户,支撑系统之系统的运行时监控。
基于 Qt 跨平台框架的 C++ 程序有界模型检测(期刊首发的扩展摘要)
提出 Qt 操作模型(QtOM),首次将显式状态与有界符号模型检测结合,用于 Qt 应用的形式化验证。
ContractFuzzer:面向漏洞检测的智能合约模糊测试
提出 ContractFuzzer,基于 ABI 生成输入、EVM 插桩和测试预言,检测以太坊智能合约安全漏洞。
软件日志语句中自然语言描述的特征研究
通过分析10个Java和7个C#项目,系统刻画日志语句中自然语言描述的用法,并公开数据集。
理解并检测 Android 应用中由演进引发的兼容性问题
通过 11 个 Android 版本和 4,936 个应用的实证研究,揭示 API 演进导致的兼容问题与常见支持代码模式。
历史构建数据中的噪声与异质性:Travis CI 实证研究
通过实证分析 Travis CI 构建数据,揭示构建结果存在噪声且构建间异质,挑战将构建视为干净且等价的常见假设。
PerfLearner:从缺陷报告学习以理解并生成性能测试框架
通过分析性能缺陷报告,自动提取执行命令与输入参数,生成指导性能测试用例生成的测试框架。
AutoConfig:面向分布式消息系统的自动配置调优
提出 AutoConfig,用基于比较的模型和加权拉丁超立方采样自动调优 Kafka 生产者吞吐,显著优于默认配置与现有算法。
通过基于聚类的多目标搜索减少交互式重构工作量
提出基于聚类的多目标搜索,以降低交互式重构中开发者评估和调整推荐的工作量。
区分它们:从众包规模的比较讨论中提炼技术差异
提出 diffTech,利用 Stack Overflow 众包讨论自动抽取可比技术及其比较要点,生成技术比较摘要。
挖掘文件历史:我们应该考虑分支吗?
实证评估 Git 分支处理对文件修改历史挖掘及常用推荐/预测技术性能的影响。
DroidMate-2:一个面向 Android 测试生成的平台
提出 DroidMate-2,一个可定制、无需修改系统或应用插桩即可运行的 Android 测试生成平台。
jStanley:为 Java 集合添加绿色优化能力
提出 jStanley 工具,帮助开发者理解 Java 集合的能耗并改进代码以降低能耗。
一种用于目标冲突识别的遗传算法
提出用遗传算法识别目标需求模型中导致目标冲突的环境条件组合。
面向众包软件开发者的个性化队友推荐
提出众包开发者队友偏好模型与启发式算法,为个体开发者推荐合适协作者。
OCELOT:面向 C 语言的基于搜索的测试数据生成工具
提出基于搜索的 C 语言测试数据生成工具 OCELOT,支持编写测试骨架并便于扩展实验。
Descartes:一个用于检测伪测试方法的 PITest 引擎:工具演示
Descartes 在 PITest 上实现极端变异算子,用于检测 Java 项目中的伪测试方法。
面向服务型应用的生产缺陷无记录回放
提出 Parikshan 框架,通过用户态虚拟化与网络代理将网络包中继到可疑服务副本,无需记录即可回放生产缺陷。
复杂基于角色的访问控制策略的模型驱动运行时执行
提出基于 GemRBAC+CTX 的模型驱动框架,将 RBAC 访问决策归约为运行时约束满足,并实现工具 MORRO。
通过重构实现 Web 应用的实时版本化
提出基于 CSWR 的工具,可为运行中的 Web 应用近乎自动创建私有版本,无需克隆沙箱环境。
无需编码技能的测试人员实现测试自动化:一份工业报告
提出流程驱动的测试自动化方案,让无编程技能的测试分析师用自然语言步骤组合创建与执行自动化测试用例。
面向自动化法规消歧:利用群体智慧
通过众包收集软件工程师对法规歧义的标注,并用 EM 达成共识,以 87% 准确率匹配专家标注。
理解开源 Java 项目中半结构化合并冲突的特征(期刊优先摘要)
聚焦开源 Java 项目,刻画半结构化合并、构建与语义冲突的特征及影响。
从扩展的 OpenAPI 模型出发的 Web 服务自顶向下模型驱动工程
通过扩展 OpenAPI 在模型中嵌入实现细节,实现 Web 服务自顶向下、模型与实现保持一致的开发流程。
code_call_lens:提升开发者对关键代码的意识
提出 VS Code 插件 code_call_lens,按最终用户使用频率提示源码方法重要性,帮助开发者优先安排质量保障。
SEEDE:开发环境中的同时执行与编辑
在 Code Bubbles 中实现随编辑持续执行并可视化执行结果的开发工具,辅助写码与调试。
DKVF:一个用于快速原型化与评估分布式键值存储的框架
提出 DKVF 框架,通过关注点分离让一致性协议设计与存储等组件解耦,实现快速原型与性能评估。
面向分布式系统有效性能故障注入的多目标框架
提出用多目标搜索自动寻找由 RPC 微小性能退化组成的小组合,以有效注入分布式系统性能故障。
自动化需求工程挑战:以小微型无人机系统为例(主题演讲)
综述自动化需求工程的开放挑战,并以无人机项目为例提出 Dronology 社区数据集。
软件工程的实施科学:弥合研究与实践的鸿沟(主题演讲)
探讨实施科学的方法与框架如何应用于软件工程,以弥合研究与实践之间的鸿沟。
将软件工程技术应用于关系数据库
提出一项研究计划,主张用软件工程技术与方法应对关系数据库(尤其是承载存储函数、触发器等行为的数据库)中的软件工程问题。