Skip to content
Tech

Mengapa pembaruan dependensi versi patch masih merusak aplikasi produksi saya?

79

Peluang

Semantic versioning adalah konvensi, bukan kontrak. Analisis sistematis ekosistem perangkat lunak mengonfirmasi bahwa rilis patch dan minor secara rutin memperkenalkan perubahan perilaku yang merusak yang tidak dapat dideteksi oleh alat analisis statis mana pun, dan 68 persen kerusakan npm yang diamati termasuk dalam kategori perilaku ini yang paling sulit ditangkap secara otomatis. Kerusakan sebagian besar terjadi melalui dependensi transitif, yang hanya 21 persennya memiliki cakupan pengujian di alam liar. Pemindai dependensi menandai CVE keamanan, namun tidak memiliki mekanisme untuk mendeteksi inkompatibilitas semantik dua level lebih dalam. Seorang pengembang yang memperbarui satu dependensi langsung hari ini tidak memiliki alat yang memberi tahu mereka perilaku produksi mana yang akan berubah.

Mengapa ini penting

Mendeteksi kerusakan perilaku dalam dependensi transitif sebelum mencapai CI adalah lapisan yang hilang antara penguatan versi dan pembaruan yang aman.

Cara saya menilai peluang

Skor Peluang adalah penilaian pribadi saya, bukan pengukuran: seberapa besar dampaknya, seberapa sering terasa, dan seberapa sedikit solusi yang ada saat ini. Semakin tinggi skornya, semakin layak menurut saya untuk dibangun.

Tingkat Keparahan7/10

Seberapa besar masalah yang ditimbulkannya saat muncul.

Frekuensi9/10

Seberapa sering orang benar-benar menghadapinya.

Ruang Kosong7/10

Betapa sedikitnya alat yang baik tersedia untuknya saat ini.

Lebih banyak masalah yang layak diselesaikan