2017-02-19 12 views
-1

PMDを使用して基本的なデータフロー分析アクションを実行できるかどうかを知りたいと思います。それは割り当てなので、それが重要ではないかどうかは重要ではありません。 オンラインでコード例が見つかりません。Javaでデータフロー解析にPMDを使用できますか?

DFAモジュールは機能していますか?何が起こっているのかを見るためにリバースエンジニアリングの道を行くべきですか?

ありがとうございました

答えて

0

PMDのデータフロー解析モジュールが動作しています。 PMDで出荷されるルールは、たとえばDataflowAnomalyAnalysisです。

しかし、PMDチームplans to revamp that implementationは将来的には真実です。

DFAは、Javaルールでのみ使用できます(XPathルールは使用できません)。 DFAのルールを書くことで構成されています

あなたが分析する方法/コンストラクタのDFAのノードを取得した訪問者の書き込み
  1. public Object visit(ASTMethodDeclaration methodDeclaration, Object data) { 
        final DataFlowNode node = methodDeclaration.getDataFlowNode().getFlow().get(0); 
    
        final DAAPathFinder pathFinder = new DAAPathFinder(node, executable, getProperty(MAX_PATH_DESCRIPTOR)); 
        pathFinder.run(); 
        return data; 
    } 
    
    あなたの規則を実施するための適切Executableを書く
  2. public void execute(CurrentPath path) { 
        // your code here to analyze the current path 
    } 
    

実施例を見出すことができるhere

関連する問題