Tại sao việc nâng cấp phụ thuộc lên phiên bản vá lỗi vẫn có thể làm hỏng ứng dụng sản xuất của tôi?
Cơ hội
Versioning ngữ nghĩa là một quy ước, không phải hợp đồng. Phân tích có hệ thống về các hệ sinh thái phần mềm xác nhận rằng các bản phát hành vá lỗi và phiên bản nhỏ thường xuyên đưa ra các thay đổi hành vi gây hỏng mà không có công cụ phân tích tĩnh nào phát hiện được, và 68 phần trăm các lỗi npm quan sát được thuộc loại hành vi này, loại khó phát hiện tự động nhất. Thiệt hại chủ yếu xảy ra thông qua các phụ thuộc bắc cầu, trong đó chỉ 21 phần trăm có bất kỳ độ bao phủ kiểm thử nào trong thực tế. Các công cụ quét phụ thuộc gắn cờ các CVE bảo mật nhưng không có cơ chế phát hiện các không tương thích ngữ nghĩa ở hai cấp sâu hơn. Một nhà phát triển cập nhật một phụ thuộc trực tiếp ngày hôm nay không có công cụ nào cho họ biết hành vi sản xuất nào sẽ thay đổi.
Tại sao quan trọng
Phát hiện các thay đổi hành vi gây hỏng trong các phụ thuộc bắc cầu trước khi chúng đến CI là lớp còn thiếu giữa việc ghim phiên bản và nâng cấp an toàn.
Cách tôi đánh giá cơ hội
Điểm Cơ Hội là đánh giá riêng của tôi, không phải một phép đo chính xác: mức độ gây khó chịu, tần suất xuất hiện và sự khan hiếm của giải pháp hiện có. Điểm càng cao, tôi càng cho rằng vấn đề đó càng đáng để xây dựng.
Mức độ phiền toái nó gây ra khi xuất hiện.
Tần suất mọi người thực sự gặp phải nó.
Có rất ít công cụ tốt để xử lý nó hiện nay.
Thêm các vấn đề đáng giải quyết
Tại sao phần mềm mà chúng ta phụ thuộc nhiều nhất lại là phần mềm tệ nhất để sử dụng?
TechTại sao tôi vẫn không sở hữu bất kỳ dữ liệu nào mình tạo ra?
TechTại sao tôi không thể nhận được biên lai chứng minh dữ liệu của tôi đã thực sự bị xóa?
TechTại sao tôi không thể biết liệu những gì đang chạy có khớp với những gì SBOM của tôi đã khai báo không?
TechTại sao mỗi chuỗi xuất xứ C2PA đều bị phá vỡ ngay khi nội dung lên mạng xã hội?
TechTại sao các bài kiểm thử do AI tạo ra lại thông qua với chính những lỗi mà chúng được tạo ra để phát hiện?