Thứ Bảy, 3 tháng 10, 2009

Nghiên cứu chỉ ra Chất lượng Mã nguồn của Nguồn Mở đang được cải thiện

Study Shows Open-source Code Quality Improving

Chris Kanaracus, IDG News Service

Wednesday, September 23, 2009 9:20 AM PDT

Theo: http://www.pcworld.com/businesscenter/article/172469/study_shows_opensource_code_quality_improving.html

Bài được đưa lên Internet ngày: 23/09/2009

Số lượng tổng thể các khuyết tật trong các dự án nguồn mở đang giảm, một nghiên cứu mới của nhà cung cấp Coverity đã tìm thấy.

Coverity, nhà sản xuất các công cụ cho việc phân tích mã nguồn chương trình, đã nhận được một hợp đồng trong năm 2006 từ Bộ An ninh Quốc nội Mỹ để giúp cải thiện chất lượng của phần mềm nguồn mở, mà nó là đang được sử dụng ngày một gia tăng bởi các cơ quan chính phủ.

Nhà cung cấp đã thiết lập một Website qua đó các dự án nguồn mở và các nhà lập trình phát triển có thể đề xuất mã nguồn để được phân tích. Nhà cung cấp này chỉ định các dự án cho một loạt các “thang chuẩn mực” dựa vào việc có bao nhiêu khiếm khuyết họ giải quyết.

“Mật độ các khiếm khuyết” đã giảm 16% trong vòng 3 năm qua trong số các dự án được quét qua site này và khoảng 11,200 khiếm khuyết đã được hạn chế, theo báo cáo mới nhất của Coverity.

4 dự án đã được cho là mức cao “thang 3”, sau khi giải quyết các khiếm khuyết được phát hiện ra trong thang 1 và 2, Coverity nói. Chúng là Samba, tor, OpenPAM và Ruby.

Site Scan cho tới nay đã phân tích hơn 60 triệu dòng lệnh mã nguồn từ 280 dự án, theo Coverity. Hơn 180 dự án được phát triển một cách tích cực làm việc để để quét các dự án nguồn mở.

Dịch vụ quét của Coverity sử dụng phân tích tĩnh, mà nó được sử dụng để kiểm tra mã nguồn về các vấn đề an ninh hoặc tốc độ thực thi mà không phải chạy bản thân một ứng dụng nào. Điều này là đáng ưa hơn vì “việc kiểm thử mỗi dòng trong một chương trình phức tạp khi nó chạy các yêu cầu xây dựng một số lượng lớn các trường hợp kiểm thử đặc biệt hoặc việc cấu trúc cho mã nguồn theo các cách đặc biệt”, Coverity nói.

“[Các công cụ] phân tích tĩnh sẽ không nói cho bạn rằng qui trình nghiệp vụ của bạn đang làm việc đúng đắn... nhưng chúng sẽ nói cho bạn rằng bản thân mã nguồn về mặt kỹ thuật là cứng cáp, và tuân theo dạng các thực tế lập trình tốt nhất mà bạn mong đợi thấy từ mã nguồn đã qua xem xét lại một cách phù hợp”, nhà phân tích Jeffrey Hammond của Forrester Research, đã nói qua thư điện tử.

Các công ty có xu hướng là có ích lợi nhất cho việc tìm kiếm “'chống lại các bằng sáng chế' một cách có cấu trúc trong mã nguồn, những thực tế lập trình yếu kém mà có thể gây ra trong các vấn đề về an ninh và tốc độ thực thi như rò rỉ bộ nhớ và tràn bộ nhớ đệm cũng như các điều kiện kỳ lạ hơn như các lỗi do sự thực thi mã nguồn một cách song song trong một môi trường CPU nhiều nhân”, ông bổ sung.

The overall number of defects in open-source projects is dropping, a new study by vendor Coverity has found.

Coverity, maker of tools for analyzing programming code, received a contract in 2006 from the U.S. Department of Homeland Security to help boost the quality of open-source software, which is increasingly being used by government agencies.

The vendor has set up a Web site through which open-source projects and developers can submit code to be analyzed. The vendor assigns projects to a series of "rungs" depending on how many defects they resolve.

"Defect density" has dropped 16 percent during the past three years among the projects scanned through the site and some 11,200 defects have been eliminated, according to Coverity's latest report.

Four projects have been granted top-level "Rung 3" status, after resolving defects discovered during Rung 1 and 2, Coverity said. They are Samba, tor, OpenPAM and Ruby.

The Scan site has so far analyzed more than 60 million unique lines of code from 280 projects, according to Coverity. More than 180 projects have developers actively working to scan open-source projects.

Coverity's scanning service employs static analysis, which is used to check code for security or performance problems without having to run an application itself. This is preferable because "testing every path in a complex program as it runs requires constructing a large number of special test cases or structuring the code in special ways," Coverity said.

"Static analysis [tools] won't tell you that your business process is working correctly ... but they will tell you that the code itself is technically solid, and follows the kind of programming best practices you'd expect to see from code that has gone through a proper code review," said Forrester Research analyst Jeffrey Hammond via e-mail.

The tools tend to be most helpful for finding "structural 'anti-patterns' in code, poor programming practices that can result in performance and security issues like memory leaks and buffer overflows as well as more exotic conditions like errors due to parallel execution of code in a multicore CPU environment," he added.

Dịch tài liệu: Lê Trung Nghĩa

letrungnghia.foss@gmail.com

Không có nhận xét nào:

Đăng nhận xét

Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.