自動程式碼審查(Automated code review)是可以檢查原始碼是否符合規定的軟體,規定可能是事先定義的規則,或是目前的最佳實務。
自動程式碼審查在開源軟體以及商業軟體的開發中都有用到。
利用分析的方式來檢測及審查程式碼,偵測其中是否有軟體錯誤或是安全問題,已經是標準的開發實務。進行的方式可以用人工確認,也可以用自動化的方式確認。隨著自動化,軟體工具可以協助代码审查及檢查的過程。审查工具一般會列出許多的警告(程式碼違反程式標準)。审查工具也可以修正發現的問題,可以用自動化的修正方式,或是由程式設計師輔助的修正方式。這是容易掌握的軟體中的一部份。有助於軟體智慧的實踐。這個程序常稱為linting,因為Lint是最早期用在靜態程式分析的軟體。
有些靜態程序分析工具可以用來協助自動程式碼審查,這些工具受歡迎的程度不如人工審查,但可以作的更快,更有效率。這些工具也可以封裝一些對底層規則的深入瞭解,以及要進行形態分析需要的語意,因此操作軟體的人工審查者不需要和完全人工審查者一樣,有對程式及業務深入的瞭解及Microsoft Visual Studio。集成开发环境也有許多的plugin可以進行程式碼審查。
除了靜態程序分析工具外,也有工具可以分析軟體,並且進行,幫助人理解程式碼。這種系統更著重在分析,因為一般而言其中沒有事先設定要檢查的規則。這類工具(像是、Resharper、SonarJ、、Structure101、ACTool)可以讓分析者定義目標架構,確保實際軟體的實現不會違反目標架構的限制條件。
相關條目
- 程序分析
參考資料
- [http://www.omg.org/CISQ_compliant_IT_Systemsv.4-3.pdf Automated code analysis levels and requirements]
评论 (0)