簡體   English   中英

將靜態分析工具相互集成?

[英]Integrating static analysis tools with each other?

人們如何集成各種靜態分析工具,例如 PMD、Checkstyle 和 FindBugs,以便它們以某種統一的方式一起使用? 特別是,我有興趣生成一個統一的報告,其中包括來自所有工具的警告。 此外,我希望能夠使用看起來相當一致的警告抑制來標記我的代碼。

我在這里的問題並不是要解決工具“重疊”問題,比如 PMD 和 Checkstyle 正在尋找相同的東西。 那是另一個問題。

相關問題的回答中查看我對此事的一些想法

我今天偶然發現了JcReport ,我認為它完全符合您的要求。 至少,它以組合方式處理報告; 抑制仍然是特定於工具的。 該工具聲稱支持將 PMD、CPD、FindBugs、CheckStyle 和 Cobertura 的輸出自動集成到單個 HTML 報告中。

我還沒有嘗試過,但肯定打算很快。

另一種選擇是收集。 http://jbrugge.com/glean/

來自他們的網站: Glean 是一個 Ant 腳本框架,用於生成對團隊源代碼的反饋。 Glean 的目標是盡可能少地為您的構建周期添加反饋。 這些腳本驅動許多開源工具並收集生成的 HTML,供您部署到項目網站或其他一些常見的團隊區域。 在每日構建周期結束時添加它,這是一種將多個反饋源保持在一個位置最新的快速方法。

我不清楚在你的書中什么是單一的統一報告,但這就是我所做的。

我使用 Maven2 進行構建,您可以使用它配置一系列報告插件(包括 PMD、CPD、checkstyle、coberturba 等)。 Maven 還將為您的項目自動生成一個網站(站點插件),其中包含以易於導航的網頁格式顯示的所有報告。

如果您使用 Maven 構建您的項目,並且您將這些工具“插入”到您的 Maven 構建中,那么為構建生成的 Maven 報告將包括這些靜態分析工具的輸出。

感謝您的回復!

此處的目標是配置這些工具,使它們彼此以某種相似的方式運行。 這不僅僅是簡單地轉儲它們自動生成的任何報告,或者使用它們開箱即用的任何警告抑制提示。

例如,我將 PMD、Checkstyle 和 FindBugs 配置為按以下格式報告所有警告:

/absolute-path/filename:line-number:column-number: warning(tool-name): message

因此,警告可能如下所示:

/project/src/com/example/Foo.java:425:9: warning(Checkstyle): Missing a Javadoc comment.

此外,我的源代碼中的所有警告抑制都標有一個包含字符串“ SuppressWarnings ”的符號,無論靜態分析工具被抑制。 有時這個符號是一個注釋,有時它在注釋中,但它總是有那個名字。

我在這里更詳細地解釋這些想法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM