Phát hành cppcheck 2.7, bộ phân tích mã tĩnh cho ngôn ngữ C++ và C

Phiên bản mới của bộ phân tích mã tĩnh cppcheck 2.7 đã được phát hành, cho phép bạn xác định các loại lỗi khác nhau trong mã bằng ngôn ngữ C và C++, kể cả khi sử dụng cú pháp không chuẩn, điển hình cho các hệ thống nhúng. Một bộ sưu tập các plugin được cung cấp thông qua đó cppcheck được tích hợp với các hệ thống thử nghiệm, tích hợp và phát triển khác nhau, đồng thời cung cấp các tính năng như kiểm tra việc tuân thủ mã với kiểu mã. Để phân tích mã, bạn có thể sử dụng trình phân tích cú pháp của riêng mình hoặc trình phân tích cú pháp bên ngoài từ Clang. Nó cũng bao gồm tập lệnh donate-cpu.py để cung cấp tài nguyên cục bộ nhằm thực hiện công việc cộng tác đánh giá mã cho các gói Debian. Mã 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

Thêm một lời nhận xét