HeadlinesBriefing favicon HeadlinesBriefing.com

RealDiff:拉取请求运行时行为差异比较

Hacker News •
×

RealDiff 能发现普通源码审查遗漏的运行时行为变更。它构建两个 Git 修订版本,观察它们的测试,从三次基准运行中学习噪声基线,并报告每个调用树中首个变更的行为。源码差异告诉你编辑了什么。RealDiff 告诉你编辑做了什么,包括拉取请求从未触及的文件中的影响。

一个看似无害的重构可能会改变远离被编辑文件的行为。例如,将 List.Sort 替换为 OrderBy 会改变一个未经编辑的定价引擎。在演示中,Discount Engine.Select Discount 之前返回 "CLEARANCE_40",现在返回 "SEASONAL_15"。Checkout Totals.Compute 之前返回 60,现在返回 85。被编辑的辅助方法位于 Infrastructure.Collections 中;观察到的影响在 Commerce.Pricing 中。执行此操作的三个测试中有两个未对变更进行断言。

运行包含的演示或检查维护的公共 .NET 演示拉取请求及其成功的托管运行。验证过程创建一个临时的提议变更树,仅更改 Sorting Extensions.cs,运行基准两次加变更一次,并写入 findings.json。它验证被编辑文件贡献了零个被追踪成员,前沿是未编辑项目中的 Commerce.Pricing.Discount Engine.Select Discount,两个调用站点发生了变更但没有断言反应,五个分歧键坍缩为三个前沿节点,并且在新进程中同等优先级的选择是确定性的。

维护的 .NET、Java、Node、Go、Rust 和 Python 门控应用相同的一致性规则:相同的方法集、每键事件计数和条目序号、源码触发器、摘要证明,以及非空运行的零引擎分歧。状态:早期预览。

关键实体:人物:issacnitin | 位置:GitHub、Azure DevOps、MCP