2012-02-13 3 views
3

伝統的なsoftware metricsはソフトウェアの品質を扱います。私は、コードで開発者を識別するために使用できるメトリックを探しています。剽窃ソフトウェアと同じようにstylometryを使用して、作者のスタイルで作者を識別することができます。コメント率など、既存の指標をここでも使用できると私は想像しています。また、特定のメソッドやデザインパターンの(オーバー)使用、変数名の平均長さなど、品質の観点からは関係のないメトリックを想像することもできます。コーディングスタイルで開発者を識別するソフトウェアメトリック

私は、そのようなメトリクスやスタディの集まり、または個々のメトリックなどがあります。それらは、言語に依存しないか、言語またはプログラミングのパラダイムに関連している可能性があります。

盗作を検出するのではなく、さまざまなコーディングスタイルを理解し分析するために使用します。

答えて

2

私はすでにこれを検討した研究がいくつかあります。彼らは助けるかもしれない。

  1. コタリ、J.、Shevertalov、M.、Stehle、E.、Mancoridis、S.、情報技術に関する国際会議の議事録において、 "ソースコードの原作者の識別に確率論的アプローチ"、 pp.243-248、IEEE、抽象から引用し、2007年

    利用可能なオンラインhere

    :私たちは物乞い

    本物であると検証されたコードサンプルを使用して、既知の著者の人口に対するプロファイルを構築するための一連のメトリックを計算することによって、次に、未確認のソースコードのメトリックを計算し、最も近い一致プロファイルを決定します。 [...]私たちのケーススタディでは、 は、一番近い3つの最も近い一致を選択する際に、最も近い一致を1つ選ぶ際に70%を超える精度と90%を超える精度で著者を決定することができます。

  2. Shevertalov、M.、コタリ、J.、Stehle、E.、第1回国際シンポジウムの議事録において、 "作成者識別のための離散ソースコードのメトリクスの使用に" Mancoridis、S.、検索ベースのソフトウェアエンジニアリング、pp.69-78、IEEE、2009.

    利用可能なオンラインhereこれは以前の研究のフォローアップです。

  3. ランゲ、R.、Mancoridis、S.、遺伝的及び進化的計算上の第9回年次会議議事録において、「ソフトウェアフォレンジックのための著者識別を実行するためのコードメトリックヒストグラムおよび遺伝的アルゴリズムを使用する」、pp.2082 -2089、ACM、2007。これはまた、第一の基準(共通作者)に関連し、より詳細に測定基準を説明しているhere

    オンラインで入手可能。再度、要約から引用:

    この方法では、コードメトリックのヒストグラム分布の差を測定します。開発者のスタイルを区別するのに有効なメトリクスの組み合わせを特定することは、この技術の有用性にとって重要です。私たちのケーススタディには18の指標が含まれています。

また、および(オプション「引用」を使用して)上記のものに基づいて他の論文を見つけるための他の参照のためにGoogle Scholarを使用することができます。

+0

答えを待つ価値があった、ありがとう、Bogdan –

1

潜在的な指標をお探しの場合は、コーディング標準をご覧ください。これらは特定のスタイルを指示するので、彼らが話すこと(間隔、中括弧の配置、識別子の長さ、必須のコメントなど)は、コードから開発者を識別するために使用される可能性があることになります。

また、.NETコードに興味がある場合は、NDependが便利なツールになる場合があります。これにより、コードベースに対してクエリを実行し、82のメトリックをサポートします。

関連する問題