HeadlinesBriefing favicon HeadlinesBriefing.com

RealDiff: Diffing Perilaku Runtime Pull Requests

Hacker News •
×

RealDiff menemukan perubahan perilaku runtime yang terlewat oleh tinjauan sumber biasa. Ini membangun dua revisi Git, mengamati pengujian mereka, mempelajari baseline noise dari tiga eksekusi dasar, dan melaporkan perilaku yang berubah pertama di setiap pohon panggilan. Diff sumber memberi tahu Anda apa yang diedit. RealDiff memberi tahu Anda apa yang dilakukan oleh editan, termasuk efek pada file yang tidak pernah disentuh oleh pull request.

Refaktor yang terlihat tidak berbahaya dapat mengubah perilaku jauh dari file yang diedit. Misalnya, mengganti List.Sort dengan OrderBy mengubah mesin harga yang tidak diedit. Dalam demo, Discount Engine.Select Discount sebelumnya mengembalikan "CLEARANCE_40", sekarang mengembalikan "SEASONAL_15". Checkout Totals.Compute sebelumnya mengembalikan 60, sekarang mengembalikan 85. Pembantu yang diedit ada di Infrastructure.Collections; efek yang diamati ada di Commerce.Pricing. Dua dari tiga pengujian yang mengeksekusi ini tidak melakukan assertion pada perubahan.

Jalankan demo yang disertakan atau periksa pull request demo .NET publik yang dipelihara dan eksekusi hosted-nya yang berhasil. Bukti membuat pohon perubahan yang diusulkan sementara, hanya mengubah Sorting Extensions.cs, menjalankan basis dua kali plus perubahan sekali, dan menulis findings.json. Ini memverifikasi bahwa file yang diedit berkontribusi nol anggota yang dilacak, perbatasan adalah Commerce.Pricing.Discount Engine.Select Discount dalam proyek yang tidak diedit, dua situs panggilan berubah tanpa reaksi assertion, lima kunci yang menyimpang runtuh menjadi tiga node perbatasan, dan pemilihan prioritas yang sama bersifat deterministik di seluruh proses baru.

Gerbang .NET, Java, Node, Go, Rust, dan Python yang dipelihara menerapkan aturan kesesuaian yang sama: set metode yang identik, jumlah event per kunci dan ordinal entri, pemicu sumber, bukti digest, dan nol divergensi mesin dari eksekusi yang tidak kosong. Status: pratinjau awal.

Entitas Kunci: Orang: issacnitin | Lokasi: GitHub, Azure DevOps, MCP