一句话:提出行为共版本化范式,把测试运行时的行为观察按提交存档并可查询,以支持语义差分与回归定位。
论文指出,开发者习惯用 Git 版本化源码,却极少持久化并查询运行时行为随修订的演化,这一错配使软件演化分析与 CI 存在盲区:丰富的执行信息被丢弃,通常只归结为通过/失败结果,从而忽略部分测试预言、flakiness 以及静默的输出或性能漂移。作者提出「行为共版本化」(Behavioral Co-Versioning)范式,将 Git 历史与「行为档案」(Behavioral Archive)耦合——后者是仅追加、可查询的存储,保存测试运行中采集的选定运行时观察(如方法输入输出与性能信号),并以 commit 和测试上下文为键。基于此可实现语义差分、行为感知的回归定位与回溯审计,与主动式、面向特定信号的监控工具互补。论文给出最小数据模型及基于代码/测试/行为指纹的变化诊断方法,并用笔记本规模原型验证可行性:原型重放一个 Python 项目的历史提交,将运行时观察存入本地 Parquet 存储,并检测出文本 diff 无法显现的行为变化。
Behavioral Co-Versioning remains absent from mainstream practice: while developers routinely version source code with Git, they rarely persist and query how run-time behavior evolves across revisions. This paper argues that this mismatch contributes to a blind spot in software evolution analysis and CI, where rich execution information is discarded and typically reduced to pass/fail outcomes — despite partial test oracles, flakiness, and silent output or performance drift. We propose Behavioral Co-Versioning, a paradigm that couples the Git history with a Behavioral Archive: an append-only, queryable store of selected run-time observations (e.g., method I/O and performance signals) collected during test runs and keyed by commit and test context. This enables semantic diffing, behavior-aware regression localization, and retrospective auditing by querying historical executions, complementing proactive, signal-specific monitoring tools. We first outline a minimal data model and change diagnostics based on code/test/behavior fingerprints, and then demonstrate feasibility with a laptop-scale prototype that replays historical commits of a Python project, archives run-time observations in a local Parquet-backed store, and detects behavioral changes not apparent from textual diffs.