乐于分享
好东西不私藏

软件工程论文速递 | 26.04.20 日报: 30篇新论文速递

软件工程论文速递 | 26.04.20 日报: 30篇新论文速递

目录

AI 编程代理、代码生成与评测

  • • TypeScript Repository Indexing for Code Agent Retrieval
  • • OpenGame: Open Agentic Coding for Games
  • • LeGo-Code: Can Modular Curriculum Learning Advance Complex Code Generation? Insights from Text-to-SQL
  • • WebCompass: Towards Multimodal Web Coding Evaluation for Code Language Models
  • • CodePivot: Bootstrapping Multilingual Transpilation in LLMs via Reinforcement Learning without Parallel Corpora
  • • Scaling Human-AI Coding Collaboration Requires a Governable Consensus Layer
  • • SelfHeal: Empirical Fix Pattern Analysis and Bug Repair in LLM Agents

软件测试、调试与质量保障

  • • Towards Better Static Code Analysis Reports: Sentence Transformer-based Filtering of Non-Actionable Alerts
  • • From Program Slices to Causal Clarity: Evaluating Faithful, Actionable LLM-Generated Failure Explanations via Context Partitioning and LLM-as-a-Judge
  • • MASFuzzer: Fuzz Driver Generation and Adaptive Scheduling via Multidimensional API Sequences
  • • Raven: Rethinking Automated Assessment for Scratch Programs via Video-Grounded Evaluation
  • • Revisiting Code Debloating with Ground Truth-based Evaluation
  • • Program Structure-aware Language Models: Targeted Software Testing beyond Textual Semantics
  • • SDLLMFuzz: Dynamic-static LLM-assisted greybox fuzzing for structured input programs

软件工程流程、依赖与架构治理

  • • Reliability of AI Bots Footprints in GitHub Actions CI/CD Workflows
  • • Fairness-First Design Thinking for Software Architecture
  • • When AI Models Become Dependencies: Studying the Evolution of Pre-Trained Model Reuse in Downstream Software Systems
  • • Cache-Related Smells in GitLab CI/CD: Comprehensive Catalog, Automated Detection, and Empirical Evidence
  • • Implementing CPSLint: A Data Validation and Sanitisation Tool for Industrial Cyber-Physical Systems

安全、隐私与可信执行

  • • Do Privacy Policies Match with the Logs? An Empirical Study of Privacy Disclosure in Android Application Logs
  • • Weaponizing the Commons: A Taxonomy and Detection Framework of Abuse on GitHub
  • • Compositional security definitions for higher-order where declassification
  • • Enabling AI ASICs for Zero Knowledge Proof
  • • AgenTEE: Confidential LLM Agent Execution on Edge Devices

编程语言、形式化方法与系统运行时

  • • Proxics: an efficient programming model for far memory accelerators
  • • Towards an Agentic LLM-based Approach to Requirement Formalization from Unstructured Specifications
  • • Block-encodings as programming abstractions: The Eclipse Qrisp BlockEncoding Interface
  • • Surreal Arithmetic, Lazily
  • • Symbolic Synthesis for LTLf+ Obligations
  • • GPUOS: A GPU Operating System Primitive for Transparent Operation Fusion

AI 编程代理、代码生成与评测

TypeScript Repository Indexing for Code Agent Retrieval

  • • 作者:Junsong Pu, Yichen Li, Zhuangbin Chen
  • • arXiv URL:https://arxiv.org/abs/2604.18413v1

Abstract

基于图的代码索引可以通过保留调用链和依赖关系,改进基于 LLM 的代码代理的上下文检索,而这些关系往往会被关键词搜索和相似度检索遗漏。ABCoder 是一个开源框架,可将代码库解析为名为 UniAST 的函数级代码索引,但其现有解析器将轻量级 AST 解析器用于语法分析,并将语言服务器用于语义解析;由于基于 LSP 的解析需要为每一次符号查找发起一次 JSON-RPC 调用,这些逐符号调用在大型 TypeScript 仓库上会成为瓶颈。我们提出 abcoder-ts-parser,这是一个基于 TypeScript Compiler API 的 TypeScript 解析器,能够直接使用编译器的 AST、语义信息和模块解析逻辑。我们在三个开源 TypeScript 项目上评估该解析器,这些项目规模最高达到 120 万行代码;结果表明,它比现有架构显著更高效地生成可靠索引。现场演示见:https://youtu.be/ryssr7ouvdE

OpenGame: Open Agentic Coding for Games

  • • 作者:Yilei Jiang, Jinyuan Hu, Qianyin Xiao, Yaozhi Zheng, Ruize Ma, Kaituo Feng, Jiaming Han, Tianshuo Peng, Kaixuan Fan, Manyuan Zhang, Xiangyu Yue
  • • arXiv URL:https://arxiv.org/abs/2604.18394v1

Abstract

游戏开发位于创造性设计与复杂软件工程的交汇处,需要联合编排游戏引擎、实时循环以及跨多个文件紧密耦合的状态。尽管大型语言模型和代码代理如今能够轻松解决孤立的编程任务,但当要求它们根据高层设计生成一个完全可玩的游戏时,它们仍会持续受挫,表现为跨文件不一致、场景连接损坏和逻辑不连贯。我们用 OpenGame 弥合这一差距,这是首个明确面向端到端网页游戏创建的开源代理式框架。其核心是 Game Skill:一种可复用、可演化的能力,由 Template Skill 和 Debug Skill 组成。前者从经验中增长项目骨架库,后者维护经过验证的修复协议;二者共同使代理能够搭建稳定架构并系统性修复集成错误,而不是只修补孤立的语法错误。支撑该框架的是 GameCoder-27B,这是一个通过持续预训练、监督微调和执行驱动强化学习三阶段流程获得游戏引擎专长的代码 LLM。由于验证交互式可玩性从根本上比检查静态代码更难,我们进一步引入 OpenGame-Bench,这是一个评估流程,通过无头浏览器执行和 VLM 判别,从构建健康度、视觉可用性和意图对齐三个维度为代理式游戏生成打分。在 150 个多样化游戏提示上,OpenGame 建立了新的最先进水平。我们希望 OpenGame 推动代码代理超越离散的软件工程问题,走向构建复杂、交互式的真实世界应用。我们的框架将完全开源。

LeGo-Code: Can Modular Curriculum Learning Advance Complex Code Generation? Insights from Text-to-SQL

  • • 作者:Salmane Chafik, Saad Ezzini, Ismail Berrada
  • • arXiv URL:https://arxiv.org/abs/2604.18254v1

Abstract

近期,面向代码的大型语言模型在将自然语言翻译为可执行代码方面展现出强大能力。Text-to-SQL 是这一能力的重要应用,使非技术用户能够使用自然语言与关系数据库交互。然而,最先进模型仍然难以处理高度复杂的逻辑,特别是涉及多重连接和条件的深度嵌套语句,以及噪声较多或结构较差的真实数据库模式。本文研究课程学习能否提升基于代码的 LLM 在 Text-to-SQL 任务上的性能。我们使用包括 Spider 和 BIRD 在内的基准,在不同课程策略下微调模型。实验表明,朴素课程学习,即在单个 epoch 中仅按复杂度排列训练样本,因灾难性遗忘而无法超过标准微调。为克服这一问题,我们提出模块化适配器组合策略。通过按复杂度层级从 Easy 到 Extra-Hard 依次训练特定层级的适配器,我们构建了一个脚手架式学习环境,提高模型在复杂查询上的性能。该方法不仅在 Spider 和 BIRD 基准上带来可测量的性能收益,还提供了灵活的“乐高式”架构,使模型能够根据特定模式难度需求进行组合和部署。这些发现表明,对于掌握复杂代码生成中的语法和逻辑,结构化、模块化学习是优于整体式微调的替代方案。

WebCompass: Towards Multimodal Web Coding Evaluation for Code Language Models

  • • 作者:Xinping Lei, Xinyu Che, Junqi Xiong, Chenchen Zhang, Yukai Huang, Chenyu Zhou, Haoyang Huang, Minghao Liu, Letian Zhu, Hongyi Ye, Jinhua Hao, Ken Deng, Zizheng Zhan, Han Li, Dailin Li, Yifan Yao, Ming Sun, Zhaoxiang Zhang, Jiaheng Liu
  • • arXiv URL:https://arxiv.org/abs/2604.18224v1

Abstract

大型语言模型正迅速演化为能够进行端到端网页编码的交互式编码代理,但现有基准只评估这一能力的狭窄片段,通常是以文本为条件的生成并使用静态正确性指标,从而基本没有衡量视觉保真度、交互质量和代码库级推理。我们引入 WebCompass,这是一个多模态基准,为网页工程能力提供统一的生命周期评估。认识到真实世界网页编码是生成、编辑和修复的迭代循环,WebCompass 覆盖三种输入模态(文本、图像、视频)和三种任务类型(生成、编辑、修复),形成七类任务,映射专业工作流。通过多阶段、人在环流程,我们构建了覆盖 15 个生成领域、16 种编辑操作类型和 11 种修复缺陷类型的实例,并为每个实例标注 Easy、Medium、Hard 难度。评估方面,我们对编辑和修复采用清单引导的 LLM-as-a-Judge 协议,并为生成提出新的 Agent-as-a-Judge 范式:它在真实浏览器中自主执行生成的网站,通过模型上下文协议探索交互行为,并迭代合成有针对性的测试用例,从而接近人类验收测试。我们评估了代表性的闭源和开源模型,观察到:(1)闭源模型仍然明显更强且更均衡;(2)编辑和修复呈现不同难度特征,修复更能保留交互性但仍面临执行挑战;(3)美学是最持久的瓶颈,尤其对开源模型而言;(4)框架选择会实质影响结果,其中 Vue 持续更具挑战性,而 React 与 Vanilla/HTML 根据任务类型表现更强。

CodePivot: Bootstrapping Multilingual Transpilation in LLMs via Reinforcement Learning without Parallel Corpora

  • • 作者:Shangyu Li, Juyong Jiang, Meibo Ren, Sizhe Zhong, Huiri Tan, Yunhao Gou, Xu Han, Chun Yong Chong, Yun Peng, Jiasi Shen
  • • arXiv URL:https://arxiv.org/abs/2604.18027v1

Abstract

转译或代码翻译旨在将源代码从一种编程语言转换为另一种编程语言。它有益于许多下游应用,从现代化大型遗留代码库到为低资源编程语言扩充数据。近期基于大型语言模型的方法在代码翻译方面展现出巨大潜力。在这些方法中,基于训练的方法尤为重要,因为当前 LLM 如果没有针对性训练,无法有效适应缺乏知识的领域特定设置。这一限制在涉及低资源编程语言的转译任务中尤为明显。然而,现有基于训练的方法依赖成对转译范式,使其难以支持多样化的编程语言范围。由于训练数据稀缺,这一限制对低资源编程语言尤其突出。此外,这些方法还受到次优强化学习奖励设计的影响。为解决这些限制,我们提出 CodePivot,这是一个以 Python 作为中间表示的训练框架,并结合新的强化学习奖励机制 Aggressive-Partial-Functional reward,以在无需平行语料的情况下引导模型获得多语言转译能力。涉及 10 种编程语言的实验表明,得到的 7B 模型在 Python-to-Others 任务上训练后,在一般和低资源编程语言相关转译任务上都持续提升性能。它在 Python-to-Others 任务和 Others-to-All 任务上,分别显著超过 Deepseek-R1 和 Qwen3-235B-A22B-Instruct-2507 等参数多出数千亿的主流大模型。此外,它在一般转译任务上超过了直接在 Any-to-Any 任务上训练的对应模型。代码和数据见:https://github.com/lishangyu-hkust/CodePivot。

Scaling Human-AI Coding Collaboration Requires a Governable Consensus Layer

  • • 作者:Tianfu Wang, Zhezheng Hao, Yin Wu, Wei Wu, Qiang Lin, Hande Dong, Nicholas Jing Yuan, Hui Xiong
  • • arXiv URL:https://arxiv.org/abs/2604.17883v1

Abstract

Vibe coding 能够快速产生正确、可执行的代码,但不会记录其背后的结构性承诺、依赖或证据。审查者无法确定假设了哪些不变量、发生了什么变化,或为何出现回归。这不是生成失败,而是控制失败:AI 辅助开发的主导产物(代码加聊天历史)发生了维度坍缩,将复杂系统拓扑压扁为低维文本,使系统在变化下变得不透明且脆弱。我们提出 Agentic Consensus:一种范式,其中共识层 C 作为以类型化属性图表示的可操作世界模型,取代代码成为工程的主要产物。可执行产物由 C 派生,并通过同步算子 Phi(realize)和 Psi(rehydrate)保持对应关系。证据直接链接到 C 中的结构性主张,使每个承诺都可审计,并将欠规范化显式化为可测量的共识熵,而不是无声猜测。评估必须从代码正确性转向对齐保真度、共识熵和干预距离。我们提出一组基准任务族,用于衡量基于共识的工作流是否比聊天驱动基线减少人类干预。

SelfHeal: Empirical Fix Pattern Analysis and Bug Repair in LLM Agents

  • • 作者:Niful Islam, Muhammad Anas Raza, Mohammad Wardat
  • • arXiv URL:https://arxiv.org/abs/2604.17699v1

Abstract

大型语言模型已经改变了软件开发和 AI 应用。虽然 LLM 被设计用于文本处理,但 LLM 代理通过支持自主行动、工具使用和多步骤任务完成扩展了这一能力。随着这一领域发展,开发者在调试这些复杂系统时面临新的挑战。为应对这一挑战,我们提出首个关于 LLM 代理中缺陷修复模式的实证研究。我们研究来自 Stack Overflow、GitHub 和 HuggingFace Forums 三个平台的含缺陷帖子和代码片段,考察其修复模式、修复所作用的组件以及涉及的编程语言和框架。此外,我们引入 AgentDefect,这是首个面向 LLM 代理缺陷的基准数据集,包含 37 个运行时缺陷实例以及修复后的代码和测试文件。最后,我们提出 SelfHeal,这是一个用于修复 LLM 代理缺陷的多代理系统。该系统利用两个独立的 ReAct 代理:修复代理和批评代理。这些代理使用工具提供内部知识(修复规则)和外部知识(网页搜索),以提出并验证修复。评估表明,以 Gemini 3 Pro 作为骨干 LLM 的 SelfHeal 显著优于基线和最先进方法。

软件测试、调试与质量保障

Towards Better Static Code Analysis Reports: Sentence Transformer-based Filtering of Non-Actionable Alerts

  • • 作者:Tamás Aladics, Norbert Vándor, Rudolf Ferenc, Péter Hegedűs
  • • arXiv URL:https://arxiv.org/abs/2604.18525v1

Abstract

静态代码分析工具被广泛用作检测软件系统中缺陷和漏洞的有效方式。然而,这些工具生成的报告通常包含大量不可操作发现,可能让开发者不堪重负,以至于完全忽略它们;这一现象被称为“告警疲劳”。本文通过提出 STAF,即基于 Sentence Transformer 的可操作性过滤,来应对告警疲劳。我们的方法利用基于 Transformer 的架构和句子嵌入,将发现分类为可操作和不可操作两类。我们在来自 Java 项目的大规模报告数据集上评估 STAF,证明该方法能够有效减少不可操作发现的数量,同时在识别可操作问题方面保持较高准确性。结果显示,该方法可提升静态分析工具的可用性,达到 89% 的 F1 分数;在项目内设置下,它比现有 SCA 警告过滤方法至少高 11%,在跨项目设置下至少高 6%。通过提供更聚焦、更相关的一组发现,我们旨在增强静态分析在软件开发中的整体有效性。

From Program Slices to Causal Clarity: Evaluating Faithful, Actionable LLM-Generated Failure Explanations via Context Partitioning and LLM-as-a-Judge

  • • 作者:Julius Porbeck, Christian Medeiros Adriano, Holger Giese
  • • arXiv URL:https://arxiv.org/abs/2604.18309v1

Abstract

基于大型语言模型的调试系统可以生成失败解释,但这些解释可能不完整或不正确。误导性解释会损害下游任务,例如缺陷分诊和缺陷修复。我们研究各种 LLM 上下文配置如何影响解释质量。现有工作主要将 LLM 生成的失败解释视为调试或修复工作流中的临时副产物,对代码、测试和错误消息等未区分的产物使用通用提示,而不是将解释作为一等输出并进行专门质量评估。因此,现有方法在评估这些解释是否捕获底层故障-错误-失败机制以及是否能支持可操作下一步方面提供的支持有限;大多数技术反而优先考虑任务成功,例如补丁正确性或审查质量,而不是显式的因果解释质量。我们系统地改变调试信息,以研究不同上下文组合如何影响 LLM 生成失败解释的质量。在真实缺陷和三个经济上可行的模型(gpt-5-mini、DeepSeek-V3.2 和 Grok-4.1-fast)上,我们评估了 93 种上下文配置,使用六项标准评价解释,并在用户研究中将 LLM-as-a-judge 分数与人类评分进行验证。结果表明,解释质量会受到上下文组合的因果影响。证据丰富、特定于失败的产物会提升因果和行动导向质量,而过大的上下文往往会产生含糊解释。更高的解释分数四分位与更高的下游修复通过率相关,并且对某些模型而言,与更接近参考最小修复的修复相关。相反,低分四分位甚至可能低于无解释基线。复现包已公开可用。

MASFuzzer: Fuzz Driver Generation and Adaptive Scheduling via Multidimensional API Sequences

  • • 作者:Xingyu Liu, Zengqin Huang, Xiang Gao, Hailong Sun
  • • arXiv URL:https://arxiv.org/abs/2604.17977v1

Abstract

软件库的模糊测试依赖模糊驱动来调用库 API。传统上,这些驱动由开发者手工编写,这一过程耗时,并且往往不足以触发复杂程序行为。近期研究探索了使用大型语言模型自动生成模糊驱动,但生成的驱动常常无法覆盖深层程序分支。为解决这些挑战,我们提出 MASFUZZER,这是一个将多维 API 序列构造与自适应模糊测试调度策略相结合的模糊测试框架,用于改进库测试。其核心在于,MASFUZZER 通过参考代码库中的 API 使用示例,并应用基于变异传播和语义感知的 API 序列挖掘,合成与上下文相关的 API 调用序列。这些多维 API 序列构成 LLM 生成有效初始驱动的基础。此外,MASFUZZER 集成覆盖率引导调度器,为最有前景的驱动优先分配测试时间,并结合驱动变异策略对其演化。这使其能够系统性生成模糊驱动,探索此前未测试的代码区域。我们在 12 个广泛使用的开源库上评估 MASFUZZER。结果显示,MASFUZZER 相比最先进技术提高了 8.54% 的代码覆盖率。此外,MASFUZZER 在经过广泛测试的库中发现了 16 个此前未知漏洞,其中 14 个得到开发者确认,9 个被分配 CVE 标识。这些结果表明,MASFUZZER 为软件库模糊测试提供了一种高效且实用的方法。

Raven: Rethinking Automated Assessment for Scratch Programs via Video-Grounded Evaluation

  • • 作者:Donglin Li, Daming Li, Hanyuan Shi, Jialu Zhang
  • • arXiv URL:https://arxiv.org/abs/2604.17820v1

Abstract

Scratch 等基于积木的编程环境广泛用于入门计算教育,但可扩展且可靠的自动评估仍然难以实现。Scratch 程序高度异质、事件驱动且以视觉为基础,这使传统基于断言或基于测试的评分脆弱且难以扩展。因此,真实 Scratch 课堂中的评估仍严重依赖人工检查和延迟反馈,在教师之间引入不一致并限制可扩展性。我们提出 Raven,这是一个面向 Scratch 的自动评估框架,它用教师指定的、跨所有学生提交共享的任务级视频生成规则,取代程序特定的状态断言。Raven 集成大型语言模型和视频分析,以评估程序观察到的视觉和交互行为是否满足评分标准,而无需显式测试用例或预定义输出。该设计即使在实现策略和交互序列存在显著差异时,也能实现一致评估。我们在 13 个真实 Scratch 作业上评估 Raven,这些作业包含 140 多个学生提交,并带有人类评分者给出的真实标签。结果表明,Raven 在评分准确性和跨多样编程风格的鲁棒性方面显著优于先前自动评估工具。一项包含 30 名学生和 10 名教师的课堂研究进一步显示了强用户接受度和实践适用性。总体而言,这些发现突出了任务级行为抽象对于开放式、事件驱动程序可扩展评估的有效性。

Revisiting Code Debloating with Ground Truth-based Evaluation

  • • 作者:Muhammad Bilal, Moiz Ali, Mohit Kumar, Fareed Zaffar, Fahad Shaon, Ashish Gehani, Sazzadur Rahaman
  • • arXiv URL:https://arxiv.org/abs/2604.17717v1

Abstract

程序去膨胀旨在移除未使用代码,以降低性能开销、攻击面和维护成本。随着时间推移,去膨胀已经在多个层次上发展,包括容器、库和应用,每一层都建立在应用级去膨胀原则之上。尽管应用级去膨胀居于核心地位,它仍依赖不完美的代理指标来衡量性能,例如用测试用例驱动评估衡量正确性,用代码大小衡量运行时效率,用 gadget 数量减少估计安全态势。虽然社区普遍怀疑这些不完美代理指标的使用,但仍缺乏标准化方法或基准来评估应用级软件去膨胀的真实性能。本文作为经验论文旨在弥补这一空白。我们通过基于真实标注的评估范式重新审视应用级去膨胀基础。我们分析了八个最先进去膨胀器 Blade、Chisel、Cov、CovA、Lmcas、Trimmer、Occam 和 Razor,发现了传统评估无法获得的洞见。这些工具共同覆盖源到源、IR 到 IR 和二进制到二进制转换范式,构成跨抽象层的整体性重新评估。分析显示,基于动态分析的工具经常移除多达 94% 本应保留的代码,而基于静态分析的方法表现出相反行为,即由于粗粒度依赖过度近似而具有高误保留率。此外,静态分析可能通过引入函数专门化变体来增加代码。误保留和误移除不仅会导致功能不正确,还可能造成系统性不一致、鲁棒性失败和可利用漏洞。

Program Structure-aware Language Models: Targeted Software Testing beyond Textual Semantics

  • • 作者:Khang Tran, Khoa Nguyen, Cristian Borcea, NhatHai Phan
  • • arXiv URL:https://arxiv.org/abs/2604.17715v1

Abstract

近期用于测试用例生成的大型语言模型进展通过提示工程变异提高了分支覆盖率。然而,它们仍缺乏原则性机制来引导模型面向特定高风险执行分支,从而限制了其发现细微缺陷和安全漏洞的有效性。我们提出 GLMTest,这是首个程序结构感知的 LLM 框架,用于目标测试用例生成;它通过图神经网络和语言模型,将代码属性图与代码语义无缝集成,以基于执行分支调节测试用例生成。这种结构化条件化支持可控且面向分支的测试用例生成,从而有可能增强缺陷和安全风险发现能力。在真实世界项目上的实验表明,基于 Qwen2.5-Coder-7B-Instruct 模型构建的 GLMTest,在 TestGenEval 基准上将分支准确率从最先进 LLM(即 Claude-Sonnet-4.5 和 GPT-4o-mini)的 27.4% 提升到 50.2%。

SDLLMFuzz: Dynamic-static LLM-assisted greybox fuzzing for structured input programs

  • • 作者:Yihao Zou, Tianming Zheng, Futai Zou, Yue Wu
  • • arXiv URL:https://arxiv.org/abs/2604.17750v1

Abstract

模糊测试已经成为漏洞发现中广泛采用的技术,但由于严格的语法约束和有限的语义感知,它对结构化输入程序仍然效果不足。传统灰盒模糊器依赖基于变异的策略和粗粒度覆盖反馈,往往无法生成有效输入并探索深层执行路径。大型语言模型的近期进展显示出改进输入生成的潜力,但现有方法主要关注种子生成,并在很大程度上忽视了运行时反馈的有效利用。本文提出 SDLLMFuzz,这是一个面向结构化输入程序的动态-静态 LLM 辅助灰盒模糊测试框架。我们的方法将基于 LLM 的结构感知种子生成与静态崩溃分析结合,形成统一反馈循环,迭代细化测试输入。具体而言,我们利用 LLM 生成语法有效且语义多样的输入,同时从崩溃产物(例如 core dump 和执行轨迹)中提取丰富语义信息,以引导后续输入生成。这种动态-静态反馈机制支持更高效地探索复杂程序行为。我们在 Magma 基准上针对多个结构化输入程序评估 SDLLMFuzz,包括 libxml2、libpng 和 libsndfile。实验结果表明,SDLLMFuzz 在缺陷发现和发现缺陷所需时间方面显著优于传统灰盒模糊器和 LLM 辅助基线。这些结果证明,将语义输入生成与反馈驱动细化相结合,是提升结构化输入程序模糊测试性能的有效方向。

软件工程流程、依赖与架构治理

Reliability of AI Bots Footprints in GitHub Actions CI/CD Workflows

  • • 作者:Syed Muhammad Ashhar Shah, Sehrish Habib, Muizz Hussain, Maryam Abdul Ghafoor, Abdul Ali Bangash
  • • arXiv URL:https://arxiv.org/abs/2604.18334v1

Abstract

持续集成与部署工作流是现代软件交付的核心,但在这些工作流中运行的代理式 AI 机器人,其可靠性仍缺乏充分探索。使用 AIDev 数据集中的拉取请求、提交和仓库,我们通过 GitHub Actions API 获取相关 CI/CD 工作流运行,并分析了来自 2,355 个仓库的 61,837 次运行;这些运行全部由五个 AI 机器人 Claude、Devin、Cursor、Copilot 和 Codex 生成的 PR 触发。我们观察到工作流可靠性存在显著的代理依赖差异,其中 Copilot 和 Codex 分别达到最高成功率,约为 93% 和 94%。在仓库层面,我们发现 AI 代理贡献频率与工作流成功率之间存在负相关,说明更高频率的代理式 PR 可能阻碍 CI/CD 工作流可靠性。我们针对 3,067 个相关工作流失败的代理式 PR 定义了 13 类分类体系,并观察到趋势分析显示 PR 类别随时间从功能性类别向非功能性类别发生视觉上可观察的转移,尽管这些趋势并不具有统计显著性。我们的发现表明,需要为将 AI 代理集成到 CI/CD 工作流中提供可操作指导,并在最可能发生失败的工作流中优先设置保障措施。

Fairness-First Design Thinking for Software Architecture

  • • 作者:Iffat Fatima, Markus Funke, Patricia Lago
  • • arXiv URL:https://arxiv.org/abs/2604.18055v1

Abstract

公平性问题常常隐藏在数字系统中,使其难以检测,也更难处理。在本研究中,我们引入一种公平性优先的设计思维方法,用于支持在软件架构设计中处理公平性关切。我们在一门研究生课程中实施了该方法,学生将我们设计思维方法的所有步骤作为作业的一部分执行。我们分析作业数据,以反思该设计思维方法在软件架构中的应用以及在软件架构教育中教授该方法的影响。作为本研究结果,我们提供:(i)一种面向软件架构的设计思维方法;(ii)该方法对在问题空间和解决方案空间中处理公平性的影响;以及(iii)对教育的影响。我们的反思强调,公平性理论和上下文识别对于整体性的公平性优先设计至关重要。我们建议使用复合视图来处理公平性等横切关注点。未来,我们将更新课程材料,以提供端到端公平性可追踪性,帮助学生理解如何将公平性关切转化为可操作的设计决策。

When AI Models Become Dependencies: Studying the Evolution of Pre-Trained Model Reuse in Downstream Software Systems

  • • 作者:Peerachai Banyongrakkul, Mansooreh Zahedi, Christoph Treude, Haoyu Gao, Patanamon Thongtanunam
  • • arXiv URL:https://arxiv.org/abs/2604.17940v1

Abstract

现代软件系统已经从纯代码架构转向 AI 集成系统,其中预训练模型作为永久依赖存在。然而,尽管传统软件库的演化已有充分记录,我们仍缺乏对这些“预训练模型依赖”如何随时间变化的清晰理解。不同于库,预训练模型具有不透明的内部结构,以及较不标准化且快速演化的发布周期。此外,它们的多角色性质使开发者能够根据特定下游任务,将同一个预训练模型的不同实例视为独立功能依赖。这提出了一个对软件维护至关重要的问题:预训练模型是否像标准软件库一样变化,还是遵循不同模式?为回答这一问题,我们提出首个关于下游预训练模型变化的实证研究,分析了 323 个复用开源预训练模型的 GitHub 开源软件仓库中的 4,988 个发布版本构成的综合数据集。以传统软件库作为基线,我们发现预训练模型遵循一种定性上不同的模式。预训练模型通常在项目生命周期较晚阶段加入,并且随着项目成熟倾向于累积而不是被替换。我们的发现显示,预训练模型变化频率(2,814 个发布转换中的 406 个)比库变化低三倍。预训练模型变化也较少被常规记录,但更可能带有明确理由。不同于以反应式方式演化的库,预训练模型演化由能力扩展主动驱动,并具有预训练模型测试不确定性这一独特的文档化理由。我们的工作呼吁重新思考在现代软件工程中如何跟踪和管理作为依赖的预训练模型。

Cache-Related Smells in GitLab CI/CD: Comprehensive Catalog, Automated Detection, and Empirical Evidence

  • • 作者:Francesco Urdih, Theodoros Theodoropoulos, Uwe Zdun
  • • arXiv URL:https://arxiv.org/abs/2604.17890v1

Abstract

持续集成与部署促进快速软件交付,使快速反馈和最小停机时间至关重要。虽然缓存已被证明是处理流水线性能和可靠性问题的有效技术,但现有工作主要关注缺失的依赖缓存,忽略其他类型缓存和缓存误配置。本文提出一个包含十种 GitLab CI/CD 缓存相关异味的综合目录,这些异味会负面影响性能和可靠性,并在灰色文献语料上得到验证。为处理这些异味,我们提出 CROSSER,这是一个自动检测十种异味中七种的工具。我们在包含 82 个成熟项目的人工标注数据集上评估 CROSSER,取得 0.98 的总体 F1 分数。最后,我们在包含 228 个成熟开源项目的大规模数据集上研究异味存在情况,并概述实证发现。结果显示,这些异味普遍存在,因为只有 11% 的项目没有任何异味。我们还表明,开发者可能不了解更高层级的缓存功能。

Implementing CPSLint: A Data Validation and Sanitisation Tool for Industrial Cyber-Physical Systems

  • • 作者:Uraz Odyurt, Ömer Sayilir, Mariëlle Stoelinga, Vadim Zaytsev
  • • arXiv URL:https://arxiv.org/abs/2604.18191v1

Abstract

原始数据集通常过大且缺乏结构,无法直接使用,因此需要数据准备阶段。工业网络物理系统领域也不例外,因为原始数据通常由大型时间序列数据集合构成,这些集合以固定时间间隔记录系统状态。这类原始数据的处理往往使用临时、特定案例、一次性的 Python 脚本完成,并经常忽视可读性、可复用性和可维护性。在实践中,这会导致数据科学家等专业人员为每个案例编写类似的数据准备脚本,需要进行大量重复工作。我们引入 CPSLint,这是一种领域特定语言,旨在支持工业 CPS 的数据准备过程。CPSLint 将抽象层级提升到数据科学家和领域专家都能执行数据准备任务的程度。我们利用工业 CPS 领域中许多原始数据集合都需要类似操作才能适合数据中心工作流这一事实。在我们的 DSL 中,可以只用几行代码表达数据准备过程。CPSLint 是一个公开可用工具,适用于任何需要清洗的时间序列数据集合案例。

安全、隐私与可信执行

Do Privacy Policies Match with the Logs? An Empirical Study of Privacy Disclosure in Android Application Logs

  • • 作者:Zhiyuan Chen, Love Jayesh Ahir, Ahmad Suleiman, Kundi Yao, Yiming Tang, Weiyi Shang, Daqing Hou
  • • arXiv URL:https://arxiv.org/abs/2604.18552v1

Abstract

隐私政策旨在告知用户软件系统如何收集和处理数据,但它们往往仍然含糊或不完整。本文对隐私政策中与日志相关声明的模式,以及这些声明与 Android 应用日志中观察到的隐私披露之间的一致性进行了实证研究。我们分析了多个类别中的 1,000 个 Android 应用,生成了 86,836,964 条日志项。研究发现,虽然大多数应用(88.0%)提供隐私政策,但只有 28.5% 明确提及日志记录实践。在提及日志记录的应用中,大多数清楚描述了记录哪些信息;然而,27.7% 与日志相关的声明仍过于简单或含糊,对实际数据收集提供的洞察有限。我们进一步观察到应用日志中普遍存在隐私泄漏,67.6% 的应用泄漏了其政策中未提及的敏感信息。令人担忧的是,只有 4% 的应用在声明的政策内容与实际记录的数据之间表现出一致对齐。这些发现表明,当前隐私政策对日志记录实践的描述不完整或含糊,并且经常与实际日志行为不一致。

Weaponizing the Commons: A Taxonomy and Detection Framework of Abuse on GitHub

  • • 作者:Yuli Cheng, Xiaoyu Zhang, Jiongchi Yu, Shiqing Ma, Chao Shen, Yang Liu
  • • arXiv URL:https://arxiv.org/abs/2604.17909v1

Abstract

GitHub 在现代软件供应链中发挥关键作用,因此其安全性是重要研究关注点。现有研究主要聚焦 CI/CD 自动化、协作模式和社区管理,而 GitHub 上的滥用行为很少受到系统性调查。本文系统性回顾并总结已报告的 GitHub 滥用行为,并对公开可用的滥用案例进行实证分析,构建了一个包含 392 个 GitHub 实例的人工标注数据集。基于这一调查,我们提出一个综合分类体系,从软件安全角度刻画这些滥用行为多样化的症状和根因。在该分类体系基础上,我们开发了一个统一检测框架,能够跨仓库和用户账户识别所有滥用类别。在构建的数据集上评估时,所提出框架在所有类别上都达到高性能,例如 F1 分数超过 89%。总体而言,本工作推进了对 GitHub 滥用行为的理解,并为 GitHub 平台的大规模系统性分析奠定基础,以加强软件供应链安全。

Compositional security definitions for higher-order where declassification

  • • 作者:Jan Menz, Andrew K. Hirsch, Peixuan Li, Deepak Garg
  • • arXiv URL:https://arxiv.org/abs/2604.18300v1

Abstract

为确保程序不会泄露私有数据,我们通常希望能够提供形式化保证,确保这些数据得到正确处理。很多情况下,我们无法完全保密这些数据;相反,程序员会指定私有数据可以如何被解密。尽管已有针对解密的安全定义,但它们大多不能处理高阶程序。事实上,在高阶设置中,对于 where declassification 这类内涵信息流属性尚不存在组合式安全定义;where declassification 允许在程序的特定部分进行解密。我们使用逻辑关系构建 where declassification 的模型,并由此给出安全定义。该模型所需的关键洞见是:一旦发生相关解密,我们必须停止强制不可区分性。我们证明,所得安全定义比最相关的先前定义提供更强安全性,而该先前定义面向低阶设置。本文是 OOPSLA 2023 发表的同名论文的扩展版本([21])。

Enabling AI ASICs for Zero Knowledge Proof

  • • 作者:Jianming Tong, Jingtian Dang, Simon Langowski, Tianhao Huang, Asra Ali, Jeremy Kun, Jevin Jiang, Srinivas Devadas, Tushar Krishna
  • • arXiv URL:https://arxiv.org/abs/2604.17808v1

Abstract

零知识证明证明器仍然成本高昂,因为多标量乘法和数论变换主导运行时间,并且需要大量计算。TPU 等 AI ASIC 提供了大规模矩阵吞吐和最先进的能效。我们提出 MORPH,这是首个将 ZKP 核心计算重构为匹配 AI-ASIC 执行的框架。我们引入 Big-T 复杂度,这是一种硬件感知复杂度模型,揭示 Big-O 所忽略的异构瓶颈和布局转换成本。在该分析指导下,(1)在算术层面,MORPH 开发了以 MXU 为中心的扩展 RNS 惰性约简,将高精度模运算转换为密集低精度 GEMM,消除所有进位链;(2)在数据流层面,MORPH 构建统一分片、布局驻留的 TPU Pippenger MSM 和优化的 3/5 步 NTT,避免 TPU 上的 shuffle,以最小化昂贵的内存重组。MORPH 使用 JAX 实现,使 TPUv6e8 在 NTT 上相比 GZKP 达到最高 10 倍吞吐,并在 MSM 上达到可比吞吐。代码见:https://github.com/EfficientPPML/MORPH。

AgenTEE: Confidential LLM Agent Execution on Edge Devices

  • • 作者:Sina Abdollahi, Mohammad M Maheri, Javad Forough, Amir Al Sadi, Josh Millar, David Kotz, Marios Kogias, Hamed Haddadi
  • • arXiv URL:https://arxiv.org/abs/2604.18231v1

Abstract

大型语言模型代理提供强大的自动化能力,但由于它们与非确定性模型和第三方服务紧密集成,也比传统应用产生了显著更广的攻击面。虽然当前部署主要依赖云托管服务,但新兴设计越来越多地直接在边缘设备上执行代理,以降低延迟并增强用户隐私。然而,在边缘设备上安全托管此类复杂代理流水线仍具有挑战性。这些部署必须在异构平台上保护专有资产(例如系统提示和模型权重)以及敏感运行时状态,而这些平台容易受到软件攻击并可能由恶意用户控制。为应对这些挑战,我们提出 AgenTEE,这是一个在边缘设备上部署机密代理流水线的系统。AgenTEE 将代理运行时、推理引擎和第三方应用放入独立证明的机密虚拟机中,并通过显式、可验证的通信通道调解它们的交互。AgenTEE 构建于 Arm Confidential Compute Architecture 之上;这是 Arm 平台的近期扩展,可对敏感资产和运行时状态实施强系统级隔离。评估表明,这种多机密虚拟机系统是可行的,与商品操作系统多进程部署相比,可实现接近原生的性能,运行时开销低于 5.15%。

编程语言、形式化方法与系统运行时

Proxics: an efficient programming model for far memory accelerators

  • • 作者:Zikai Liu, Niels Pressel, Jasmin Schult, Roman Meier, Pengcheng Xu, Timothy Roscoe
  • • arXiv URL:https://arxiv.org/abs/2604.18120v1

Abstract

CXL 内存池等解耦或远端内存系统的使用重新激发了人们对近数据处理的兴趣:将核心放置在靠近内存的位置,以减少进出 CPU 的带宽需求。此类加速器的硬件设计正在出现,但仍缺乏干净、可移植的操作系统抽象来对其进行编程。我们提出一种用于 NDP 设备的编程模型,基于熟悉的操作系统抽象:虚拟处理器(进程)和进程间通信通道(类似 Unix 管道)。虽然从用户角度看这些抽象很有吸引力,但其朴素实现并不适合 NDP 加速器:某些硬件设计中的处理能力稀缺,使经典进程过于重量级;而基于共享缓冲区的 IPC 在一个旨在降低内存带宽的系统中并不合理。因此,我们展示如何通过利用编译和互连协议,以轻量且高效的方式实现这些抽象。我们在真实硬件平台上运行具有多种内存访问模式的应用来演示这些抽象,包括批量内存操作、内存数据库和图应用。关键的是,我们不仅展示了相对于纯 CPU 实现的收益,还展示了 CPU 与 NDP 加速器之间高效、低延迟通信通道的关键重要性,而这一特性在现有提案中基本被忽视。

Towards an Agentic LLM-based Approach to Requirement Formalization from Unstructured Specifications

  • • 作者:Alberto Tagliaferro, Bruno Guindani, Livia Lestingi, Matteo Rossi
  • • arXiv URL:https://arxiv.org/abs/2604.18228v1

Abstract

安全关键系统的早期规格通常用自然语言表达,这使得难以推导适合验证且保证安全所需的形式化性质。尽管近期基于大型语言模型的方法可以从文本生成形式化产物,但它们主要关注语法正确性,并不确保非形式化需求与可形式化验证性质之间的语义对齐。我们提出一种代理式方法,可从非结构化规格中自动提取可用于验证的性质。该模块化流水线结合需求抽取、相对于目标形式体系的兼容性过滤,以及向形式化性质的翻译。三个场景中的实验结果表明,该流水线生成的形式化性质在语法和语义上对齐,准确率为 77.8%。通过显式考虑建模和验证约束,该方法是利用人工智能弥合非形式化描述与语义有意义的形式化验证之间差距的铺垫性步骤。

Block-encodings as programming abstractions: The Eclipse Qrisp BlockEncoding Interface

  • • 作者:Matic Petrič, René Zander
  • • arXiv URL:https://arxiv.org/abs/2604.18276v1

Abstract

块编码是现代量子算法中的基础技术,它通过将非酉操作嵌入更大的酉矩阵来实现非酉操作。虽然块编码在理论上很强大,并且对量子奇异值变换和量子信号处理等高级协议至关重要,但生成可编译的块编码实现是一项艰巨挑战。本文介绍 Eclipse Qrisp 框架中的 BlockEncoding 接口,将块编码确立为面向广泛科学受众的高级编程抽象。作为技术框架介绍和实践教程,本文明确详细说明该接口所抽象掉的关键底层概念,例如块编码构造和量子化,以及它们在 Childs-Kothari-Somma 算法等方法中的实际集成。我们概述该接口的软件架构,包括构造器、核心工具、算术组合,以及矩阵求逆、多项式滤波和哈密顿量模拟等算法应用。通过代码示例,我们展示该接口如何简化高级量子算法的实际实现及其相关资源估计。

Surreal Arithmetic, Lazily

  • • 作者:Lloyd Allison
  • • arXiv URL:https://arxiv.org/abs/2604.17885v1

Abstract

Conway 的超现实数被 Knuth 恰当地命名。本文考察在实现超现实数及其算术运算时,为了使其高效执行可以走多远。惰性求值和递归数据结构带来了显著加速。

Symbolic Synthesis for LTLf+ Obligations

  • • 作者:Giuseppe De Giacomo, Christian Hagemeier, Daniel Hausmann, Nir Piterman
  • • arXiv URL:https://arxiv.org/abs/2604.18532v1

Abstract

我们研究以 LTLfp 表达的义务性质的合成,其中 LTLfp 是 LTLf 向无限轨迹的扩展。义务性质是安全性质和保证(共安全)性质的正布尔组合,构成 Manna 和 Pnueli 时间层级的第二层。尽管义务性质在无限轨迹上表达,它们保留了 LTLf 的大部分简单性。特别地,我们表明,它们允许翻译为符号表示的确定性弱自动机;这些自动机直接从底层 LTLf 性质在轨迹前缀上的符号确定性有限自动机获得。确定性弱自动机继承了确定性有限自动机的许多有吸引力的算法特性,包括布尔闭包和多项式时间最小化。此外,我们表明,LTLfp 义务性质的合成在理论上高度高效:一旦构造出确定性弱自动机,便可在线性时间内求解。我们研究若干用于求解义务性质合成中出现的确定性弱自动机博弈的符号算法,并通过实验评估其有效性。总体而言,结果表明,LTLfp 义务性质的合成几乎可以以与 LTLf 合成相同的有效性执行。

GPUOS: A GPU Operating System Primitive for Transparent Operation Fusion

  • • 作者:Yiwei Yang, Xiangyu Gao, Yuan Zhou, Yuhang Gan, Yusheng Zheng, Andi Quinn
  • • arXiv URL:https://arxiv.org/abs/2604.17861v1

Abstract

现代深度学习工作负载通常由许多小型张量操作组成,尤其是在推理、注意力和微批训练中。在这些设置下,内核启动开销可能成为主要瓶颈,有时甚至超过实际计算时间。我们提出 GPUOS,这是一个 GPU 运行时 JIT 系统,通过具有运行时算子注入的持久内核架构减少启动开销。GPUOS 运行一个长期存在的 GPU 内核,该内核持续处理来自主机管理工作队列的任务,从而消除重复内核启动。为支持多样化操作,GPUOS 使用 NVIDIA NVRTC 在运行时即时编译算子,并通过设备函数指针表将其注入正在运行的内核。该设计支持在不重启内核或重新编译系统的情况下更新算子。GPUOS 引入四个关键思想:(1)带有原子任务队列的持久工作内核;(2)基于 NVRTC 和可重定位设备代码的运行时算子注入机制;(3)用于安全并发算子更新的双槽别名方案;(4)通过 TorchDispatch 实现的透明 PyTorch 集成,将微操作批处理为统一提交。该系统通过通用张量抽象支持任意张量形状、步幅、数据类型和广播。实验表明,在由小操作主导的工作负载上,包括微批推理和注意力模式,GPUOS 相比标准 PyTorch 最高达到 15.3 倍加速。GPUOS 在保持与 PyTorch 生态兼容的同时提高了利用率。