(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-03-28
(54)【発明の名称】ビッグデータモバイルソフトウェアの類似性についての記述エントロピーに基づくインテリジェントな決定方法
(51)【国際特許分類】
G06F 21/56 20130101AFI20220318BHJP
【FI】
G06F21/56
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021545304
(86)(22)【出願日】2020-04-22
(85)【翻訳文提出日】2021-08-02
(86)【国際出願番号】 CN2020086052
(87)【国際公開番号】W WO2020233322
(87)【国際公開日】2020-11-26
(31)【優先権主張番号】201910424145.7
(32)【優先日】2019-05-21
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】521341640
【氏名又は名称】▲ギ▼南大學
(74)【代理人】
【識別番号】100088904
【氏名又は名称】庄司 隆
(74)【代理人】
【識別番号】100124453
【氏名又は名称】資延 由利子
(74)【代理人】
【識別番号】100135208
【氏名又は名称】大杉 卓也
(74)【代理人】
【識別番号】100163544
【氏名又は名称】平田 緑
(74)【代理人】
【識別番号】100183656
【氏名又は名称】庄司 晃
(72)【発明者】
【氏名】官全龍
(72)【発明者】
【氏名】羅偉其
(72)【発明者】
【氏名】劉楚瑩
(72)【発明者】
【氏名】張煥明
(72)【発明者】
【氏名】崔林
(72)【発明者】
【氏名】李哲夫
(72)【発明者】
【氏名】李榮君
(57)【要約】
【課題】 ビッグデータモバイルソフトウェアの類似性についての記述エントロピーに基づくインテリジェントな決定方法
【解決手段】 ビッグデータモバイルソフトウェアの類似性についての記述エントロピーに基づくインテリジェントな決定方法を提供して、この方法は、以下のステップを含み、モバイルソフトウェアのパスを取得し、パスに従ってモバイルソフトウェアのファイルを読み取りしており、モバイルソフトウェアのファイルに対して予備的なリバースエンジニアリングの逆コンパイルを実行して、モバイルソフトウェアの各ピースのファンクション特性を取得しており、ファンクション特性の記述エントロピーをを通って、モバイルソフトウェアの各ピースの記述エントロピーの分布を計算しており、モバイルソフトウェアの各ピースの記述エントロピーはさらに統合させて、統合することを通ってから、モバイルソフトウェア間の記述エントロピー分布状況が比較され、そして類似性スコアが計算されて、モバイルソフトウェア間の類似性スコアが取得されており、モバイルソフトウェアの類似性の結果を取得するために、モバイルソフトウェアの類似性スコアを出力する。本発明は、逆コンパイルによりモバイルソフトウェアソースコードを取得し、ファンクションの圧縮コード(複数)を取得してから記述エントロピーを取得し、記述エントロピーをオブジェクトを表すための情報量としてモバイルソフトウェアの類似性の決定に使用され、それにより、ソフトウェアの類似性のインテリジェントな計算速度を大幅に向上させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ビッグデータモバイルソフトウェア(複数)の類似性についての記述エントロピーに基づくインテリジェントな決定方法であって、下記のステップを含む決定方法:
S1、該モバイルソフトウェア(複数)のパスを取得することであって、該パスに従って該モバイルソフトウェア(複数)は読み取られる;
S2、該モバイルソフトウェア(複数)の各々のファンクション(function)特性を取得するために、該モバイルソフトウェア(複数)の各々に予備的なリバースエンジニアリング・逆コンパイルを実行する;
S3、該ファンクション特性の記述エントロピーによって、該モバイルソフトウェア(複数)の各々の記述エントロピーの分布を集約する;
S4、該モバイルソフトウェア(複数)の該記述エントロピーを統合し、該統合された記述エントロピーの分布に基づき、モバイルソフトウェアペア(pairs)の該記述エントロピー分布を比較し、そして、該モバイルソフトウェアペアの類似性スコアを計算する;
S5、モバイルソフトウェア(複数)の類似性の結果を取得するために、該モバイルソフトウェア(複数)の該類似性スコアを出力する、ことを特徴とする、決定方法。
【請求項2】
ファンクション特性は、ハッシュ値(複数)、ファンクションの圧縮コード(複数)、記述エントロピー(複数)を含むことを特徴とする請求項1に記載の決定方法。
【請求項3】
ステップS2では、前記予備的なリバースエンジニアリング・逆コンパイルは、具体的に、逆コンパイルツールを使用してモバイルソフトウェア(複数)の各々のソースコード(複数)を取得し、該ソースコード(複数)を通じて該モバイルソフトウェア(複数)の各々のファンクションの圧縮コード(複数)を取得し、そして、ファンクションまたはクラスの情報量を表す浮動小数点数を、つまり、次の式による、該ファンクションの圧縮コード(複数)の各々から該記述エントロピーを、計算する:
【数1】
ここで、該ファンクションの圧縮コード(複数)の各々は、n個の部分文字列(複数)を有し、substr
iが該ファンクションの圧縮コード(複数)のi番目の部分文字列であり、そして、p(substr
i)がi番目の部分文字列の出現確率である;そして、
モバイルソフトウェア(複数)のハッシュ値(複数)、該ファンクションの圧縮コード(複数)、及び記述エントロピー(複数)を、対応するテキストファイルに保存する、ことを特徴とする請求項1に記載の決定方法。
【請求項4】
前記ファンクションまたはクラスにおいて、一つのファンクションまたはクラスは、一つのファンクションの圧縮コード、一つの記述エントロピー、及び一つのハッシュ値に対応し;一つのモバイルソフトウェアは、対応するファンクションのハッシュ値(複数)の集合、ファンクションの圧縮コード(複数)の集合、記述エントロピー(複数) の集合に対応することを特徴とする請求項3に記載の決定方法。
【請求項5】
前記逆コンパイルツールは、Androguardであることを特徴とする請求項3に記載の決定方法。
【請求項6】
ステップS3は、具体的には、以下を含む:
ステップS2のモバイルソフトウェア(複数)の各々に対応するテキストファイル(複数)の各々から、記述エントロピー(複数)の集合:
【数2】
及び、
エントロピー(複数)の対応する数(複数)の集合:
【数3】
を抽出する、
ここで、hd
1からhd
nは、対応するモバイルソフトウェアの1番目からn番目の相互に等しくない記述エントロピー値(複数)であり; n
1からn
nは、1番目からn番目の相互に等しくない記述エントロピー値(複数)の対応する数(複数)である、
請求項1に記載の決定方法。
【請求項7】
前記ステップS4では、具体的に、以下を含む:
全ての該モバイルソフトウェア(複数)の記述エントロピー(複数)の集合(複数)を取得し、次に、該モバイルソフトウェア(複数)の各々のペアの記述エントロピー(複数)の和集合を得るために、ペア(複数)における該モバイルソフトウェアすべての、記述エントロピー(複数)の集合(複数)を統合する;
モバイルソフトウェアAとモバイルソフトウェアBの記述エントロピー(複数)の集合(複数)は、次のとおりであり:
【数4】
ここで、Hd
Aは、モバイルソフトウェアAの記述エントロピー(複数)の集合であり、Hd
Bは、モバイルソフトウェアBの記述エントロピー(複数)の集合であり、mは、モバイルソフトウェアAの記述エントロピー値(複数)の個数であり、nは、モバイルソフトウェアBの記述エントロピー値(複数)の個数であり;
モバイルソフトウェアAとモバイルソフトウェアBの記述エントロピー値(複数)の個数の集合は、次のとおりであり:
【数5】
ここで、N
Aは、モバイルソフトウェアAのHd
Aでの記述エントロピー値(複数)の対応する個数(複数)の集合であり、N
Bは、モバイルソフトウェアBのHd
Bでの記述エントロピー値(複数)の対応する個数の集合であり;該モバイルソフトウェアペアの記述エントロピー(複数)の和集合は、次のとおりであり:
【数6】
ここで、Hd
A∪Bは、モバイルソフトウェアAとモバイルソフトウェアBの記述エントロピー(複数)の該和集合であり、Y
Aは、該和集合Hd
A∪BでのモバイルソフトウェアAの記述エントロピー値(複数)の対応する個数の集合であり、Y
Bは、和集合Hd
A∪BでのモバイルソフトウェアBの記述エントロピー値(複数)の対応する個数の集合であり; xは、和集合Hd
A∪BとHd
Aの差集合要素(複数)の個数であり、yは、和集合Hd
A∪BとHd
Bの差集合要素(複数)の個数であり; m + xとn + yは、和集合Hd
A∪Bでの要素(複数)の個数であり;
類似性スコアの計算を実行し:
集合Hd
A∪BとY
Aを、離散点(複数)D
Aの集合として得、集合Hd
A∪BとY
Bを、離散点(複数)D
Bの別の集合として得、それは次のとおりであり、
【数7】
デカルト座標系での領域S
Aが、X軸と離散点(複数)D
Aの集合によって定義され; デカルト座標系での領域S
Bが、X軸と離散点(複数)D
Bの集合によって定義され; 次に、領域S
AとS
Bの交差エリアS
A∩Bが計算され、更に、領域S
AとS
Bの和集合エリアS
A∪Bが計算され;
最後に、該類似性スコアが計算される:
該集合での要素(複数)の個数は、N個を有するとされ、次のとおりであり、
【数8】
ここで、
【数9】
ここで、
【数10】
ここで、
【数11】
ここで、(x
i、y
Ai)∈D
A、(x
i、y
Bi)∈D
B、(x
mid、y
mid)は、点(x
i、y
Ai)及び点(x
i+1、y
Ai+1)によって形成された直線と点(x
i、y
Bi)及び点(x
i+1、y
Bi+1)によって形成された直線との交差点の座標である;
最後に該類似性スコアは以下によって計算される:
類似性スコア=S
A∩B/S
A∪B *100
である、請求項6に記載の決定方法。
【請求項8】
m + x = n + yである、請求項7に記載の決定方法。
【請求項9】
ステップS5では、具体的に、すべてのモバイルソフトウェア(複数)の類似性スコア(複数)を出力し、モバイルソフトウェアの類似性の結果を取得するために、モバイルソフトウェア(複数)間の類似性の程度を決定する、請求項1に記載の決定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェア類似性の決定の研究分野に関しており、特に、ビッグデータモバイルソフトウェアの類似性についての記述エントロピーに基づくインテリジェントな決定方法に関する。
【背景技術】
【0002】
インターネットとスマートフォンの急速な発展に伴い、モバイルインターネットソフトウェアは急速に普及しており、特に、モバイルをオペレーティングシステムとするアプリケーションソフトウェアが特に顕著であり、毎年膨大な数のモバイルインターネットソフトウェアが発行されている。しかしながら、モバイルインターネットソフトウェアのオープンソースと人気により、セキュリティの問題は、ますます顕著になり、毎日、何万ものマルウェアがさまざまなモバイルアプリケーションセキュリティプラットフォームによって傍受されている。悪意のあるモバイルインターネットソフトウェアは、携帯電話がウイルスを感染したり、アカウント情報を盗んだり、悪意で料金を請求したり、権限を超えてユーザーのプライバシーを取得したりする可能性がある。深刻なモバイルアプリケーションのセキュリティインシデントと大量のマルウェアに直面し、マルウェア決定の効率を改善する方法は、研究する価値のあることとなる。
【0003】
現在、ほとんどの悪意のある攻撃者は、人気のあるモバイルアプリケーションソフトウェアを使用し、ソースコードの一部を変更し、悪意のあるコードを挿入し、難読化を追加してからAPPを再リリースしており、その結果、多くのユーザーは、ネイティブアプリの信頼とサポートに基づいて、海賊版アプリを誤ってダウンロードしてインストールする。APPに対して類似性の決定を行うのは、モバイルアプリケーションのセキュリティエンジニアリングの突破である。
【発明の概要】
【0004】
本発明の主な目的は、従来技術の欠点及び欠陥を克服して、エントロピー分布の記述に基づくモバイルソフトウェアの類似性の決定方法を提供することである。
【課題を解決するための手段】
【0005】
本発明の目的は、以下の技術的解決方法を通じて実現する:
ビッグデータモバイルソフトウェアの類似性についての記述エントロピーに基づくインテリジェントな決定方法であって、下記のステップを含み:
S1、モバイルソフトウェア(複数)のパスを取得することであって、該パス(複数)に従って該モバイルソフトウェア(複数)は読み取られる;
S2、該モバイルソフトウェア(複数)の各々のファンクション(関数ともいう:function)特性(複数)を取得するために、該モバイルソフトウェア(複数)の各々に予備的なリバースエンジニアリング・逆コンパイルを実行する;
S3、該ファンクション特性の記述エントロピー(複数)によって、該モバイルソフトウェア(複数)の各々の記述エントロピーの分布を集約する;
S4、モバイルソフトウェア(複数)の記述エントロピー(複数)を統合し、統合された記述エントロピーの分布(複数)にもとづき、モバイルソフトウェアペア(pairs) (複数)の該記述エントロピー分布(複数)を比較し、そして、該モバイルソフトウェアペア(複数)の類似性スコア(複数)を計算する;
S5、モバイルソフトウェアの類似性の結果を取得するために、モバイルソフトウェア(複数)の類似性スコア(複数)を出力する。
【0006】
さらに、ファンクション(関数ともいう)特性は、ハッシュ値(複数)、モバイルソフトウェアファンクションの圧縮コード(複数)、記述エントロピー(複数)を含む。
【0007】
さらに、ステップS2では、前記予備的なリバースエンジニアリング・逆コンパイルは、具体的に次のとおりであり:逆コンパイルツールを使用してモバイルソフトウェア(複数)の各々のソースコード(複数)を取得し、ソースコード(複数)を通じてモバイルソフトウェア(複数)の各々のファンクションの圧縮コード(複数)を取得し、ファンクションの圧縮コード(複数)の各々から浮動小数点数(floating point number)を計算し、これはファンクションまたはクラスの情報量を表し、つまり記述エントロピーを示し、これは、次のように計算される。
【数1】
ここで、該ファンクションの圧縮コード(複数)の各々は、合計n個の部分文字列を有し、substr
iがファンクションの圧縮コードのi番目の部分文字列であり、及びp(substr
i)がi番目の部分文字列の出現確率である;そして、
モバイルソフトウェア(複数)のハッシュ値(複数)、ファンクションの圧縮コード(複数)、及び記述エントロピー(複数)、を対応するテキストファイルに保存する。
【0008】
さらに、前記ファンクションまたはクラスにおいて、一つのファンクションまたはクラスは、一つのファンクションの圧縮コード、一つの記述エントロピー、と一つのハッシュ値に対応しており、一つのモバイルソフトウェアは、対応するファンクションのハッシュ値(複数)の集合、ファンクションの圧縮コード(複数)の集合、記述エントロピー(複数)の集合、に対応する。
【0009】
さらに、前記逆コンパイルツールは、Androguardである。
【0010】
さらに、ステップS3は、具体的には、ステップS2のモバイルソフトウェア(複数)の各々に対応するテキストファイル(複数)から、記述エントロピー(複数)の集合:
【数2】
及び、エントロピー(複数)の対応する数(複数)の集合:
【数3】
を抽出することであり、
ここで、h
d1からh
dnは、対応するモバイルソフトウェアの1番目からn番目の相互に等しくない記述エントロピー値(複数)であり; n
1からn
nは、1番目からn番目の相互に等しくない記述エントロピー値(複数)の対応する数である。
【0011】
さらに、前記ステップS4では、具体的に、すべてのモバイルソフトウェア(複数)の記述エントロピー(複数)の集合(複数)を取得し、次に、ペア(複数)で、すべてのモバイルソフトウェアの記述エントロピー(複数)の集合(複数)の統合を行い、モバイルソフトウェア(複数)の各々のペアの記述エントロピー(複数)の和集合を取得することであり;
モバイルソフトウェアAとモバイルソフトウェアBの記述エントロピー(複数)の集合は、次のとおりであり:
【数4】
ここで、H
dAは、モバイルソフトウェアAの記述エントロピー(複数)の集合であり、H
dBは、モバイルソフトウェアBの記述エントロピー(複数)の集合であり、mは、モバイルソフトウェアAの記述エントロピー値(複数)の個数であり、nは、モバイルソフトウェアBの記述エントロピー値(複数)の個数であり;
モバイルソフトウェアAとモバイルソフトウェアBの記述エントロピー値(複数)の個数(複数)の集合は、次のとおりであり:
【数5】
ここで、N
Aは、モバイルソフトウェアAのH
dAでの記述エントロピー値(複数)の対応する個数(複数)の集合であり、N
Bは、モバイルソフトウェアBのH
dBでの記述エントロピー値(複数)の対応する個数(複数)の集合であり;
モバイルソフトウェアペアの記述エントロピー(複数)の和集合は、次のとおりであり:
【数6】
ここで、Hd
A∪Bは、モバイルソフトウェアAとモバイルソフトウェアBの記述エントロピー(複数)の和集合であり、Y
Aは、和集合Hd
A∪Bでの、モバイルソフトウェアAの記述エントロピー値(複数)の対応する個数(複数)の集合であり、Y
Bは、和集合Hd
A∪Bでの、モバイルソフトウェアBの記述エントロピー値(複数)の対応する個数(複数)の集合であり、xは、和集合Hd
A∪BとHd
Aの差集合要素(複数)の個数であり、yは、和集合Hd
A∪BとHd
Bの差集合要素(複数)の個数であり、m + xとn + yは、和集合Hd
A∪Bでの要素(複数)の個数(複数)であり;
類似性スコア(複数)の計算を実行する;
集合Hd
A∪BとY
Aを、離散点(複数)D
Aの集合として、集合Hd
A∪BとY
Bを、離散点(複数)D
Bの別の集合として、採用し、それは、次のとおりであり:
【数7】
デカルト座標系における領域S
Aが、離散点(複数)D
Aの集合及びX軸によって特定され、デカルト座標系における領域S
Bが、離散点(複数)D
Bの集合及びX軸によって特定され; 次に、領域S
AとS
Bの交差領域S
A∩Bが計算され、更に、領域S
AとS
Bの和集合領域S
A∪Bが計算され;最後に類似性スコア(複数)を計算する;
セットにおける要素(複数)個数は、N個とされ、それは、次のとおりであり:
【数8】
ここで、
【数9】
ここで、
【数10】
ここで、
【数11】
ここで、(x
i、y
Ai)∈DA、(x
i、y
Bi)∈DB、(x
mid、y
mid)は、点(複数)(x
i、y
Ai)及び(x
i+1、y
Ai+1)によって定義された直線と点(複数)(x
i、y
Bi)及び(x
i+1、y
Bi+1)によって定義された直線との交差点の座標であり;
最後に類似性スコアを以下により取得する:
類似性スコア = S
A∩B/S
A∪B * 100。
【0012】
さらに、m + x = n + y。
【0013】
さらに、ステップS5では、具体的に、すべてのモバイルソフトウェア(複数)の類似性スコア(複数)を出力し、モバイルソフトウェア(複数)間の類似性(複数)を決定し、モバイルソフトウェアの類似性結果を取得する。
【発明の効果】
【0014】
従来の技術と比較して、本発明は、以下の利点及び有益な効果を有する:
本発明は、逆コンパイルによりモバイルソフトウェアソースコード(複数)を取得し、次に各ファンクションまたはクラスのソースコードを読み取ることにより対応するモバイルソフトウェアのファンクションの圧縮コードを取得する。各ファンクションの圧縮コードは、制御フローチャートに従って、対応するファンクションまたはクラスのステートメントを圧縮することで形成される文字列(character string)である。記述エントロピーは、ファンクションの圧縮コードに従ってインテリジェントに計算された浮動小数点数である。一つのファンクションまたはクラスは、一つのファンクションの圧縮コードと一つの記述エントロピーに対応する。したがって、一つのモバイルソフトウェアは、ファンクションの圧縮コード(複数)の集合と記述エントロピーの集合に対応し、これらの個数は、ファンクション(複数)またはクラス(複数)の総数によって異なる。記述エントロピーを一つのオブジェクトを表す情報の量として、モバイルソフトウェアの類似性の決定に使用され、ソフトウェア類似性のインテリジェント計算の速度を大幅に向上させる。
【図面の簡単な説明】
【0015】
【
図1】本発明による、ビッグデータモバイルソフトウェアの類似性についての記述エントロピーに基づくインテリジェントな決定方法のフローチャートである。
【
図2】本発明の実施態様における一対のモバイルソフトウェア(モバイルソフトウェアペアともいう)の記述エントロピー分布を説明する実際の統計である。
【
図3】本発明の実施態様における記述エントロピー分布に基づく一対のモバイルソフトウェア(モバイルソフトウェアペアともいう)の類似性領域計算の概略図である。
【発明を実施するための最良の形態】
【0016】
以下、実施例及び図面を参照して、本発明をさらに詳細に説明するが、本発明の実施態様は、これに限定されない。
【0017】
実施例
ビッグデータモバイルソフトウェア(複数)の類似性についての記述エントロピーに基づくインテリジェントな決定方法であって、
図1に示すように、下記のステップを含む:
ステップ1、モバイルソフトウェア(複数)の各々のパスを取得することであって、該パスに従って該モバイルソフトウェア(複数)は読み取られる;
【0018】
ステップ2、該モバイルソフトウェア(複数)の各々のファンクション(function)特性を取得するために、該モバイルソフトウェア(複数)の各々に予備的なリバースエンジニアリング・逆コンパイルを実行する;
前記予備的なリバースエンジニアリング・逆コンパイルは、具体的に以下をふくむ:
逆コンパイルツールAndroguardを使用して、モバイルソフトウェア(複数)の各々のソースコードを取得し、該ソースコードを通じてモバイルソフトウェア(複数)の各々のファンクションの圧縮コード(複数)を取得し、そして、該ファンクションの圧縮コードの各々から、ファンクションまたはクラスの情報の量、つまり記述エントロピーの、を表す浮動小数点数を計算し; そして、該モバイルソフトウェア(複数)のアファンクションの圧縮コード(複数)、記述エントロピー(複数)、ハッシュ値(複数)を対応するテキストファイルに保存する;
記述エントロピーは、次のように計算される:
【数12】
ここで、該ファンクションの圧縮コード(複数)の各々は、合計n個の部分文字列(複数)を有し、substr
iが該ファンクションの圧縮コードのi番目の部分文字列であり、p(substr
i)がi番目の部分文字列の出現確率である。
【0019】
さらに、前記ファンクションまたはクラスにおいて、一つのファンクションまたはクラスは、一つのモバイルソフトウェアのファンクションの圧縮コード、一つの記述エントロピー、と一つのハッシュ値に対応しており; 一つのモバイルソフトウェアは、対応するファンクションのハッシュ値の集合、ファンクションの圧縮コード(複数)の集合、記述エントロピー(複数)の集合、に対応する。
【0020】
ステップ3,該ファンクション特性(複数)の記述エントロピー(複数)によって、該モバイルソフトウェア(複数)の各々の記述エントロピーの分布を集約する、
具体的には、ステップ2のモバイルソフトウェア(複数)に対応するテキストファイル(複数)から、以下を抽出することをふくむ:
記述エントロピー(複数)の集合:
【数13】
及び、エントロピー(複数)の対応する数の集合:
【数14】
ここで、hd
1からhd
nは、該対応するモバイルソフトウェアの1番目からn番目の相互に等しくない記述エントロピー値(複数)であり、n
1からn
nは、1番目からn番目の相互に等しくない記述エントロピー値(複数)の対応する数(複数)である。
【0021】
ステップ4,該モバイルソフトウェア(複数)の該記述エントロピー(複数)を統合し、該統合された記述エントロピーの分布(複数)にもとづき、モバイルソフトウェアペア(複数)(pairs)の該記述エントロピー分布(複数)を比較し、そして、該モバイルソフトウェアペア(複数)の類似性スコア(複数)を計算する;
【0022】
具体的に、すべてのモバイルソフトウェア(複数)の記述エントロピー(複数)の集合(複数)を取得し、次に、ペア(複数)のすべてのモバイルソフトウェア(複数)の記述エントロピー(複数)の集合(複数)の統合を行い、該モバイルソフトウェア(複数)の各々のペアの記述エントロピー(複数)の和集合を取得する。
【0023】
この実施態様では、モバイルソフトウェアAとモバイルソフトウェアBを選んで比較する:
モバイルソフトウェアAとモバイルソフトウェアBの記述エントロピー(複数)の集合(複数)は、次のとおりである:
【数15】
ここで、Hd
Aは、モバイルソフトウェアAの記述エントロピー(複数)の集合であり、
Ah1から
Ahmは、1番目からm番目までの相互に等しくない記述エントロピー(複数)である; Hd
Bは、モバイルソフトウェアB の記述エントロピー(複数)の集合であり、
Bh1から
Bhnは、1番目からn番目までの相互に等しくない記述エントロピー(複数)である。mは、モバイルソフトウェアAの記述エントロピー(複数)の個数であり、nは、モバイルソフトウェアBの記述エントロピー(複数)の個数である;
【0024】
モバイルソフトウェアAとモバイルソフトウェアBの記述エントロピー値(複数)の個数(複数)の集合は、次のとおりである:
【数16】
ここで、N
Aは、モバイルソフトウェアAのHd
Aでの記述エントロピー値(複数)の応答する個数(複数)の集合であり、
An1から
Anmは、1番目からm番目までの記述エントロピー(複数)の個数であ; N
Bは、モバイルソフトウェアBのHd
Bでの記述エントロピー値(複数)の応答する個数(複数)の集合であり、
Bn1から
Bnnは、1番目からn番目までの記述エントロピー(複数)の個数である。
【0025】
モバイルソフトウェアAとモバイルソフトウェアBの記述エントロピー分布(複数)を統合する。
【数17】
ここで、Hd
A∪Bは、モバイルソフトウェアAとモバイルソフトウェアBの記述エントロピー(複数)の和集合であり、Y
Aは、和集合Hd
A∪Bでの、モバイルソフトウェアAの記述エントロピー値(複数)の応答する個数(複数)の集合であり、Y
Bは、和集合Hd
A∪Bでの、モバイルソフトウェアBの記述エントロピー値(複数)の応答する個数(複数)の集合であり; xは、和集合Hd
A∪BとHd
Aの差集合要素(複数)の個数であり、yは、和集合Hd
A∪BとHd
Bの差集合要素(複数)の個数であり、m + xとn + yは、和集合Hd
A∪Bでの要素(複数)の個数である。
図2は、モバイルソフトウェアペアの記述エントロピー分布(複数)の実際の統計である。横座標は、記述エントロピー値であり、縦座標は、該エントロピー値(複数)の個数である。
【0026】
類似スコアの計算を実行する;
集合(複数)Hd
A∪BとY
Aを、離散点(複数)D
Aの集合とし、集合(複数)Hd
A∪BとY
Bを、離散点(複数)D
Bの別の集合とし、それは次のとおりであり:
【数18】
デカルト座標系における領域S
Aが、X軸と離散点(複数)D
Aの集合によって規定され; デカルト座標系における領域S
Bが、X軸と離散点(複数)D
Bの集合によって規定され;
次に、領域S
AとS
Bの交差領域S
A∩Bが計算され、更に、領域S
AとS
Bの和集合領域S
A∪Bが計算され; 最後に、類似度スコアを計算する:
図3は、記述エントロピー分布に基づくモバイルソフトウェアペアの類似性領域計算の概略図である; 横座標は、記述エントロピー値であり、縦座標は、記述エントロピー値(複数)の個数である。
【0027】
該集合での、要素(複数)の個数は、N個を有し、それは、次のとおりであり:
【数19】
ここで、
【数20】
ここで、
【数21】
ここで、
【数22】
ここで、(x
i、y
Ai) ∈ DA、(x
i、y
Bi)∈ DB、及び(x
mid、y
mid)は、点(x
i、y
Ai)及び点(x
i+1、y
Ai+1)によって形成された直線と点(x
i、y
Bi)及び点(x
i+1、y
Bi+1)によって形成された直線との交差点の座標であり;
最後に類似性スコアを取得する。
類似性スコア=S
A∩B/S
A∪B*100。
【0028】
ステップ5,モバイルソフトウェア(複数)の類似性の結果を取得するために、モバイルソフトウェア(複数)の類似性スコアを出力する。すべてのモバイルソフトウェアのペアワイズ比較の類似性スコアを出力し(“すべてのモバイルソフトウェアペアの類似性スコア(複数)を出力し”、ともいう)、時間を計算して、テキストファイルに記録する。
【0029】
上記の実施態様は、本発明の好ましい実施態様であり、しかしながら、本発明の実施は、上記の実施態様に限定されるものではなく、本発明の精神および原理から逸脱することなく行われる他の変更、修正、置換、組み合わせ、および簡略化は、同等の置換方法と見なされて、本発明の保護範囲に含まれる。
【国際調査報告】