Phiên bản mới của trình phân tích mã tĩnh cppcheck 2.7 đã được phát hành. Nó phát hiện nhiều loại lỗi khác nhau trong mã C và C++, bao gồm cả những lỗi sử dụng cú pháp không chuẩn thường thấy trong các hệ thống nhúng. Một bộ sưu tập các plugin có sẵn cho phép tích hợp cppcheck với nhiều hệ thống phát triển, tích hợp liên tục và kiểm thử khác nhau, cũng như các tính năng như kiểm tra kiểu mã. Cả trình phân tích cú pháp gốc và trình phân tích cú pháp Clang bên ngoài đều có thể được sử dụng để phân tích mã. Gói này cũng bao gồm tập lệnh donate-cpu.py để cung cấp tài nguyên cục bộ cho việc kiểm tra mã gói cộng tác. DebianMã nguồn của dự án được phân phối theo giấy phép GPLv3.
Sự phát triển của cppcheck tập trung vào việc xác định các vấn đề liên quan đến hành vi không xác định và việc sử dụng các thiết kế nguy hiểm theo quan điểm an toàn. Mục tiêu cũng là để giảm thiểu kết quả dương tính giả. Trong số các vấn đề được xác định: con trỏ tới các đối tượng không tồn tại, chia cho XNUMX, tràn số nguyên, thao tác dịch bit không chính xác, chuyển đổi không chính xác, sự cố khi làm việc với bộ nhớ, sử dụng STL không chính xác, hủy tham chiếu con trỏ null, sử dụng kiểm tra sau khi truy cập thực tế vào bộ đệm, lỗi tràn bộ đệm, sử dụng các biến chưa được khởi tạo.
Song song đó, công ty Cppcheck Solutions AB của Thụy Điển đang phát triển phiên bản mở rộng của Cppcheck Premium, cung cấp phân tích về sự hiện diện của các vòng lặp vô hạn, cải thiện khả năng tìm kiếm các biến chưa được khởi tạo và phân tích tràn bộ đệm nâng cao.
Trong phiên bản mới:
- Đã thêm hỗ trợ cho chế độ xem vùng chứa - thuộc tính chế độ xem đã được thêm vào thẻ thư viện, cho biết lớp đó là chế độ xem. Mã phân tích vòng đời đã được cập nhật để sử dụng thuộc tính này khi tìm kiếm các thùng chứa lơ lửng;
- Cải thiện kiểm tra;
- Các lỗi tích lũy đã được sửa chữa và những thiếu sót trong máy phân tích đã được loại bỏ.
Nguồn: opennet.ru
