中文

面向观察湖仓:软件行为的活跃、交互式归档

软件工程 2026-01-19 v2

摘要

代码生成型大语言模型(LLM)主要基于静态构件(源码、注释、规范)进行训练,极少基于运行时行为的材料进行训练。因此,它们容易内化错误或标注不准确的代码。鉴于在一般情况下无法判定非平凡语义属性,获取真实功能的唯一实用方法是通过动态观察执行行为。在先前工作中,我们通过 Sequence Sheets、刺激-响应矩阵(SRMs)和刺激-响应立方体(SRCs)来表示和比较跨测试、实现和上下文的行为。这些结构使观察数据可在离线环境中分析和重用,但本身并不提供持久化、演化或大规模的交互式分析能力。本文因此引入观察湖仓(observation lakehouses),将持续性的 SRCs 实际化:一个高瘦、追加唯一的观察表存储每一次激活(刺激、响应、上下文),以及用于即时物化 SRC 切片的 SQL 查询。基于 Apache Parquet + Iceberg + DuckDB 构建的湖仓从受控管道(LASSO)和 CI 管道(如单元测试执行)中摄取数据,实现无需重新执行即可进行 n 版本评估、行为聚类和共识预测。我们在 509 个问题的基准上摄取约 860 万条观察行(<51MiB),在笔记本电脑上即可在 <100ms 内重建 SRM/SRC 视图和聚类,展示了在无需分布式机器集群的情况下持续行为挖掘是实用的。这使行为真实性成为除其他运行时数据之外的第一类数据,并为通向基于行为的评估与训练提供了基础设施路径。观察湖仓及其附带数据集已作为开源项目在 GitHub 上公开:https://github.com/SoftwareObservatorium/observation-lakehouse

关键词

引用

@article{arxiv.2512.02795,
  title  = {Towards Observation Lakehouses: Living, Interactive Archives of Software Behavior},
  author = {Marcus Kessel},
  journal= {arXiv preprint arXiv:2512.02795},
  year   = {2026}
}

备注

5 pages, 2 tables, 1 figure, accepted at the IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER 2026 Tool Demo)