Nova Patents
JP2010140407A

Source code inspection device

Abstract

Problem to be solved.To support analysis of source code. A source code processing device acquires a source code to be inspected, parses the source code, and generates an AST (abstract syntax tree). AST is a model in which the nodes corresponding to the components of the source code are structured according to their logical structure. Then, each node in the AST is scanned, the part of the source code component that matches the preset detection conditions is identified, and the annotation node is set. [Selection diagram] Fig. 7

JP2010140407A, drawing sheet 1
Sheet 1 of 8

Term

Projected expiry 15 December 2028.

  1. Priority and filed
  2. Published
  3. Today
  4. Projected expiry

5 claims: 2 independent, 3 dependent

  1. 1
    ソースコードを取得するコード取得部と、 前記ソースコードの構成要素に対応するノードを抽出し、前記ソースコードにおける前記構成要素の配置にしたがって前記ノードを構造化することにより、前記ソースコードの論理構造を前記ノードの集合体により示す構文モデルを生成する構文モデル生成部と、 前記構文モデルにおける各ノードを走査し、前記ソースコードの構成要素についてあらかじめ設定されている検出条件に合致する箇所を特定する検査部と、 前記特定された箇所に注釈を示すノードである注釈ノードを設定する注釈ノード設定部と、 を備えることを特徴とするソースコード検査装置。
  2. 2
    前記検査部は、所定の命名規則に適合しない名称の変数に対応するノードに前記注釈ノードを設定することを特徴とする請求項1に記載のソースコード検査装置。
  3. 3
    前記検査部は、更に、所定の処理の開始時に記述されるべき構成要素に対応する先端ノードと、前記所定の処理の終了時に記述されるべき構成要素に対応する終端ノードを特定し、先端ノードの数と終端ノードの数が同数となっているかを判定し、 前記注釈ノード設定部は、前記先端ノードの数と前記終端ノードの数が同数となっていないときには、更に、前記先端ノードと前記終端ノードに関するルールが満たされていない旨を示す注釈ノードを設定することを特徴とする請求項1または2に記載のソースコード検査装置。
  4. 4
    前記検査部は、第1のクラスにおいて定義されている第1のメンバ関数が、前記第1のクラスを継承する第2のクラスにおいて定義されている第2のメンバ関数によりオーバーライド(override)されているかを判定し、 前記注釈ノード設定部は、前記第2のメンバ関数が前記第1のメンバ関数をオーバーライドしているとき、前記第2のメンバ関数に対応するノードに前記注釈ノードを設定することを特徴とする請求項1から3のいずれかに記載のソースコード検査装置。
  5. 5
    ソースコードを取得する処理と、 前記ソースコードの構成要素に対応するノードを抽出し、前記ソースコードにおける前記構成要素の配置にしたがって前記ノードを構造化することにより、前記ソースコードの論理構造を前記ノードの集合体により示す構文モデルを生成する処理と、 前記構文モデルにおける各ノードを走査し、前記ソースコードの構成要素についてあらかじめ設定されている検出条件に合致する箇所を特定する処理と、 前記特定された箇所に注釈を示すノードである注釈ノードを設定する処理と、 をコンピュータに実行させることを特徴とするソースコード検査プログラム。
Independent claims5