目录
代理系统治理与执行稳定性
• Iterative Audit Convergence in LLM-Managed Multi-Agent Systems: A Case Study in Prompt Engineering Quality Assurance • Characterizing the Failure Modes of LLMs in Resolving Real-World GitHub Issues • It's Not the Size: Harness Design Determines Operational Stability in Small Language Models • Property-Level Reconstructability of Agent Decisions: An Anchor-Level Pilot Across Vendor SDK Adapter Regimes • A Research Agenda on Agents and Software Engineering: Outcomes from the Rio A2SE Seminar
代码生成、推理与修复
• Uncertainty Quantification for LLM-based Code Generation • StepCodeReasoner: Aligning Code Reasoning with Stepwise Execution Traces via Reinforcement Learning • An Extensive Replication Study of the ABLoTS Approach for Bug Localization • Breaking the Dependency Chaos: A Constraint-Driven Python Dependency Resolution Strategy with Selective LLM Imputation • Decaf: Improving Neural Decompilation with Automatic Feedback and Search
测试、质量与开源演化
• ReproBreak: A Dataset of Reproducible Web Locator Breaks • The Death Spiral of Open Source Projects: A Post-Mortem Analysis of Pull Request Workflow Dynamics • NeuroFlake: A Neuro-Symbolic LLM Framework for Flaky Test Classification
开发工具、需求与基础设施
• Minimalistic Terminal Editor for Julia Programming -- MinTEJ: A Friendly Approach for a Scientific Programmer • CIDR: A Large-Scale Industrial Source Code Dataset for Software Engineering Research • HM-Req: A Framework for Embedding Values within CPS Human Monitoring Requirements • Basilisk and Docker for Reproducible GN&C Simulation: A Workflow Reference
代理系统治理与执行稳定性
Iterative Audit Convergence in LLM-Managed Multi-Agent Systems: A Case Study in Prompt Engineering Quality Assurance
• 作者:Elias Calboreanu • arXiv URL:https://arxiv.org/abs/2605.12280
Abstract
多代理大语言模型(LLM)系统的提示词规范承载着跨越多个相互依赖文件的数据契约与集成逻辑,但它们很少接受结构化审查级别的严格检查。本文报告了一项单系统实证案例研究:将迭代式、由代理驱动的审计应用于 AEGIS(Autonomous Engineering Governance and Intelligence System),这是一个生产级七通道编排管线,其提示词规范表面约 7150 行,其中 6907 行分布在七个通道的 PROMPT.md 文件中,另有一份 245 行的共享 Ticket Contract。使用 Claude 子代理,并采用经 Weinberg 和 Freedman 改编的清单式 walkthrough,连续九轮审计共发现 51 个提示词规范一致性缺陷,这与配套预印本中报告的 51 个按 STRIDE 分类的对抗性代码问题不同。各轮发现数量分别为 15、8、12、2、8、1、4、1 和 0。我们报告了一个由七类构成、带有明确编码规则的事后缺陷分类法,观察到与级联编辑和审计范围扩展一致的非单调收敛,并提炼出一套审计协议,最终锁定的检查清单作为可复现性附录发布。单文件审查遗漏了仅在后续扩大范围的轮次中才暴露出来的缺陷类别。该规格说明由同一 LLM 家族撰写并审计;在不同模型和人工审阅者上复现前,仍需谨慎推广。
Characterizing the Failure Modes of LLMs in Resolving Real-World GitHub Issues
• 作者:Yanjie Jiang, Yian Huang, Guancheng Wang, Junjie Chen, Hui Liu, Lionel Briand • arXiv URL:https://arxiv.org/abs/2605.12274
Abstract
大语言模型(LLM)正越来越多地被用于解决真实世界的 GitHub issue。然而,尽管它们潜力巨大,这些模型在复杂修复任务中的具体失效模式仍缺乏深入理解。为了刻画 LLM 行为与人类开发者实践之间的差异,本文在 SWE-bench Verified 数据集上评估了三种最先进的模型,即 Claude 4.5 Sonnet、Gemini 3 Pro 和 GPT-5。我们对 900 次总尝试中的 243 次失败尝试进行了严谨的人工分析,以症状和根因两个层面进行归纳。首先,我们得到了一套统一的失效分类法,覆盖修复流水线中的五个不同阶段,并据此对常见失败症状及其出现频率进行分类。其次,结果显示,对于所有评估模型而言,策略制定和逻辑综合是最容易出错的阶段,其次是问题理解,而定位阶段的失败率最低。这表明 LLM 可能在故障定位上表现突出,而这传统上被认为是自动程序修复中最具挑战性的任务之一。此外,我们观察到,不同模型在鲁棒性和运行成本方面,尤其是在失败场景下,存在显著差异。最后,我们揭示了这些失败的根本原因,并提出了可操作的缓解策略。一个特别值得注意的发现是,现有评测框架有时会因表面差异或隐藏约束而误判本应正确的补丁。总体而言,这些洞见有望为提升基于 LLM 的 issue 解决系统的有效性与可靠性提供方向。
It's Not the Size: Harness Design Determines Operational Stability in Small Language Models
• 作者:Yong-eun Cho • arXiv URL:https://arxiv.org/abs/2605.12129
Abstract
本文实验性分析了 harness 工程层级如何影响小型语言模型(SLM,参数规模 2-3B)的运行性能。我们在三个模型(Gemma4 E2B、Qwen3.5:2B、LLaMA 3.2 3B)上,在 24 个任务中应用了三种 harness 条件:仅模型(原始提示)、最小壳层(包装标签),以及一个四阶段流水线(规划 -> 执行 -> 验证 -> 恢复),并比较了任务成功率(TSR)与有效任务成功率(VTSR)。流水线式 harness 在 Gemma4 E2B 上取得了 TSR=0.952 和 VTSR=1.000(T1-T5,共 21 个任务)。我们观察到一种非单调现象:在两种模型中,最小壳层的 TSR 反而低于仅模型条件。在 LLaMA 3.2 3B 的仅模型设置下,7 个格式违规导致 TSR=0.429,暴露出 scaffold collapse:在复杂格式要求下,如果没有 harness 支持,模型会放弃 JSON 结构。消融结果显示,规划和恢复各自贡献了总增益的大约 24.7%。所有流水线运行的 Verification Catch Rate(VCR)为 0.625。
Property-Level Reconstructability of Agent Decisions: An Anchor-Level Pilot Across Vendor SDK Adapter Regimes
• 作者:Oleg Solozobov • arXiv URL:https://arxiv.org/abs/2605.12100
Abstract
代理式 AI 的失效需要事后重建:代理做了什么、以谁的名义、违反了哪项策略、以及基于什么推理。跨不同运行环境的可行性尚未在统一的属性级模式下得到测量。我们将 Decision Trace Reconstructor 原封不动地应用于六种公开的厂商 SDK 运行环境中的固定工作示例锚点,这些运行环境覆盖 cloud-agent、observability、tool-use、telemetry 和 protocol traces,再加上两个对照列。对于每一项 Decision Event Schema(DES)属性,我们将其分类为可完整填充、部分可填充、结构上不可填充或不可见。由此可见,在这一锚点尺度上,代理决策的属性级可重建性在不同运行环境之间已经存在差异。严格治理完整性分为三档,范围从 42.9% 到 85.7%,并因此得到一个与运行环境无关的缺口(reasoning trace)、四个与运行环境相关的缺口,以及一个 Mixed 属性;这项试点研究采用单标注者、每个单元一个锚点、描述性的设计,且其输出可通过已存档的可复现性包进行校验。
A Research Agenda on Agents and Software Engineering: Outcomes from the Rio A2SE Seminar
• 作者:Davide Taibi, Henry Muccini, Karthik Vaidhyanathan, Marcos Kalinowski, Michele Albano, Antonio Pedro Santos Alves, Renato Cerqueira, Mateus Devino, Matteo Esposito, Rodrigo Falcão, Vinicius Henning, Foutse Khomh, Valentina Lenarduzzi, Qinghua Lu, Matías Martínez, Henrique Mello, Daniel Mendez, Lucas Romao • arXiv URL:https://arxiv.org/abs/2605.12078
Abstract
代理式 AI 的兴起正在从两个相互交织的方向重塑软件工程:一方面,代理越来越多地被用于支持软件工程任务;另一方面,Agentic AI 系统本身又是复杂系统,需要对既有的软件工程实践进行重新思考。为了为这两个方向绘制一个连贯的研究议程,我们在里约热内卢组织了 A2SE 研讨会,汇聚了来自学术界和工业界的 18 位专家。通过结构化报告、协同主题聚类和聚焦式小组讨论,与会者识别出六个主题领域:治理、面向代理的软件工程、面向软件架构的代理、质量与评估、可持续性以及代码,并分别为每个主题制定了短期和长期研究方向。本文呈现了这一由社区驱动、带有鲜明观点的研究议程,为软件工程社区在这一关键节点协调各项努力提供了结构化基础。
代码生成、推理与修复
Uncertainty Quantification for LLM-based Code Generation
• 作者:Senrong Xu, Yuhao Tan, Yanke Zhou, Guangyuan Wu, Zenan Li, Yuan Yao, Taolue Chen, Feng Xu, Xiaoxing Ma • arXiv URL:https://arxiv.org/abs/2605.12201
Abstract
预测集合为量化机器学习模型的不确定性提供了一个理论上扎实的框架。将其适配到结构化生成任务,尤其是基于大型语言模型(LLM)的代码生成,仍然是一个挑战。现有的一项尝试提出了 PAC 预测集合,但它受限于对风险的强单调性假设以及单标签分类框架,这极大限制了候选程序空间,并且无法容纳代码生成中固有的多个有效输出。为了解决这些限制,我们提出一种名为 RisCoSet 的方法,利用多重假设检验来构造适用于 LLM 代码生成的风险控制型预测。给定一个训练好的代码生成模型,我们生成一个以部分程序形式表示的预测集合,并且可以保证其中以高置信度包含一个正确解。对三种 LLM 的大量实验表明该方法有效。例如,与当前最优方法相比,在相同风险水平下,我们的方法最多可将需要移除的代码量降低 24.5%。
StepCodeReasoner: Aligning Code Reasoning with Stepwise Execution Traces via Reinforcement Learning
• 作者:Hao Wang, Rui Li, Lei Sha, Jie M. Zhang • arXiv URL:https://arxiv.org/abs/2605.11922
Abstract
现有代码推理方法主要监督最终代码输出,而忽略中间状态,这往往会导致 reward hacking,即模型通过不一致的推理获得正确答案。我们提出 StepCodeReasoner,这一框架引入了显式的中间执行状态监督。通过在代码中自动插入结构化的基于 print 的执行轨迹锚点,模型被训练去在每一步预测运行时状态,从而将代码推理转化为一个可验证的、逐步执行建模问题。在此执行感知方法之上,我们提出 Bi-Level GRPO,这是一种用于结构化信用分配的强化学习算法,分为两个层面:trajectory 间比较不同执行路径,以及 trajectory 内根据中间准确性对其对下游正确性的影响进行奖励。大量实验表明,StepCodeReasoner 在代码推理方面达到了 SOTA 性能。具体而言,我们的 7B 模型在 CRUXEval 上达到 91.1%,在 LiveCodeBench 上达到 86.5%,超过了 CodeReasoner-7B 基线(分别为 86.0% 和 77.7%)以及 GPT-4o(分别为 85.6% 和 75.1%)。此外,在执行轨迹基准 REval 上,我们的模型得分 82.9%,高于基线 CodeReasoner-7B(72.3%)、其 14B 版本(81.1%)以及 GPT-4o(77.3%)。此外,我们的方法也提升了代码生成性能,表明显式执行建模同时增强了代码推理与代码生成。
An Extensive Replication Study of the ABLoTS Approach for Bug Localization
• 作者:Feifei Niu, Enshuo Zhang, Christoph Mayr-Dorn, Wesley Klewerton Guez Assunção, Liguo Huang, Jidong Ge, Bin Luo, Alexander Egyed • arXiv URL:https://arxiv.org/abs/2605.11844
Abstract
缺陷定位的任务是推荐包含缺陷根因、因此需要修改的源代码位置(通常是文件)。围绕这一目标,研究者采用了基于信息检索的缺陷定位(IRBL)方法,用以从源代码空间中识别最可能含有缺陷的文件。当前实践中,一系列最先进的 IRBL 技术结合了不同组件(例如相似报告、版本历史和代码结构)来提升性能。ABLoTS 是一种较新的方法,其核心组件 TraceScore 利用需求信息以及不同 issue 报告之间的可追踪性信息(即 feature request 与 bug report 之间的 traceability)来识别可能存在缺陷的源代码片段,并取得了有前景的结果。为了评估这些结果的准确性并进一步了解 ABLoTS 的实际可用性,我们基于原始数据集以及两个扩展数据集(即额外的 Java 数据集和 Python 数据集)对该方法进行了复现研究。原始数据集包含 11 个开源 Java 项目和 8494 条 bug report。扩展的 Java 数据集新增 16 个项目,共包含 25,893 条 bug report 及其对应的源代码提交。扩展的 Python 数据集则包含 12 个项目和 1289 条 bug report。我们发现,TraceScore 这一 ABLoTS 的核心组件在扩展数据集上能够给出相当甚至更好的结果,但我们也发现无法复现原论文中报告的 ABLoTS 结果,因为原实现中一个被忽视的副作用导致了截止日期选择错误,从而使测试数据泄漏进训练数据,对性能造成了显著影响。
Breaking the Dependency Chaos: A Constraint-Driven Python Dependency Resolution Strategy with Selective LLM Imputation
• 作者:Kowshik Chowdhury, Dipayan Banik, Shazibul Islam Shamim • arXiv URL:https://arxiv.org/abs/2605.11790
Abstract
依赖解析是选择能够无冲突共安装的软件包版本的任务。它在现代软件项目的构建失败中占据了相当大的比例。在 Python 生态中,这一任务尤为困难,因为存在 Python 2/3 不兼容、包弃用以及广泛缺失的元数据等问题。近期工作(如 PLLM)尝试利用大语言模型(LLM)从代码中推断 Python 版本和包版本,并基于构建错误进行迭代修复。我们提出 SMT-LLM,这是一种混合系统,用形式化约束求解替代了仅依赖 LLM 的版本猜测。SMT-LLM 通过确定性的导入提取和基于抽象语法树(AST)的 Python 版本检测、用于推断最低 Python 版本的 vermin 工具,以及一个五层的 import-to-package 解析器,在调用任何 LLM 之前先查询 PyPI。对于缺失元数据的软件包,我们将 PyPI 元数据与 LLM 推断的依赖构造成约束图,然后使用 Z3 可满足性模理论(SMT)求解器求解一致的版本分配。在使用 Gemma2:9B(10 GB VRAM)的 HG2.9K 基准上,SMT-LLM 的解析成功率为 83.6%,而 PLLM 为 54.8%;同时,中位解析时间从 151.5 秒降至 23.9 秒(快 6.3 倍),每个片段的平均 LLM 调用次数从约 24.9 次降至 2.26 次(减少 11 倍)。
Decaf: Improving Neural Decompilation with Automatic Feedback and Search
• 作者:Alexander Shypula, Osbert Bastani, Edward Schwartz • arXiv URL:https://arxiv.org/abs/2605.11501
Abstract
反编译器是逆向工程中用于理解编译后源代码的有用工具。将编译后的二进制重建为源代码是一项具有挑战性的任务,因为在编译器将可读代码转换为底层机器码的过程中,高层语法、标识符和自定义数据类型通常都会丢失。确定性反编译器是二进制分析的有用工具,但在推断惯用语法和标识符名称方面会遇到困难。生成式 AI 模型非常适合重建高层语法、标识符和类型,但它们仍可能幻觉出不恰当的编程结构和语义。与其尝试通过更多数据和更多训练来改进神经反编译器,我们主张可以借助编译器反馈,通过搜索显著提升神经反编译器输出的语义正确性。我们的系统 Decaf(DECompilation with Automated Feedback)将神经反编译率从 ExeBench 上的 26.0% 提升到 Real-O2 子集上的 83.9%,同时不牺牲与原始源代码的相似性。我们还发现,我们的自动反馈方法对于改进更弱的神经反编译模型同样非常有效。
测试、质量与开源演化
ReproBreak: A Dataset of Reproducible Web Locator Breaks
• 作者:Thiago Santos de Moura, Leon Adamietz, Samra Mehboob, Yannic Noller • arXiv URL:https://arxiv.org/abs/2605.12270
Abstract
Cypress 和 Playwright 等自动化 GUI 测试框架依赖定位器来查找并与网页元素交互。当应用的结构发生变化,导致定位器无法再找到目标元素时,就会发生定位器失效,即使底层功能本身并未改变,也会造成测试中断。尽管这一问题对测试维护影响很大,但目前仍缺少一个可在规模上评估 Cypress 和 Playwright 中定位器脆弱性的可复现数据集。本文提出 ReproBreak,一个由可复现定位器失效组成的数据集,面向 Web 应用 GUI 测试。我们分析了 359 个开源仓库,以识别包含定位器变更的提交。为了确认这些变更是否确实属于定位器失效,我们在定位器变更数量最多的前 4 个项目中重现实验,最终发现 449 个定位器失效,并将其与自动化复现脚本一并收入数据集。我们认为 ReproBreak 将为定位器脆弱性、修复技术和测试鲁棒性研究提供有价值的素材。视频可在 YouTube 上查看,数据集已在 GitHub 发布。
The Death Spiral of Open Source Projects: A Post-Mortem Analysis of Pull Request Workflow Dynamics
• 作者:Mohit Kaushik, Kuljit Kaur Chahal • arXiv URL:https://arxiv.org/abs/2605.12269
Abstract
开源软件(OSS)项目是现代技术的核心,但其存活率仍然不高。已有研究从提交活动、开发者流失和生态依赖等宏观指标考察项目死亡问题,但对 Pull Request(PR)工作流的微观动态关注甚少。本文基于 1736 个不活跃 GitHub 仓库和 130 万条由人参与的 PR,首次对 PR 工作流进行了大规模事后分析。第二,我们的演化分析识别出一个普遍存在的“死亡螺旋”:创新率下降、待办积压指数级增长、合并延迟上升。项目的崩溃表现为沉默与失去参与。在整个生命周期中,标签规范化始终普遍存在,而毒性并未加剧。最后,我们的解释性建模表明,项目寿命并不取决于工作流效率,而取决于内在价值和生态系统动态。受欢迎程度与创新性是存活的强正向预测因子,而摩擦、拒绝率、标签规范化和负面情绪更多是随寿命增长而出现的副产物,而非失败的根本原因。对不同不活跃阈值的稳健性检查证实了这些发现。总体而言,这项工作将 OSS 死亡重新定义为一种社会技术现象:弃用和生态价值主导了存活结果,而 PR 层面的工作流纪律只起次要作用。
NeuroFlake: A Neuro-Symbolic LLM Framework for Flaky Test Classification
• 作者:Khondaker Tasnia Hoque, Toukir Ahammed • arXiv URL:https://arxiv.org/abs/2605.11482
Abstract
Flaky test(抖动测试)在同一代码版本上会表现出非确定性的通过/失败行为,这给可靠的回归测试带来了重大挑战。虽然大语言模型(LLM)有望实现自动化的 flaky test 分类,但它们往往无法理解 flakiness 的真实逻辑,而是对表面的文本特征(例如特定变量名)过拟合。这种语义脆弱性导致它们在真实世界的不平衡数据集上泛化能力差,并且容易受到扰动的影响。本文提出 NeuroFlake,这是一种用于在高度不平衡、真实世界数据集(FlakeBench)上分类 flaky test 的新型神经符号框架。不同于依赖脆弱人工规则和黑箱学习的现有方法,NeuroFlake 集成了 Discriminative Token Mining(DTM)模块,用于自动发现高保真、统计显著的源代码 token(例如特定的并发原语或 async wait)。通过将这些强烈的潜在信号直接注入 LLM 的注意力机制,我们弥合了神经直觉与符号精确性之间的差距。我们的实验表明,神经符号融合能够显著提升分类性能,F1 分数达到 69.34%,而此前最优方法为 65.79%。然而,我们通过对抗性压力测试严格评估了 NeuroFlake 的鲁棒性,加入了保持语义不变的增强(例如死代码注入、变量重命名)。基线模型在受扰动测试上的性能下降 8-18 个百分点,而 NeuroFlake 在未见过的增强上只下降 4-7 个百分点,表现出更好的稳定性。
开发工具、需求与基础设施
Minimalistic Terminal Editor for Julia Programming -- MinTEJ: A Friendly Approach for a Scientific Programmer
• 作者:Poornachandratejasvi Laxman Bhattar, Payal V. Dahiwale, Krishnarjunulu Thota, Anurag Sharma • arXiv URL:https://arxiv.org/abs/2605.12279
Abstract
开发者依赖轻量、以终端为中心的工作流来快速迭代代码。然而,在面向 Julia 编程语言的统一环境中,现有工具对编辑、执行、文件管理和调试等集成式工作流的支持仍然有限。因此,开发者经常承受上下文切换开销和工具交互碎片化的问题。为此,本文主要聚焦于开发一个原生的、极简的终端编辑器用于 Julia 编程语言。本文介绍了 MinTEJ,这是一款用 Julia 构建的终端编辑器,并提出一种顺序模态交互架构(Sequential Modal Interaction Architecture, SMIA),通过面向命令的工作流将文件管理、代码编辑、执行和调试统一起来。该工作进一步形式化了模态交互,并在不同模式之间切换时降低认知负担与错误率。在 SMIA 中,buffer 是跨所有模式持久存在的核心数据结构。每个模式都依据其特定规则解释并操作 buffer,中央控制器负责调度对 buffer 的访问并强制执行顺序切换。为评估该方法,本文将 MinTEJ 的性能与现有工具 VS Code 和 Notepad++ 进行基准对比。基于内存占用和 CPU 利用率的评估表明,它具有更低的资源开销。研究结果表明,这种集成式终端编辑器环境是一种实用的轻量级软件工具,能够支持高效的迭代开发。
CIDR: A Large-Scale Industrial Source Code Dataset for Software Engineering Research
• 作者:Vladislav Savenkov • arXiv URL:https://arxiv.org/abs/2605.12275
Abstract
我们提出 Curated Industrial Developer Repository(CIDR),这是一个通过与 12 家工业合作伙伴直接协作收集而成的大规模真实软件仓库数据集。该数据集包含 2440 个仓库,覆盖 138 种编程语言,总计 3.73 亿行代码,并附带结构化的逐仓库元数据。与现有的、源自公共开源平台的代码语料不同,CIDR 完全由在正式数据共享协议下提供的专有生产级代码库组成,覆盖企业 Web 与移动开发、金融科技以及定制软件咨询等应用领域。所有仓库都经过多阶段流水线处理,包括结构化合作伙伴接入、将自动元数据过滤与人工代码审查相结合的两阶段质量筛选,以及覆盖完整版本控制历史的确定性匿名化流水线。该数据集旨在支持代码智能、软件质量分析、代码语言模型的预训练与微调、开发者行为研究,以及代理评测基准的构建。
HM-Req: A Framework for Embedding Values within CPS Human Monitoring Requirements
• 作者:Zoe Pfister, Ruth Breu, Michael Vierhauser • arXiv URL:https://arxiv.org/abs/2605.12153
Abstract
在人机协作的 Cyber-Physical Systems(CPS)中,对人的监测,例如位置或运动信息,对于安全高效的协作至关重要。这些信息使 CPS 能够保证安全属性、动态调整行为并与人协同工作。为了确保 CPS 的设计符合利益相关者的伦理原则和隐私要求,系统需求,尤其是与人类监测相关的需求,必须反映所有相关利益相关者的人类价值观。然而,在软件工程中,人类价值观常常被低估,尤其是在需求获取与系统设计这些引入伦理关键功能的关键阶段。利益相关者的价值往往是隐性的且彼此冲突,但很少被系统性地捕获。此外,非结构化自然语言需求会引入歧义和含糊性,使冲突解决更加困难。为了解决这些问题,我们提出 HM-Req,这是一个新的需求获取框架,其中包含一种用于定义人类监测需求的受控自然语言(Controlled Natural Language, CNL)。随后,这些需求会被来自相关利益相关者的人类价值观所增强,并集成到 Value Dashboard 中,以检测需要进一步讨论和解决的潜在冲突。通过将 CNL 应用于不同数据集,并开展问卷调查和专家访谈得到的验证结果,证实了该 CNL 在捕获多样化人类监测需求方面的能力,以及 HM-Req 在需求获取活动中的实用性。
Basilisk and Docker for Reproducible GN&C Simulation: A Workflow Reference
• 作者:Anubhav Gupta • arXiv URL:https://arxiv.org/abs/2605.12443
Abstract
Basilisk 是一个开源的航天动力学仿真框架,被广泛用于航天器制导、导航与控制(GN&C)研究和开发。尽管它灵活且计算能力强,但在异构开发环境中一致地配置 Basilisk 仍然面临实际挑战,这些挑战来自依赖管理、操作系统兼容性以及软件配置要求。本文提出一种基于 Docker 的容器化工作流,用于 Basilisk,它将完整的构建环境、依赖和仿真基础设施封装在一个可移植的容器镜像中。该工作流通过一系列复杂度逐步提升的仿真场景加以展示,从独立的轨道动力学脚本到基于 BSKSim 的姿态动力学与控制仿真,以及 Monte Carlo 分析。文中详细描述了 BSKSim 的类层次结构、动力学模型架构、飞行软件实现和场景执行模式。所提出的工作流为 GN&C 工程师和研究人员提供了一个自包含的实现参考,便于构建可复现、可移植的 Basilisk 仿真环境。本工作是在 2024 年 2 月第 46 届 Rocky Mountain AAS GN&C Conference 上所做 workshop 演示的扩展版本。
夜雨聆风