論文の概要、ライセンス

# (参考訳) モノリスアプリケーションをリファクタリングするためのグラフニューラルネットワーク [全文訳有]

Graph Neural Network to Dilute Outliers for Refactoring Monolith Application ( http://arxiv.org/abs/2102.03827v1 )

ライセンス: CC BY 4.0
Utkarsh Desai, Sambaran Bandyopadhyay, Srikanth Tamilselvam(参考訳) マイクロサービスはソフトウェアアーキテクチャのデファクトな設計選択になりつつある。 開発が独立して行えるように、ソフトウェアコンポーネントをより細かいモジュールに分割すること。 また、要求に応じてリソースを動的に必要なコンポーネントに割り当てることができるので、クラウドにデプロイする際の自然なメリットも提供する。 したがって、企業はクラウドへの移行の一環として、モノリスアプリケーションを1つまたは複数の候補マイクロサービスにリファクタリングしようとしています。各サービスには共通の機能を担うソフトウェアエンティティ(クラスなど)のグループが含まれています。 グラフはソフトウェアシステムを表現するための自然な選択です。 各ソフトウェアエンティティはノードとして表現でき、他のエンティティとの依存関係はリンクとして表現できる。 したがって、このリファクタリングの問題はグラフベースのクラスタリングタスクと見なすことができる。 本研究では,ソフトウェアをよりよく理解し,クラスタリングタスクに適用するために,コードコンテキストにおけるグラフニューラルネットワークの最近の進歩を適応するための新しい手法を提案する。 このプロセスでは、ソフトウェア内の最上位のリファクタリング候補に直接マッピング可能なグラフの外れ値も特定します。 我々のソリューションは、ソフトウェア工学と既存のグラフ表現に基づく技術の両方の成果と比較して、最先端のパフォーマンスを向上させることができる。

Microservices are becoming the defacto design choice for software architecture. It involves partitioning the software components into finer modules such that the development can happen independently. It also provides natural benefits when deployed on the cloud since resources can be allocated dynamically to necessary components based on demand. Therefore, enterprises as part of their journey to cloud, are increasingly looking to refactor their monolith application into one or more candidate microservices; wherein each service contains a group of software entities (e.g., classes) that are responsible for a common functionality. Graphs are a natural choice to represent a software system. Each software entity can be represented as nodes and its dependencies with other entities as links. Therefore, this problem of refactoring can be viewed as a graph based clustering task. In this work, we propose a novel method to adapt the recent advancements in graph neural networks in the context of code to better understand the software and apply them in the clustering task. In that process, we also identify the outliers in the graph which can be directly mapped to top refactor candidates in the software. Our solution is able to improve state-of-the-art performance compared to works from both software engineering and existing graph representation based techniques.
公開日: Sun, 7 Feb 2021 16:00:27 GMT

※ 翻訳結果を表に示しています。PDFがオリジナルの論文です。翻訳結果のライセンスはCC BY-SA 4.0です。詳細はトップページをご参照ください。

翻訳結果

    Page: /      
英語(論文から抽出)日本語訳スコア
Graph Neural Network to Dilute Outliers for Refactoring Monolith Application モノリスアプリケーションをリファクタリングするためのグラフニューラルネットワーク 0.70
Utkarsh Desai, Sambaran Bandyopadhyay, Srikanth Tamilselvam Utkarsh Desai, Sambaran Bandyopadhyay, Srikanth Tamilselvam 0.85
udesai26@in.ibm.com, samb.bandyo@gmail.co m, srikanth.tamilselvam @in.ibm.com udesai26@in.ibm.com, samb.bandyo@gmail.co m, srikanth.tamilselvam @in.ibm.com 0.52
IBM Research 1 2 0 2 IBMの研究 1 2 0 2 0.85
b e F 7 ] E S . b e F 7 ] E S。 0.78
s c [ 1 v 7 2 8 3 0 sc [ 1 v 7 2 8 3 0 0.68
. 2 0 1 2 : v i X r a . 2 0 1 2 : v i X r a 0.85
Abstract Microservices are becoming the defacto design choice for software architecture. 概要 マイクロサービスはソフトウェアアーキテクチャのデファクトな設計選択になりつつある。 0.59
It involves partitioning the software components into finer modules such that the development can happen independently. 開発が独立して行えるように、ソフトウェアコンポーネントをより細かいモジュールに分割すること。 0.76
It also provides natural benefits when deployed on the cloud since resources can be allocated dynamically to necessary components based on demand. また、要求に応じてリソースを動的に必要なコンポーネントに割り当てることができるので、クラウドにデプロイする際の自然なメリットも提供する。
訳抜け防止モード: 自然の利益も得られます クラウド上にデプロイする リソースは需要に応じて動的に必要なコンポーネントに割り当てることができる。
0.80
Therefore, enterprises as part of their journey to cloud, are increasingly looking to refactor their monolith application into one or more candidate microservices; wherein each service contains a group of software entities (e.g., classes) that are responsible for a common functionality. したがって、企業はクラウドへの移行の一環として、モノリスアプリケーションを1つまたは複数の候補マイクロサービスにリファクタリングしようとしています。各サービスには共通の機能を担うソフトウェアエンティティ(クラスなど)のグループが含まれています。
訳抜け防止モード: それゆえ クラウドへの旅の一部として 企業はますます モノリスアプリケーションを1つ以上の候補マイクロサービスにリファクタリングする それぞれのサービスには、共通の機能に責任を持つソフトウェアエンティティのグループ(クラスなど)が含まれています。
0.84
Graphs are a natural choice to represent a software system. グラフはソフトウェアシステムを表現するための自然な選択です。 0.82
Each software entity can be represented as nodes and its dependencies with other entities as links. 各ソフトウェアエンティティはノードとして表現でき、他のエンティティとの依存関係はリンクとして表現できる。 0.61
Therefore, this problem of refactoring can be viewed as a graph based clustering task. したがって、このリファクタリングの問題はグラフベースのクラスタリングタスクと見なすことができる。 0.69
In this work, we propose a novel method to adapt the recent advancements in graph neural networks in the context of code to better understand the software and apply them in the clustering task. 本研究では,ソフトウェアをよりよく理解し,クラスタリングタスクに適用するために,コードコンテキストにおけるグラフニューラルネットワークの最近の進歩を適応するための新しい手法を提案する。 0.89
In that process, we also identify the outliers in the graph which can be directly mapped to top refactor candidates in the software. このプロセスでは、ソフトウェア内の最上位のリファクタリング候補に直接マッピング可能なグラフの外れ値も特定します。 0.68
Our solution is able to improve state-of-the-art performance compared to works from both software engineering and existing graph representation based techniques. 我々のソリューションは、ソフトウェア工学と既存のグラフ表現に基づく技術の両方の成果と比較して、最先端のパフォーマンスを向上させることができる。 0.59
1 Introduction Microservices is an architectural style that structures an application as a set of smaller services (Lewis and Fowler 2014). 1 はじめに マイクロサービスは、アプリケーションを小さなサービスの集合として構成するアーキテクチャスタイルである(lewisとfowler 2014)。 0.72
These services are built around business functionalities and follow “Single Responsibility Principle”1. これらのサービスはビジネス機能を中心に構築され、“Single Responsibility Principle”1に従う。 0.75
This allows the team to develop business functionalities independently. これにより、チームは独立してビジネス機能を開発することができる。 0.54
Also, they naturally benefit from cloud deployment due to the support for differential and dynamic addition of resources like CPU, memory, disk space to specific services based on the demand. また、要求に基づいて特定のサービスにCPU、メモリ、ディスクスペースなどのリソースの差分および動的追加をサポートするため、クラウド展開の恩恵を受けることも当然です。 0.79
However, there are lot of existing monolith applications currently in use that cannot fully tap these benefits due to their architecture style. しかし、現在使用されている既存のモノリスアプリケーションの多くは、アーキテクチャスタイルのためにこれらの利点を完全に活用できない。 0.70
Monoliths package all the business functionalities into a single deployable unit making them unsuitable to fully leverage cloud benefits. モノリスは、すべてのビジネス機能を単一のデプロイ可能なユニットにパッケージ化します。 0.53
Therefore, there is a surge in enterprises wanting to refactor their monolith applications into microservices. そのため、モノリスアプリケーションをマイクロサービスにリファクタリングしたい企業が増えています。 0.70
This Copyright © 2021, Association for the Advancement of Artificial Intelligence (www.aaai.org). これ 著作権 2021, association for the advancement of artificial intelligence (www.aaai.org) 0.81
All rights reserved. 1https://www.infoq.c om/articles/microser vices-intro 全権利保有。 1https://www.infoq.c om/articles/microser vices-intro 0.48
is done by mapping business functions onto the code structure and identifying the functional boundary in such a way that there are less dependencies across the services (Jin et al. ビジネス関数をコード構造にマッピングし、サービス全体(Jin et al.jsなど)の依存関係が少ないように機能境界を特定することによって行われます。 0.77
2019). In typical monoliths, there are classes (or programs) loaded with overlapping functionalities (Kalske et al. 2019). 典型的なモノリスでは、重複する機能(Kalske et al)を備えたクラス(またはプログラム)がある。 0.75
2018). This can be identified by their dependencies with cross functional classes. 2018). これは依存関係によってクロスファンクショナルクラスと同一視できる。 0.71
We refer to such classes as outliers or refactorable candidates. このようなクラスをoutlierやrefactorable candidateと呼びます。 0.61
They typically require top attention from the developers for modification during refactoring to make the microservices independent and deployable. 典型的には、マイクロサービスを独立してデプロイ可能にするために、リファクタリング中に修正する必要がある。 0.49
But identifying functional boundaries on the existing code is a hard task (Gouigoux and Tamzalit 2017) and the effort gets multiplied when done without the help of original developers, which is typically the case with legacy applications. しかし、既存のコードで機能的な境界を特定するのは難しい作業です(GouigouxとTamzalit 2017)。
訳抜け防止モード: しかし、既存のコードで機能的な境界を特定するのは難しい作業です(GouigouxとTamzalit 2017)。 元の開発者の助けがなくても 努力は倍増します これは通常、レガシーアプリケーションの場合です。
0.76
In the software engineering community, the problem is often referred as software decomposition and several approaches (Fritzsch et al. ソフトウェアエンジニアリングコミュニティでは、ソフトウェア分解やいくつかのアプローチ(Fritzsch et al)と呼ばれることが多い。 0.79
2018) have been proposed. 2018年)が提案されている。 0.42
The approaches range from process mining, genetic algorithms to graph based clustering. アプローチはプロセスマイニング、遺伝的アルゴリズム、グラフベースのクラスタリングまで幅広い。 0.70
Graphs are a natural way to represent application implementation structure. グラフはアプリケーション実装構造を表現する自然な方法です。 0.84
The classes in the application can be considered as nodes and its interaction with the other classes can be considered as edges. アプリケーションのクラスはノードと見なすことができ、他のクラスとの相互作用はエッジと見なすことができる。 0.79
Further, the nodes can carry multiple features based on their type and their invocation pattern. さらに、ノードはタイプと呼び出しパターンに基づいて複数の機能を運ぶことができる。 0.78
Figure 1 demonstrates the translation of an application into a graph. 図1は、アプリケーションのグラフへの変換を示しています。 0.74
Therefore, the application refactoring problem can be viewed as a graph based clustering task. したがって、アプリケーションのリファクタリング問題は、グラフベースのクラスタリングタスクと見なすことができる。 0.67
In the past, many clustering techniques have been applied on code (Shtern and Tzerpos 2012), but they often consider only the structural features of the application i.e the dependency of classes. これまで、多くのクラスタリング技術がコードに適用されてきた(shternとtzerpos 2012)が、それらはしばしばアプリケーションの構造的特徴、すなわちクラスの依存性のみを考慮する。 0.78
Also, none of these approaches have looked into attributed graph networks or attempted to minimize the effect of outlier nodes during clustering. また、これらのアプローチのどれも、属性付きグラフネットワークを調べたり、クラスタリング中の外れ値ノードの効果を最小化しようとしたことはない。 0.57
Graph based mining tasks have received significant attention in recent years due to development of graph representation learning that maps the nodes of a graph to a vector space (Perozzi, Al-Rfou, and Skiena 2014; Hamilton, Ying, and Leskovec 2017). グラフベースのマイニングタスクは近年、グラフのノードをベクトル空間にマッピングするグラフ表現学習(Perozzi, Al-Rfou, and Skiena 2014; Hamilton, Ying, Leskovec 2017)の開発によって大きな注目を集めている。 0.81
They have also been applied to a diverse set of applications such as social networks (Kipf and Welling 2017), drug discovery (Gilmer et al. これらはまた、ソーシャルネットワーク(kipf and welling 2017)、薬物発見(gilmer et al)など、さまざまなアプリケーションにも適用されている。 0.82
2017), transportation and traffic networks (Guo et al. 2017年)、交通機関および交通ネットワーク(Guoら。 0.67
2019), etc. In this work, we propose a novel graph neural network based solution to refactor monolith applications into a desired number of microservices. 2019年)など。 本研究では、モノリスアプリケーションを望ましい数のマイクロサービスにリファクタリングする新しいグラフニューラルネットワークベースのソリューションを提案する。 0.74
The main contributions of our paper are listed below. 論文の主な寄稿は以下の通りです。 0.64
英語(論文から抽出)日本語訳スコア
1. We propose a novel way to translate the application implementation structure to an attributed graph structure through static program analysis. 1. 静的プログラム解析により,アプリケーション実装構造を属性付きグラフ構造に変換する新しい手法を提案する。 0.81
2. We introduce two types of outliers that reflect the top 2. 上部を反射する2種類の異常値を導入し 0.76
refactoring program candidates. プログラム候補のリファクタリング 0.71
3. We propose a novel graph neural network (GNN), referred as CO-GCN2 (Clustering and Outlier aware Graph Convolution Network), which unifies node representation, outlier node detection & dilution and node clustering into the same framework for refactoring monolith applications. 3. 本稿では,ノード表現,外部ノード検出と希釈,ノードクラスタリングを同一のフレームワークに統合し,モノリスアプリケーションのリファクタリングを行う新しいグラフニューラルネットワーク(GNN)を提案する。
訳抜け防止モード: 3. CO-GCN2(Clustering and Outlier aware Graph Convolution Network )と呼ばれる新しいグラフニューラルネットワーク(GNN )を提案する。 ノードの表現、外部ノードの検出と希釈、ノードのクラスタリングを統一して、モノリスアプリケーションのリファクタリングと同じフレームワークに統合する。
0.83
4. We improve the state-of-the-art performance with respect to both software engineering and graph representation based techniques to refactor four publicly available monolith applications. 4. 4つの公開モノリスアプリケーションをリファクタリングするために、ソフトウェアエンジニアリングとグラフ表現ベースの技術の両方に関して最先端のパフォーマンスを改善します。 0.75
We attach the source code in the supplementary material for reproducibility of the results. 結果の再現性のために,ソースコードを補足資料に添付する。 0.68
2 Related Work Fritzsc et al. 2 関連作業 Fritzscなど。 0.68
(Fritzsch et al. (Fritzsch et al)。 0.93
2018) presented a survey on ten different approaches towards refactoring a monolith application into microservices. 2018)はモノリスアプリケーションをマイクロサービスにリファクタリングするための10の異なるアプローチに関する調査を発表した。 0.54
Of these, only four works were applied directly on application code and the rest used other application artefacts such as logs, commit histories, UML diagrams etc. これらのうち、アプリケーションコードに直接適用されるのは4つだけで、残りはログ、コミット履歴、UML図などの他のアプリケーションアーチファクトを使用しました。 0.67
However, all of these works have drawbacks since they either (1) focus on only structural features; or (2) propose partitions focusing more on technical layers which is not desirable (Taibi and Lenarduzzi 2018); or (3) partition only a subset of program files like EJBs in java. しかし、これらの作品の欠点は、(1)構造的特徴のみに焦点を当てているか、(2)望ましくない技術層に焦点を当てた分割を提案するか(taibiとlenarduzzi 2018)、(3)javaのejbのようなプログラムファイルのサブセットのみを分割することである。 0.69
(Mazlami, Cito, and Leitner 2017) proposed a graph based clustering approach with a focus on version history. (Mazlami、Cito、Leitner 2017)は、バージョン履歴に焦点を当てたグラフベースのクラスタリングアプローチを提案した。 0.79
(Jin et al. (Jin et al.) 0.94
2019) proposed hierarchical clustering of program files, but requires access to the runtime behavior of application which is practically difficult. 2019) プログラムファイルの階層的クラスタリングを提案するが、実際に難しいアプリケーションの実行時の動作にアクセスする必要がある。 0.72
Moreover, these approaches do not exploit the power of representation learning and graph neural networks. さらに、これらのアプローチは表現学習とグラフニューラルネットワークのパワーを活用しない。 0.77
Also, they do not recommend refactorable classes. また、リファクタリング可能なクラスを推奨しない。 0.62
Graph representation learning (Hamilton, Ying, and Leskovec 2017) shows promising results on multiple downstream graph mining tasks. グラフ表現学習(hamilton、ying、leskovec 2017)は、複数のダウンストリームグラフマイニングタスクで有望な結果を示している。 0.76
Graph neural networks (Wu et al. グラフニューラルネットワーク (wu et al.)。 0.78
2020) apply neural network directly on a graph structure. 2020) ニューラルネットワークをグラフ構造に直接適用します。 0.86
In Graph convolution networks introduced by (Kipf and Welling 2017), a localized first-order approximation of spectral graph convolutions is proposed and experimented for semi-supervised node classification. グラフ畳み込みネットワーク (kipf and welling 2017) において, スペクトルグラフ畳み込みの局所化一階近似を提案し, 半教師付きノード分類について実験を行った。 0.76
An unsupervised variation GCN autoencoder is proposed in (Kipf and Welling 2016). 教師なし変分GCNオートエンコーダが提案されている(Kipf and Welling 2016)。 0.63
GNNs are also proposed for supervised (Chen, Li, and Bruna 2019) and unsupervised community detection (Zhang et al. GNNは、監督(Chen、Li、Bruna 2019)と監督されていないコミュニティ検出(Zhang et al。
訳抜け防止モード: GNNも監視対象として提案されている(Chen, Li,)。 および、教師なしコミュニティ検出(Zhang et al )。
0.66
2019) in graphs. 2019年)のグラフ。 0.84
Recently, a self-supervised learning based GNN, Deep Graph Infomax (DGI) (Veliˇckovi´c et al. 最近、自己監督学習ベースのGNN、Deep Graph Infomax(DGI)(Veliéckovi ́c et al。 0.79
2019) is proposed for obtaining node representation by using the principle of information maximization. 情報最大化の原理を用いてノード表現を得るための提案を行う。 0.73
Outlier nodes are present in any realworld graph. 異常ノードは任意の実世界のグラフに存在する。 0.59
Outliers are shown to have adverse effect on the embeddings of regular nodes in a graph (Liang et al. 外れ値がグラフ内の正則ノードの埋め込みに悪影響を及ぼすことが示されている(liang et al.)。 0.69
2018). Unsupervised algorithms to minimize the effect of outliers in the framework of graph representation learning are proposed recently (Bandyopadhyay, Lokesh, and Murty 2018). グラフ表現学習の枠組みにおける外れ値の影響を最小化する教師なしアルゴリズムが最近提案されている(Bandyopadhyay, Lokesh, Murty)。 0.78
Figure 1: Representation of a sample Java application as graph: The method order() from class A invokes the method set() from class B, establishing a direct relation between the two classes. 図1: サンプルJavaアプリケーションのグラフ表現: クラスAからのメソッドorder()はクラスBからメソッドset()を呼び出し、2つのクラス間の直接的な関係を確立します。 0.82
If we represent classes A and B as nodes in a graph, we can define a directed edge, e(A, B) from A to B. グラフのノードとしてクラス A と B を表現すれば、A から B への有向エッジ e(A, B) を定義できる。
訳抜け防止モード: クラス A と B をグラフのノードとして表現するなら、 A から B への有向エッジ , e(A , B ) を定義することができる。
0.88
2019; Bandyopadhyay et al. 2019年 - bandyopadhyay et al。 0.83
2020; Bandyopadhyay, Vivek, and Murty 2020). 2020年、Bandyopadhyay、Vivek、Murty 2020)。 0.70
However, minimizing the effect of outliers in the framework of GNN has not been addressed in the literature. しかし、GNNの枠組みにおける外れ値の影響を最小限に抑えることは、文献では対処されていない。
訳抜け防止モード: しかし、GNNの枠組みにおける外れ値の影響を最小限に抑える 文学では 触れられていない。
0.67
3 Methodology Given a monolith application, we want to partition the monolith into K clusters of classes, with K provided by a subject matter expert (SME), where each cluster is a group of classes that perform a well-defined functionality. 3 方法論 モノリスアプリケーションを考えると、モノリスをKクラスタのクラスに分割し、各クラスタが明確に定義された機能を実行するクラスのグループである、サブジェクタエキスパート(SME)によってKを提供したいのです。 0.79
The clusters should exhibit high cohesion, i.e., have strong interaction within the cluster and low coupling i.e., less interaction between clusters. クラスタは高い凝集度、すなわちクラスタ内での強い相互作用、すなわちクラスタ間の相互作用の減少を示すべきである。 0.80
We also want to identify the following outlier classes from a monolith application (Bandyopadhyay, Lokesh, and Murty 2019) to be handled by an SME. また、中小企業が処理するモノリスアプリケーション(Bandyopadhyay、Lokesh、Murty 2019)から、以下の異常クラスを特定したいと考えています。 0.57
• Structural Outlier: A class which has high interaction •構造外部性:高い相互作用を持つクラス 0.76
with classes from different clusters. 異なるクラスタのクラスを持つ。 0.82
• Attribute Outlier: A class which has attributes, such as • Attribute Outlier: 属性を持つクラス。 0.58
usage patterns, similar to attributes from other clusters. 他のクラスタの属性に類似した使用パターン。 0.84
3.1 Converting Applications to Graph We now describe our approach to represent an application as a graph, given it’s source code. 3.1 アプリケーションをグラフに変換する ソースコードを考えると、アプリケーションをグラフとして表現する私たちのアプローチを説明します。 0.82
Consider a simple Java application comprising of multiple classes as shown in Figure 1. 図1に示すように、複数のクラスからなる単純なjavaアプリケーションを考える。 0.81
Each class in the application can be represented as a node in a graph. アプリケーションの各クラスは、グラフ内のノードとして表現できます。 0.81
We denote the set of such nodes as V . そのようなノードの集合を V と表す。 0.66
We establish a directed edge from node A to node B if there is method in the class A that calls a method from class B. クラスBからメソッドを呼び出すクラスAにメソッドがある場合、ノードAからノードBへの方向エッジを確立する。 0.70
We perform static analysis3 of the application code to identify all such method calls between classes and obtain a set of edges, E between the corresponding nodes. 我々はアプリケーションコードの静的解析を行い、クラス間の全てのメソッド呼び出しを識別し、対応するノード間のエッジのセット、Eを得る。 0.69
The edges are unweighted and multiple method calls from class A to class B are still represented by a single edge from A to B. エッジは非重み付けであり、クラスAからクラスBへの複数のメソッド呼び出しは、AからBまでの単一のエッジで表現される。 0.74
We now describe the process to generate the attribute matrix, X, coressponding to the nodes V of the graph. ここでは、グラフのノードVに対応する属性マトリックス、X、コアを生成するプロセスを説明します。 0.80
Most modern web applications expose multiple APIs that perform various functions. ほとんどのモダンなWebアプリケーションは、さまざまな機能を実行する複数のAPIを公開する。 0.59
These APIs (UI elements in the case of これらのAPI(UI要素の場合)。 0.84
2Code available at: https://github.com/u tkd/cogcn 2Code: https://github.com/u tkd/cogcn 0.58
3https://github.com/ soot-oss/soot 3https://github.com/ soot-oss/soot 0.31
英語(論文から抽出)日本語訳スコア
a non web-based application) are referred to as EntryPoint Specifications (Dietrich, Gauthier, and Krishnan 2018), or simply, Entrypoints. 非Webベースのアプリケーション)は、EntryPoint Specifications(Dietr ich、Gauthier、Krishnan 2018)または単にEntrypointsと呼ばれる。 0.72
The methods invoked through these APIs are specially annotated as such and are called entrypoint methods in this work. これらのAPIを通じて呼び出されるメソッドは、特にアノテートされ、この作業ではエントリポイントメソッドと呼ばれます。 0.66
Figure 1 shows an example of such entrypoint methods annotated with @API. 図1は、@APIでアノテートされたエントリポイントメソッドの例です。 0.58
We refer to the classes containing such entrypoint methods as entrypoint classes. このようなエントリポイントメソッドを含むクラスをエントリポイントクラスと呼ぶ。 0.67
Each entrypoint class can thus be associated with multiple Entrypoints. 各エントリポイントクラスは、複数のエントリポイントに関連付けることができます。 0.53
Starting from an entrypoint method, we can follow the call sequence of methods through the application, keeping track of all classes invoked during the execution trace of that Entrypoint. エントリポイントメソッドから始めて、そのエントリポイントの実行トレース中に呼び出されたすべてのクラスを追跡し、アプリケーションを通してメソッドの呼び出しシーケンスを追跡することができる。 0.79
If P is the set of Entrypoints in an application, we can define a matrix EP |V |×|P|, such that EP (i, p) = 1 if class i is present in the execution trace of entrypoint p, else 0. p がアプリケーション内のエントリポイントの集合であれば、行列 ep |v |×|p| を定義することができ、もしクラス i がエントリポイント p の実行トレースに存在するならば、ep (i, p) = 1 となる。 0.74
Additionally, we define C|V |×|V | such that C(i, j) is the number of Entrypoint execution traces that contain both classes i and j. さらに、C|V |×|V | を C(i, j) がクラス i と j の両方を含むエントリポイント実行トレースの数であるように定義する。 0.78
If a class is not invoked in an execution trace for any Entrypoint, we remove the corresponding node from the graph. エントリポイントの実行トレースでクラスが呼び出されていない場合は、対応するノードをグラフから削除します。 0.74
Finally, classes may also inherit from other classes or Interfaces. 最後に、クラスは他のクラスやインターフェースから継承することもできる。 0.73
In Figure 1, class A inherits from class Base. 図1では、クラスAはクラスベースから継承します。 0.73
Although this establishes a dependency between the classes, it does not involve direct method invocation. これはクラス間の依存性を確立するが、直接メソッド呼び出しは含まない。 0.74
Hence, we do not include this dependency as an edge in the graph, but as a node attribute. したがって、この依存関係はグラフのエッジとしてではなく、ノード属性として含まれます。 0.73
Therefore, we set In(i, j) = In(j, i) = 1 if classes i and j are related via an inheritance relationship and 0 otherwise. したがって、(i, j) = in(j, i) = 1 とすると、クラス i と j が継承関係を通じて関連し、そうでない場合は 0 となる。 0.81
The attribute matrix X is the concatenation of EP , C and In matrices. 属性行列 X は EP , C および In 行列の連結である。 0.68
Thus, X ∈ R|V |×F where F = |P| + 2|V |. したがって、X ∈ R|V |×F は F = |P| + 2|V | である。 0.65
Each constituent of X is row-normalized individually. X の各成分は個別に行正規化される。 0.59
The application can thus be represented as a graph G = (V, E, X). したがって、アプリケーションはグラフ G = (V, E, X) として表すことができる。 0.85
3.2 Proposed Graph Neural Network Given the graph G, we want to develop a graph neural network which can jointly (i) derive vector representations (embeddings) of the nodes, (ii) minimize the effect of outlier nodes in the embeddings of other regular nodes, (iii) obtain communities in the graph. 3.2 グラフgを与えられたグラフニューラルネットワークは、(i)ノードのベクトル表現(埋め込み)を共同で導出できるグラフニューラルネットワークを開発し、(ii)他の正規ノードの埋め込みにおける異常ノードの影響を最小限に抑え、(iii)グラフ内のコミュニティを得る。 0.86
Let us use A ∈ R|V |×|V | to denote the adjacency matrix of G, where Aij is the weight of the edge eij if it exists, otherwise Aij = 0. ここで Aij が辺 eij の重みであり、そうでなければ Aij = 0 であるような G の隣接行列を表すために A ∈ R|V |×|V | を用いる。 0.78
We use a 2layered graph convolution encoder (Kipf and Welling 2017) to obtain representation of each node as shown below: 2層グラフ畳み込みエンコーダ(kipfとwelling 2017)を使用して、以下に示すように各ノードの表現を得る。 0.81
Z = f (X, A) = ReLU( ˆA ReLU( ˆAXW (0)) W (1)) Z = f (X, A) = ReLU( ・A ReLU( ・AXW (0)) W (1)) 0.91
(1) onal matrix ˜Dii with ˜Dii = (cid:80) (1) dii = (cid:80) を持つonal matrix sdii 0.83
where each row of Z ∈ R|V |×F (cid:48) contains the corresponding node representation. Z ∈ R|V |×F (cid:48) の各行は対応するノード表現を含む。 0.74
We compute ˜A = A + I, where I ∈ R|V |×|V | is the identity matrix and the degree diag˜Aij, ∀i ∈ V . ここで、I ∈ R|V |×|V | は恒等行列であり、次数は >Aij, >i ∈ V である。 0.73
We set ˆA = ˜D− 1 2 . A = 「D − 1 2 」をセットする。 0.57
W (0) and W (1) are the trainable parameter matrices of GCN encoder. W (0) と W (1) はGCNエンコーダのトレーニング可能なパラメータ行列である。 0.78
Traditionally, these parameters are trained on a node classification or link prediction loss (Kipf and Welling 2016) in a graph. 伝統的に、これらのパラメータはグラフのノード分類またはリンク予測損失(kipf and welling 2016)に基づいて訓練される。 0.82
2 ˜A ˜D− 1 j∈V 2 A・D・1 j∈V 0.62
However, our objective in the work is to consider and minimize the effect of outlier nodes in the framework of graph convolution. しかし,本研究の目的は,グラフ畳み込みの枠組みにおける異常ノードの効果を考慮し,最小化することである。 0.66
We also want to do this in an unsupervised way as obtaining ground truth class labels and outlier information are extremely difficult for monolith applications. モノリスアプリケーションでは、基底真理クラスラベルと外れ値情報を取得することが極めて難しいため、教師なしの方法でこれを行おうとしています。 0.55
Towards this, we use the following GCN based decoder to map the F (cid:48) dimensional node embeddings to the input feature space. へ向けて ここでは、以下のGCNベースのデコーダを用いて、F(cid:48)次元ノードの埋め込みを入力特徴空間にマッピングする。 0.60
ˆX = f (Z, A) = ReLU( ˆA ReLU( ˆAZW (2)) W (3)) (2) Here, ˆX ∈ RF , W (2) and W (3) are the trainable parameters of the decoder. X = f (Z, A) = ReLU( ・A ReLU( ・AZW (2)) W (3)) (2) ここで ・X ∈ RF , W (2) および W (3) はデコーダの訓練可能なパラメータである。 0.84
Let us use W = {W (0),··· , W (3)} to denote the parameters of the encoder and decoder combined. W = {W (0),···· , W (3)} を使用して、エンコーダとデコーダの組み合わせのパラメータを示します。 0.68
In the ideal world scenario when there is no outlier node present in a graph, one can train the parameters of the GCN autoencoder by directly minimizing some reconstruction loss. グラフに異常ノードが存在しない理想的な世界シナリオでは、再構成損失を最小化することでGCNオートエンコーダのパラメータを訓練することができます。 0.81
But as mentioned in Section 1, the presence of outliers in monolith applications is prevalent and if not handled properly, they can adversely affect the embeddings of regular regular nodes in a graph (Bandyopadhyay et al. しかし、第1節で述べたように、モノリスアプリケーションにおける外れ値の存在は一般的であり、適切に扱わなければ、グラフ内の正規ノードの埋め込み(Bandyopadhyay et al)に悪影響を及ぼす可能性がある。 0.64
2020). To address them, we use the framework of multi-task learning where we design two loss components to detect structural and attribute outliers respectively. 2020). そこで我々はマルチタスク学習の枠組みを用いて2つの損失成分を設計し,それぞれが構造的および属性的外れ値を検出する。 0.82
We denote structural and attribute outlierness (positive scalars) by Osi and Oai respectively, for each node i ∈ V . 我々は各ノード i ∈ v に対して osi と oai によってそれぞれ構造的および属性的外れ性(正のスカラー)を示す。 0.71
First, we ensure that presence of an edge should be preserved by the similarity of the two corresponding node embeddings in the vector space for the regular nodes. まず、正則ノードのベクトル空間に埋め込まれた2つの対応するノードの類似性によって、エッジの存在が保存されることを保証する。 0.72
However, structural outliers being inconsistent in their link structure, do not necessarily follow this assumption. しかし、構造的外れ値はそのリンク構造に矛盾しており、必ずしもこの仮定に従うとは限らない。 0.61
Hence, we design the following loss component which needs to be minimized with respect to the parameters of GCN and structural outlierness of the nodes: したがって、GCNのパラメータとノードの構造的外向性に関して最小化する必要がある以下の損失コンポーネントを設計します。 0.84
Lstr = log (cid:88) Lstr = ログ (cid:88) 0.78
i∈V (cid:16) 1 i∈V (cid:16)1 0.69
Osi (cid:17)||Ai: − ZZ T オシ (cid:17)||Ai: − ZZ T 0.75
i: ||2 2 (3) i: ||2 2 (3) 0.83
Osi (cid:17) オシ (cid:17) 0.73
Here, Ai: is the ith row of the adjacency matrix and Zi: is the ith row (embedding of node i) of the node representation matrix. ここで、Ai: は隣接行列のイット行であり、Zi: はノード表現行列のイット行(ノード i の埋め込み)である。 0.63
Clearly, higher the value of Osi, i.e., higher the outlierness of node i, less will be the value of log . 明らかに、Osiの値が高くなります。つまり、ノードiの外れ値が高くなるほど、log の値が少なくなります。 0.68
Consequently, contribution of the structural outlier nodes in this loss component will be less. 従って、この損失成分における構造外層ノードの寄与は減少する。 0.76
We also assume that total structural outlierness in a graph is bounded. また、グラフの総構造外向性は有界であると仮定する。 0.73
So we set Osi = 1. そこで Osi = 1 をセットします。 0.68
Without such a bound, the optimization in i∈V Equation 3 would reach to a degenerate solution with each Osi assigned to +∞ at the infimum. このような境界がなければ、i∈V Equation 3 の最適化は、無限に +∞ に割り当てられた各 Osi の退化解に達する。 0.74
We also tried replacing 1 with a hyperparameter µ as the bound, but that does not have much impact on the quality of the final solution. また, 1 を超パラメータ μ を境界として置き換える試みも行ったが,最終解の質にはあまり影響しない。 0.70
(cid:16) 1 (cid:80) (cid:16)1 (cid:80) 0.79
Next, to preserve the impact of node attributes in the node representations, we want the reconstructed attributes in Equation 2 from the GCN decoder to match the initial node attributes for most of the regular nodes in the graph. 次に、ノード表現におけるノード属性の影響を保存するために、GCNデコーダからEquation 2の再構築された属性を、グラフ内のほとんどの通常のノードの初期ノード属性と一致させたい。 0.81
However for attribute outliers, as their node attributes are significantly different from the attributes of their respective neighboring nodes, we reduce their contribution in the attribute reconstruction loss as follows: しかし、属性アウトプライヤでは、それぞれのノード属性が隣接するノードの属性と大きく異なるため、属性復元損失への寄与は次のように減少します。 0.77
Latt = log (cid:88) Latt = ログ (cid:88) 0.78
i∈V (cid:16) 1 i∈V (cid:16)1 0.69
Oai (cid:17)||Xi: − ˆXi:||2 大合 (cid:17)||Xi: − Xi:||2 0.54
2 (4) Here, X and ˆX are the given and reconstructed node feature matrices. 2 (4) ここで、X と X は与えられた再構成されたノード特徴行列である。 0.79
Similar to the case of structural outlierness, nodes with more attribute outlierness score Oai would have 構造的外れ度の場合と同様に、より属性的外れ度スコアのノードはoaiが持つであろう 0.68
英語(論文から抽出)日本語訳スコア
N(cid:88) K(cid:88) N(cid:88) K(cid:88) 0.84
i=1 k=1 i∈V i=1 k=1 i∈V 0.59
less impact in Equation 4 and consequently the optimizer will be able to focus more on the regular nodes of the graph. Equation 4の影響が小さくなり、その結果、オプティマイザはグラフの通常のノードにもっとフォーカスできるようになります。
訳抜け防止モード: Equation 4 の影響が小さくなり、従ってオプティマイザが使えるようになる グラフのノードにもっと焦点を合わせます
0.80
Again, we assume that Oai > 0, ∀i ∈ V and (cid:80) 繰り返しますが、Oai > 0, si ∈ V, (cid:80) と仮定する。 0.71
Oai = 1. Minimizing the loss components in Equations 3 and 4 with respect to the parameters of GCN and outlier scores would be able to provide unsupervised node embeddings. Oai = 1。 Equations 3, 4における損失成分の最小化は、GCNとoutlierスコアのパラメータに関して、教師なしノードの埋め込みを提供することができる。 0.76
This will also detect the outlier nodes while minimize their negative impact on the other nodes of the graph. これはまた、グラフの他のノードに対する負の影響を最小限に抑えながら、外れ値ノードを検出する。 0.73
However as discussed in Section 1, our main goal in this work is to separate microservices within a monolith application. しかし、セクション1で説明したように、この作業の主な目標は、モノリスアプリケーション内でマイクロサービスを分離することです。 0.65
This needs discovering clusters of nodes (or communities) in the graph. これはグラフ内のノード(あるいはコミュニティ)のクラスタを見つける必要がある。 0.77
One can potentially obtain the node embeddings first and then use a clustering algorithm (for example, k-means++ (Arthur and Vassilvitskii 2006)) as a post-processing step. まずノードの埋め込みを取得し、次にクラスタリングアルゴリズム(例えば k-means++ (Arthur and Vassilvitskii 2006) )を後処理のステップとして使うことができる。 0.81
But such a decoupled approach often leads to a suboptimal solution as shown in (Yang et al. しかし、このような疎結合なアプローチは、しばしば(ヤンなど)準最適解につながる。 0.60
2017). Hence, we integrate node embedding, outlier detection and node clustering in a joint framework of graph neural network. 2017). そこで我々は,グラフニューラルネットワークのジョイントフレームワークにノード埋め込み,外乱検出,ノードクラスタリングを統合する。 0.85
To achieve this, we use the following loss to cluster the nodes in the graph, assuming their embeddings are already given. これを実現するために、グラフ内のノードをクラスタ化するために、以下の損失を使用します。 0.71
Lclus = Mik||Zi: − Ck||2 Lclus = Mik||Zi: − Ck||2 0.69
2 (5) where M ∈ {0, 1}|V |×K is the binary cluster assignment matrix. 2 (5) ここで M ∈ {0, 1}|V |×K はバイナリクラスタ割り当て行列である。 0.84
We assume to know the number of clusters K. Mik = 1 if node i belongs to kth cluster and Mik = 0 otherwise. ノード i が kth クラスタに属し、Mik = 0 がそうでなければ、K.Mik = 1 のクラスタ数を知ることになります。 0.72
Ck ∈ RF (cid:48) is the center of each cluster in the embedding space. Ck ∈ RF (cid:48) は埋め込み空間内の各クラスタの中心である。 0.90
Equation 5 needs to be minimized with respect to M and C = [C1 ··· CK]T to obtain the clustering. 方程式 5 は M に対して最小化され、C = [C1 ···· CK]T はクラスタリングを得る。 0.78
We call this method CO-GCN (Clustering and Outlier aware Graph Convolution Network) and the joint loss function is: (6) この手法をco-gcn (clustering and outlier aware graph convolution network) と呼び,ジョイントロス関数は (6) である。
訳抜け防止モード: 私たちはこのメソッドを CO - GCN (Clustering and Outlier aware Graph Convolution Network ) と呼ぶ。 関節損失関数は : (6)
0.92
Ltotal = α1Lstr + α2Latt + α3Lclus Ltotal = α1Lstr + α2Latt + α3Lclus 0.67
minW,O,M,C minW、O、M、C。 0.85
such that, (cid:88) その通りです (cid:88) 0.67
(cid:88) Osi = (cid:88) オシ= 0.66
Oai = 1 i∈V M ∈ {0, 1}|V |×K, Osi, Oai > 0 ∀i ∈ V (8) oai = 1 i∈V M ∈ {0, 1}|V |×K, Osi, Oai > 0 ×i ∈ V (8) 0.89
i∈V (7) 3.3 Optimization Procedure The nature of the optimization problem in Eq. i∈V (7) 3.3 最適化手順 Eq の最適化問題の性質。 0.77
6 is different with respect to different variables. 6は異なる変数に関して異なっている。 0.86
We use alternate minimization technique, where we minimize the objective only with respect to one set of variables, keeping others fixed. 代替の最小化技術を使用し、目的を1つの変数セットに対してのみ最小化し、他の変数を固定する。 0.69
Parameters of GCN The set W contains all the parameters of the GCN encoder and decoder as described in Section 3. GCN のパラメータ セット W は、セクション 3 に記載されている GCN エンコーダとデコーダの全てのパラメータを含む。 0.93
We use standard ADAM optimization technique (Kingma and Ba 2014) to minimize the total loss w.r.t. 我々は標準adam最適化技術(kingmaとba 2014)を用いて全損失を最小化している。 0.70
W, keeping other variables fixed. W, 他の変数を固定します。 0.71
We use an initial learning rate of 0.01 and exponential decay rate of 0.95 every 100 iterations. 初回学習率は0.01、指数減衰率は100回毎に0.95である。 0.77
Outliers One can show that optimization in Equation 6 is convex with respect to each outlier variable when all other variables are fixed. 外れ値 方程式 6 における最適化は、他のすべての変数が固定されたとき、各外れ値変数に対して凸であることを示すことができる。 0.61
This is because 0 < Osi, Oai ≤ 1, ∀i and log(·) is a concave function and thus, − log(·) is convex. これは、0 < Osi, Oai ≤ 1, .i and log(·) が凹函数であり、したがって − log(·) が凸であるからである。 0.86
Finally, L2 norms in both Equations 3 and 4 are non-negative. 最後に、方程式 3 と 4 の L2 ノルムは非負である。 0.63
We aim to find the closed form update rules for the outlier terms to speed up the optimization process. 最適化プロセスをスピードアップするために、外部用語のクローズドフォーム更新ルールを見つけることを目指しています。 0.69
straint (cid:80) (cid:88) straint (cid:80) (cid:88) 0.78
include Osi), i∈V Osiを含む)。 i∈V 0.68
∂ Taking the Lagrangian of Eq. ∂ Eqのラグランジアン(Lagrangian)。 0.79
6 with respect to the conOsi = 1, we get (after ignoring terms that do not 6 conOsi = 1 に関して、(無視しない項を無視した後)得られる。 0.72
(cid:16) 1 (cid:17)||Aj: − Z T (cid:16)1 (cid:17)|Aj: − Z T 0.83
log (cid:88) ログ (cid:88) 0.75
j: Z||2 2 + λ( j: Z||2 2 + λ( 0.76
Osj − 1) Osj Osj − 1) osj 0.78
j∈V ∂Osi λ ∈ R is the Lagrangian constant. j∈V ∂osi λ ∈ r はラグランジ定数である。 0.65
Equating the partial derivative w.r.t. 部分微分 w.r.t. 0.56
Osi to 0: − ||Ai: − Z T N(cid:80) Osi to 0: − ||Ai: − Z T N(cid:80) 0.93
+ λ = 0, ⇒ Osi = + λ = 0, ⇒ Osi = 0.85
||Ai: − Z T λ ||Ai: − Z T λ 0.92
i: Z||2 i: Z||2 i: Z||2 i: Z||2 0.67
j: Z||2 j∈V j: Z||2 j∈V 0.63
2 2 2 = 1. 2 2 2 = 1. 0.85
Hence, But, ||Aj:−ZT λ それゆえ しかし、 ||Aj:−ZT λ 0.71
Osi Oji = 1 implies (cid:80) (cid:80) オシ Oji = 1 は (cid:80) (cid:80) を意味する。 0.66
Osi = j=1 j∈V i: Z||2 ||Ai: − Z T j: Z||2 ||Aj: − Z T オシ= j=1 j∈V i: Z||2 ||Ai: − Z T j: Z||2 ||Aj: − Z T 0.61
2 2 j∈V (9) 2 2 j∈V (9) 0.78
The final update rule for structural outliers turns out to be quite intuitive. 構造的異常値の最終的な更新ルールは、かなり直感的であることが判明した。 0.53
Our goal while deriving the loss in Equation 3 was to approximate adjacency structure of the graph by the similarity in the embedding space with outliers being discounted. Equation 3の損失を導き出しながら、埋め込み空間の類似性によってグラフの隣接構造を近似し、アウトプライヤを割引することでした。 0.76
The structural outlierness of a node in Equation 10 is proportional to the difference between the two after every iteration. 方程式10におけるノードの構造的外れ度は、反復毎に2つの違いに比例する。 0.77
In other words, if some node is not able to preserve its adjacency structure in the embedding space, it is more prone to be a structural outlier. 言い換えれば、あるノードがその隣接構造を埋め込み空間に保持することができなければ、構造的な外れ値になる傾向がある。 0.67
Similar to above, update rule for attribute outlier at each 上記のように、各属性の外れ値に対する更新ルール 0.78
iteration can be derived to the following. 反復は以下のものから導かれる。 0.57
||Xi: − ˆXi:||2 ||Xj: − ˆXj:||2 ||Xi: − >Xi:||2 ||Xj: − |Xj:||2 0.65
(cid:80) Oai = (cid:80) 大合= 0.59
2 2 j∈V (10) 2 2 j∈V (10) 0.78
Because of the convexity of total loss in Equation 6 w.r.t. Equation 6 w.r.tの総損失の凸性のため。 0.74
individual outlier scores, derivations of the update rules for outlier scores ensure the following lemma. 個々の外れ値スコア、外れ値に対する更新ルールの導出により、次の補題が保証される。 0.55
Lemma 1 Keeping all other variables fixed, the total loss in Equation 6 decreases after every update of the outlier scores by Equations 10 and 9 until it reaches to a stationary point. Lemma 1 他のすべての変数を固定し続けると、方程式6の総損失は、方程式10,9による外れ値の更新毎に定常点に達するまで減少する。 0.85
Clustering Parameters The total loss of CO-GCN also involves clustering parameters M and C. While all other variables to be fixed, cluster assignment matrix M can be obtained as: クラスタリングパラメータ CO-GCN の総損失には、クラスタリングパラメータ M と C も含まれます。
訳抜け防止モード: クラスタリングパラメータ co - gcn の合計損失には、クラスタリングパラメータ m と c も含まれる。 クラスタ割り当てマトリクスmは、次のように得ることができる。
0.77
M (i, k) = M (i, k) = 0.85
||Zi − Ck(cid:48)||2 ||Zi − Ck(cid:48)|2 0.72
2 (11) k(cid:48)∈{1,··· ,K} 2 (11) k(cid:48)大{1,··· ,K} 0.86
 1, if k = argmin (cid:88) k = argmin (cid:88) である。 0.62
0, Otherwise 0, そうでなければ 0.61
Ck = 1 Nk i∈Ck Ck= 1Nk i∈Ck 0.72
In the next step, kth row of cluster center matrix C can be obtained as (Arthur and Vassilvitskii 2006): 次のステップでは、クラスター中心行列Cの第k列を(Arthur and Vassilvitskii 2006)として得ることができる。 0.83
Zi: (12) where Ck = {i ∈ V | Mik = 1} is the k-th cluster and Nk = |Ck| is the size of k-th cluster. ジ: (12) ここで、Ck = {i ∈ V | Mik = 1} は k 番目のクラスタであり、Nk = |Ck| は k 番目のクラスタのサイズである。 0.73
英語(論文から抽出)日本語訳スコア
Dataset DayTrader PBW Acme-Air DietApp Dataset DayTrader PBW Acme-Air DietApp 0.88
Description Trading App Online plant store Airline App DietTracker 説明 取引アプリ オンラインプラントストア Airline App DietTracker。 0.87
Language Java Java Java C# 言語 Java Java Java C# 0.83
# Class 111 36 38 32 # Class 111 36 38 32 0.85
# Entrypoints Cluster size 203 47 20 34 # Entrypoints Cluster size 203 47 20 34 0.85
8 6 4 5 Table 1: Details about the monolith applications studied 8 6 4 5 表1:研究対象のモノリスアプリケーションの詳細 0.81
3.4 Pre-training, Algorithm and Analysis To run CO-GCN, we first pre-train the GCN encoder and decoder by minimizing Lstr and Latt in Equations 3 and 4 respectively, initializing Osi, Oai ∀i ∈ V to uniform values. 3.4 事前学習,アルゴリズム,解析 CO-GCN を実行するために,まず Lstr と Latt をそれぞれ方程式 3 と 4 で最小化し,Osi と Oai を均一な値に初期化して GCN エンコーダとデコーダを事前訓練する。 0.77
We also use k-means++ (Arthur and Vassilvitskii 2006) to initialize the cluster assignment and cluster center matrices. また、k-means++ (Arthur and Vassilvitskii 2006) を用いてクラスタ割り当てとクラスタ中心行列を初期化する。 0.73
Then over iterations, we sequentially solve Ltotal by alternating minimization technique described in Section 3.3 with respect to different variables. 次に,各変数について3.3節で記述した最小化手法を交互に組み合わせることで,Ltotalを逐次解く。 0.69
Overall procedure of CO-GCN is presented in Algorithm 1. CO-GCNの全体的な手順をアルゴリズム1で示す。 0.70
Algorithm 1 CO-GCN アルゴリズム1 CO-GCN 0.72
Input: Class dependencies and Entrypoint definitions Input: クラス依存性とエントリポイント定義 0.84
Section 3.1 and obtain the V , E and X セクション3.1 と V , E, X を得る 0.89
1: Convert the application to a graph representation as defined in 2: Initialize outlier scores Osi and Oai uniformly ∀i ∈ V . 1: アプリケーションを 2 で定義されるグラフ表現に変換する: 初期化アウトリーアースコア Osi と Oai を一様に xi ∈ V とする。 0.77
3: Pre-train the GCN encoder and decoder 4: Use k-means++ to initialize the cluster assignment and cluster 3: GCNエンコーダとデコーダの事前トレーニング 4: k-means++を使ってクラスタ割り当てとクラスタの初期化 0.77
5: for T iterations do 6: 7: 5: T イテレーションは 6: 7: 0.69
Update outlier scores O by Eq. 更新outlierスコア o by eq。 0.64
10 and 9. Update cluster assignment and center matrices by Eq. 10および9。 Eqによるクラスタ割り当てとセンター行列の更新。 0.81
11 centers and 12 11 中心 そして12 0.77
8: Update the parameters by GCN encoder and decoder by 8: GCNエンコーダとデコーダによってパラメータを更新する 0.86
minimizing Eq. 6 using ADAM. Eq の最小化。 ADAMを使用して6。 0.67
9: end for Output: Cluster assignment matrix M, Cluster center matrix C and the outlier scores O 9: 終了します。 出力:クラスタ割り当て行列M、クラスタセンター行列C、および出力スコアO 0.71
Time Complexity Time taken by GCN encoder and decoder is O(|E|F F (cid:48)). GCNエンコーダとデコーダによる時間複雑度時間はO(|E|F F (cid:48))である。 0.74
Updating each value of outlier score takes O(N F (cid:48)) and the total time to update all outlier scores is O(N 2F (cid:48)). アウトリーヤスコアの各値を更新するには、O(N F (cid:48)) がかかり、すべてのアウトリーヤスコアを更新する合計時間は O(N 2F (cid:48)) になります。 0.62
Updating the parameters of cluster assignment and cluster center matrices takes O(N F (cid:48)K) time. クラスタ割り当てとクラスタ中心行列のパラメータの更新には、O(N F (cid:48)K) 時間がかかる。 0.74
Thus, each iteration of CO-GCN takes O(|E|F F (cid:48) + N 2F (cid:48) + N F (cid:48)K). したがって、CO-GCN の各反復は O(|E|F F (cid:48) + N 2F (cid:48) + N F (cid:48)K) を取る。 0.68
The outlier update rules although expensive, converge quickly because of the closed-form solution and theoretical guarantee (Lemma 1). 外れ値更新規則は高価であるが、閉形式解と理論的保証(lemma 1)のために素早く収束する。 0.75
Also, for most real-world monolith applications, number of classes is not very large (in 1000s). また、ほとんどの現実世界のモノリスアプリケーションでは、クラス数はそれほど多くない(1000s)。 0.74
So the quadratic dependency of the runtime on the number of classes is not a bottleneck. したがって、クラス数に対するランタイムの二次依存性はボトルネックではありません。 0.68
However, one can try negative sampling approaches (Goldberg and Levy 2014) to approximate the similarity between the embeddings in the outlier update rules for other applications if needed. しかし、負のサンプリングアプローチ(goldberg と levy 2014)を試すことができ、必要に応じて他のアプリケーションに対する外部更新ルールの埋め込みの類似性を近似することができる。 0.72
4 Experimental Evaluation 4.1 Datasets (Monolith Applications) Used To study the effectiveness of our approach, we chose four publicly-available web-based monolith applications namely 4 実験的評価 4.1 Datasets (Monolith Applications) アプローチの有効性を調べるために、4つのパブリックなWebベースのモノリスアプリケーションを選びました。 0.81
Daytrader 4, Plantsbywebsphere 5, Acme-Air6, Diet App7. Daytrader 4, Plantsbywebsphere 5, Acme-Air6, Diet App7。 0.84
They vary in programming languages, technologies, objectives and complexity in terms of lines of code, function sizes etc. それらは、プログラミング言語、技術、目的、複雑さ、コード行、関数サイズなどによって異なる。 0.78
Details of the monoliths are provided in Table 1. モノリスの詳細はテーブル1に記載されている。 0.69
4.2 Metrics To evaluate the quality of the clusters identified as microservice candidates, we define four metrics. 4.2 メトリクス マイクロサービス候補として識別されたクラスタの品質を評価するために、4つのメトリクスを定義します。
訳抜け防止モード: 4.2 メトリクス マイクロサービス候補として識別されたクラスタの品質を評価する。 4つの指標を定義します
0.63
The first two aim to capture the structural quality of the clusters recommended as microservices and are the primary metrics in the evaluation. 最初の2つは、マイクロサービスとして推奨されるクラスタの構造的品質を捉え、評価の主要な指標である。 0.80
The other two metrics define additional properties of the clusters that are desirable. 他の2つのメトリクスは、望ましいクラスタのさらなる特性を定義します。 0.76
1. Modularity: Modularity is a commonly used metric to evaluate the quality of clusters in a graph (Newman and Girvan 2004)(Newman 2006). 1. モジュラリティ: モジュラリティはグラフ内のクラスタの品質を評価するために一般的に使用されるメトリクスである(newman and girvan 2004)(newman 2006)。 0.82
It measures the fraction of edges of the graph between members of the same cluster relative to that of the same partition members but randomly generated graph edges. これは、同じ分割メンバに対して、ランダムに生成されたグラフエッジに対して、同じクラスタのメンバー間のグラフのエッジの分数を測定する。
訳抜け防止モード: 同じクラスタのメンバ間のグラフのエッジの比率を、同じパーティションメンバのそれと比較して測定する。 ランダムに生成されたグラフエッジです
0.76
Higher values of Modularity indicate a stronger community structure. モジュラリティの高い値は、より強いコミュニティ構造を示す。 0.70
2. Structural Modularity: An alternate measure of structural soundness of a cluster that is more suited to software applications is defined in (Jin et al. 2. 構造モジュラリティ(Structure Modularity): ソフトウェアアプリケーションにもっと適したクラスタの構造的健全性の別の尺度が(Jin et al)定義されている。 0.82
2019). Structural Modularity, (SM) is defined as 2019). 構造モジュラリティ、SM(Structure Modularity)は、 0.79
SM = 1 K − uk N 2 k SM = 1K − uk N 2 k 0.82
1 K(K − 1)/2 1 K(K − 1)/2 0.90
σk1,k2 k1(cid:54)=k2 σk1,k2 k1(cid:54)=k2 0.66
2(Nk1Nk2 ) and uk is the number of edges that lie completely within a cluster k, σk1,k2 is the number of edges between cluster k1 and cluster k2. 2(Nk1Nk2) そして uk はクラスタ k に完全に属するエッジの数であり、σk1,k2 はクラスタ k1 とクラスタ k2 の間のエッジの数である。 0.76
Nk1 and Nk2 are the number of members in clusters k1 and k2 respectively. Nk1 と Nk2 はそれぞれクラスタ k1 と k2 のメンバ数である。 0.82
3. Non-Extreme Distribution(NED): It is desired that a microservice may not have too many or too few classes. 3. 非Extreme Distribution(NED): マイクロサービスにはクラスが多すぎたり少なすぎたりしないことが望まれます。 0.82
We therefore measure how evenly distributed the sizes of the recommended clusters are as したがって、推奨クラスタのサイズがいかに均等に分散しているかを測定する。 0.65
K(cid:88) k=1 K(cid:88) k=1 0.71
K(cid:88) N ED = K(cid:88) N ED = 0.85
k=1,k not extreme nk k=1,k 極端 nk 0.88
|V | nk is the number of classes in cluster k and V is the set of classes. |V | nk はクラスタ k のクラスの数であり、V はクラスの集合である。 0.84
k is not extreme if it’s size is within bounds of {5, 20}. 大きさが {5, 20} の範囲内であれば k は極端ではない。 0.80
N ED captures the architectural soundness of the clusters (Wu, Hassan, and Holt 2005)(Bittencourt and Guerrero 2009). N EDはクラスタのアーキテクチャの健全性(Wu, Hassan, and Holt 2005)を捉えている(Bittencourt and Guerrero 2009)。 0.81
For better interpretability, we measure 1 − N ED and lower values are favorable. より良い解釈可能性を得るために、我々は 1 − N ED を測り、低い値が好ましい。 0.60
4. Interface Number(IFN): As defined in (Jin et al. 4. インターフェース番号(IFN): (Jin et al)で定義されている通り。 0.82
2019), this is the average number of published interfaces of a microservices partitioning. 2019年)は、マイクロサービスのパーティションの公開インターフェースの平均数です。 0.67
(cid:80)K K(cid:88) (cid:80)K K(cid:88) 0.84
k=1 IF N = k=1 IF N = 0.72
1 K if nk, if nk = |Ik| 1K もしnkなら nk = |Ik| 0.77
where Ik is the number of published interfaces in the microservice k and K is the number of such micorservices. ここで Ik はマイクロサービス k の公開インターフェースの数であり、K はそのような micorservices の数です。 0.86
4https://github.com/ WASdev/sample.daytra der7 5https://github.com/ WASdev/sample.plants bywebsphere 6https://github.com/ acmeair/acmeair 7https://github.com/ SebastianBienert/Die tApp/ 4https://github.com/ WASdev/sample.daytra der7 5https://github.com/ WASdev/sample.plants bywebsphere 6https://github.com/ acmeair/acmeair 7https://github.com/ SebastianBienert/Die tApp/ 0.28
英語(論文から抽出)日本語訳スコア
Figure 2: Comparison of the CO-GCN method with the baselines across the four applications on the (a) Structural Modularity (b) Modularity (c) 1-NED and (d) IFN metrics. 図2:(a)構造モジュール性(b)モジュール性(c)1-NEDおよび(d)IFNメトリクス上の4つのアプリケーションにわたるベースラインとCO-GCN法の比較。 0.82
The CO-GCN method clearly outperforms the baselines considered. CO-GCN法は、考慮されたベースラインを明らかに上回る。 0.49
We define a published interface as any class in the microservice that is referenced by another class from a different microservice. 公開インターフェースは、別のマイクロサービスから別のクラスによって参照されるマイクロサービス内の任意のクラスとして定義します。 0.68
Lower values of IF N are preferred. IF N のより低い値は好ましい。 0.79
4.3 Experimental Setup and Baselines For each application in Table 1, we generate the adjacency matrix, A and the feature matrix, X. 4.3 実験的なセットアップとベースライン 表1の各アプリケーションに対して、隣接行列 A と特徴行列 X を生成する。 0.75
The CO-GCN encoder comprises of two layers with dimensionality 64 and 32. CO−GCNエンコーダは、寸法64、32の2層からなる。 0.67
The decoder consists of one layer of size 64 followed by another of the appropriate feature dimension. デコーダは、サイズ64の1つの層と、適切な特徴次元の別の層からなる。 0.64
We pretrain for 250 iterations and set T = 500 in Algorithm 1. アルゴリズム1では、250のイテレーションを事前トレーニングし、T = 500をセットします。 0.63
The final values of M (i, k) are used as the cluster assignments from our algorithm. M (i, k) の最終値は,我々のアルゴリズムのクラスタ割り当てとして用いられる。 0.86
We set {α1, α2, α3} = {0.1, 0.1, 0.8} in Eq. Eq に {α1, α2, α3} = {0.1, 0.1, 0.8} を設定する。 0.72
6. We evaluate our approach against multiple unsupervised baselines for learning node representations: Deepwalk (Perozzi, Al-Rfou, and Skiena 2014), Node2vec (Grover and Leskovec 2016), ONE (Bandyopadhyay, Lokesh, and Murty 2019) GCN (Kipf and Welling 2016) and DGI (Veliˇckovi´c et al. 6. ノード表現を学習するための複数の教師なしベースラインに対するアプローチを評価した: deepwalk (perozzi, al-rfou, skiena 2014), node2vec (grover and leskovec 2016), one (bandyopadhyay, lokesh, murty 2019), gcn (kipf and welling 2016), dgi (veli\ckovi ́c et al)。 0.83
2019). Among these, ONE accounts for the effects of outliers in learning node embeddings. 2019). このうち、ノード埋め込みの学習における外れ値の影響が説明されている。 0.69
For all our experiments, we set the size of the node embeddings to be 32. すべての実験において、ノード埋め込みのサイズを32に設定しました。 0.72
We use k-means++ algorithm on the embeddings generated by these baselines to obtain clusters. 我々はこれらのベースラインが生成した埋め込みにk-means++アルゴリズムを用いてクラスタを得る。 0.57
K is carefully chosen based on online sources and SME inputs.In contrast to these representation learning based baselines, the method of (Mazlami, Cito, and Leitner 2017) is a state-of-the-art approach for extracting microservices from a monolith application. Kは、オンラインソースとSME入力に基づいて慎重に選択されており、これらの表現学習ベースのベースラインとは対照的に、(Mazlami、Cito、Leitner 2017)メソッドは、モノリスアプリケーションからマイクロサービスを抽出するための最先端のアプローチです。 0.62
This leverages Semantic Coupling (SC) information with graph partitioning to identify clusters. これはSemantic Coupling(SC)情報とグラフパーティショニングを利用してクラスタを識別する。 0.78
We also use it as a baseline. ベースラインとしても使用しています。 0.64
Since the implementation for the SC method does SC メソッドの実装が実行されてから 0.83
Figure 3: Clusters and top 5 outliers identified for the PBW application, with manual labels about their functionality. 図3:PBWアプリケーション用に識別されたクラスタとトップ5のアウトプライヤ。
訳抜け防止モード: 図3: pbwアプリケーションで特定されたクラスタとトップ5の外れ値 彼らの機能に関する手動のラベル。
0.76
not support .Net applications, we do not use it for DietApp. .Netアプリケーションをサポートせず、DiedAppには使用していません。 0.71
4.4 Results on Separating Micro Services Figure 2 shows the metrics values on all four application for the evaluated methods. 4.4 マイクロサービスの分離に関する結果 図2は、評価された方法の4つのアプリケーション全体のメトリクス値を示しています。 0.66
The three attributed graph neural network based methods (GCN, DGI and CO-GCN) outperform 3つの属性グラフニューラルネットワーク(GCN, DGI, CO-GCN)の性能 0.76
英語(論文から抽出)日本語訳スコア
Figure 4: Results from the ablation study on the structural modularity and modularity metrics across the applications 図4: アプリケーション全体の構造的モジュラリティとモジュール性メトリクスに関するアブレーション研究の結果 0.81
Figure 5: Sensitivity analysis on embedding size 図5:埋め込みサイズに対する感度分析 0.87
the rest of the methods by a significant margin. 残りの方法はかなりの差がある。 0.55
The COGCN method consistently achieves better modularity and structural modularity scores which clearly validates the inclusion of outlier and clustering objectives in the training. COGCN法は、より優れたモジュール性および構造的なモジュール性スコアを一貫して達成し、トレーニングにおけるアウトプライヤおよびクラスタリング目標の包含を明確に検証します。 0.62
The CO-GCN method also achieves better N ED and IF N scores in most cases. CO-GCN法は N ED と IF N のスコアも向上する。 0.68
Another interesting observation is the negative scores for many of the baseline methods. もう一つの興味深い観察は、多くのベースラインメソッドの負のスコアです。 0.67
This implies that are many inter-cluster edges for the clusters recommended by these methods, hinting at the fact that monolith applications may have several high-traffic nodes and assigning them to appropriate clusters is difficult, but critical. これは、これらの方法によって推奨されるクラスタ間のエッジが多数存在することを意味し、モノリスアプリケーションが複数の高トラフィックノードを持ち、それらを適切なクラスタに割り当てることは困難であるが、重要であることを示唆している。 0.62
Figure 3 shows the identified clusters for the PBW application and our manual annotations to highlight the functionalities offered. 図3は、pbwアプリケーションで特定されたクラスタと、提供される機能を強調したマニュアルアノテーションを示しています。 0.60
We can notice the clear distinction of functionalities 私たちは機能の明確な区別に気づく 0.85
4.5 Detecting Outliers The values of Osi and Oai at the end of training represent the final outlier scores of each node. 4.5 異常検知 トレーニング終了時のOsiとOaiの値は、各ノードの最終的なアウトラヤスコアを表す。 0.68
The ranked list of outlier nodes represents the top candidates for refactoring as part of microservices decomposition. 上位のオフプライヤノードのリストは、マイクロサービスの分解の一部としてリファクタリングの上位候補を表している。 0.61
Figure 3 highlights the combined top 5 outliers detected (across structural and attribute outlier scores) for PBW application by our approach. 図3は、PBWアプリケーションで検出されたトップ5の外れ値(構造と属性の外れ値の合計)を、我々のアプローチで強調する。 0.60
Among the baselines, we report outlier detection results only for GCN and DGI as they performed good for obtaining microservices. ベースラインでは,GCNとDGIのみの異常検出結果が報告され,マイクロサービスの獲得に有効であった。 0.72
As GCN and DGI do not output outliers directly, we use Isolation forest (Liu, Ting, and Zhou 2008) on the embeddings generated by them to detect outliers. GCNとDGIは直接アウトリーチを出力しないため、分離林(Liu, Ting, Zhou 2008)を用いてアウトリーチを検出する。 0.43
To study the goodness of the outliers, we performed a qualitative study with five software engineers who have minimum seven years industrial experience. その結果, 最低7年間の産業経験を有する5人のソフトウェアエンジニアを対象に, 質的研究を行った。 0.71
We randomly presented them with two out of the four monoliths and shared their code repositories. 4つのモノリスのうち2つをランダムに提示し、コードリポジトリを共有しました。 0.65
We asked them to rank the top five refactor candidate classes and compared them with the outliers identified by GCN, DGI and CO-GCN. 上位5つのリファクタリング候補クラスをランク付けし、gcn、dgi、co-gcnで識別された外れ値と比較した。 0.54
On an average, the top five outliers provided by the annotators overlapped with our approach by 60%, GCN by 45% and DGI by 55%. 平均すると,アノテータが提供した上位5つの外れ値は,アプローチが60%,gcnが45%,dgiが55%,それぞれ重複していた。 0.76
Details of top 5 outliers detected by each approach, our questionnaire and the results are provided in the supplementary material. それぞれのアプローチで検出されたトップ5のアウトリーチの詳細,アンケートおよびその結果を補足資料に記載した。 0.70
We can conclude that the outliers identified by our approach are more relevant. 私たちのアプローチで特定された外れ値の方が適切だと結論付けることができます。 0.48
The low overlap numbers indicate the highly difficult and subjective nature of this task. 低重複数は、このタスクの非常に困難で主観的な性質を示している。 0.56
4.6 Ablation and Sensitivity Analysis 4.6 アブレーションと感度解析 0.80
We perform another set of experiments to measure the usefulness of individual components of CO-GCN. 我々はCO-GCNの個々の成分の有用性を測定するために別の実験を行う。 0.73
1. We remove the clustering objective from Ltotal., i.e., set α3 = 0 in Equation 6. 1. Equation 6 では、クラスタリングの目標を Ltotal.、すなわち α3 = 0 から削除します。 0.84
Comparing the performance of this variant with CO-GCN shows marginal contribution of integrating the clustering loss. この変種の性能をCO-GCNと比較すると、クラスタリング損失の統合には限界がある。 0.64
We denote this variant as CO-GCN~(C). この変種を CO-GCN~(C) と表す。 0.71
We use k-means++ on the node embeddings generated by this approach to obtain the clusters. このアプローチで生成されたノード埋め込みでk-means++を使用してクラスタを取得します。
訳抜け防止モード: このアプローチで生成されたノード埋め込みにk - means++を使う クラスターを得る。
0.66
2. We remove the effect of the Osi and Oai on Lstr and Latt respectively, by removing the log(·) terms. 2. Osi と Oai の Lstr と Latt に対する効果は、それぞれ log(・) 項を削除して除去します。 0.79
This is equivalent to traditional link and attribute reconstruction, with the clustering loss Lclus. これは従来のリンクと属性の再構成と等価であり、クラスタリング損失 Lclus である。 0.70
The goal is to evaluate the usefulness of minimizing the effect of outliers for identifying good clusters. 目的は、優れたクラスタを特定するために、アウトレーヤの効果を最小限に抑えることの有用性を評価することである。 0.52
We denote this variant as CO-GCN~(O). この変種を CO-GCN~(O) と表す。 0.69
The results of the ablation study are shown in Figure 4. アブレーション研究の結果は図4に示されています。 0.78
In general, incorporating outlier scores and the clustering objective does result in higher modularity and structural modularity scores. 一般に、アウトリアースコアとクラスタリング目標を組み込むことで、より高いモジュラリティと構造的モジュラリティスコアが得られる。 0.68
However, the degree to which these components contribute to the overall clustering quality vary for each application and the metric used. しかしながら、これらのコンポーネントが全体的なクラスタ品質に寄与する度合いは、アプリケーションと使用するメトリクスによって異なる。 0.75
For instance, in the Daytrader application, removing the clustering objective reduces structural modularity significantly, but has no effect on modularity. 例えば、Daytraderアプリケーションでは、クラスタリングの目的を取り除くことで、構造的なモジュール化が大幅に削減されるが、モジュラリティには影響しない。
訳抜け防止モード: 例えば、daytraderアプリケーションでは、 クラスタリングの目的を取り除く 構造的なモジュール化を大幅に削減するが、モジュール性には影響しない。
0.68
Conversely, removing the outlier information reduces the modularity score, but has negligible effect on structural modularity. 逆に、外部情報の除去はモジュラリティのスコアを下げるが、構造的モジュラリティには無視できる効果がある。 0.56
This effect is also visible in the other applications. この効果は他のアプリケーションでも見られます。 0.85
Interestingly, removing the outlier information leads to improved modularity for PBW, but this is balanced by a reduced structural modularity score. 興味深いことに、外部情報を削除することでPBWのモジュラリティが向上するが、これは構造的モジュラリティスコアの低下によってバランスがとれる。 0.57
We can still conclude that including the outlier scores and clustering loss in the training objective improves cluster quality in general. トレーニング目標にアウトプライヤスコアとクラスタリングロスを含めることで、クラスタの品質が一般的に向上すると結論付けることができます。 0.66
Finally, we also evaluate the effect of the node embeddings size on the modularity and structural modularity values for each application. 最後に,ノード埋め込みサイズが各アプリケーションのモジュール性および構造的モジュラリティ値に与える影響について評価する。 0.82
We experiment with embedding sizes in {8, 16, 32, 64}. 我々は {8, 16, 32, 64} の埋め込みサイズを実験する。 0.83
The results are presented in Figure 5. 結果は図5に示されます。 0.83
We notice the modularity scores do not have any significant variation with a change in node embedding size. モジュール性スコアにはノード埋め込みサイズの変更による大きな変化はないことに気付きました。 0.78
There is relatively more variation in the structural modularity scores with change in embedding sizes and once again, this variation is application dependent. 構造的モジュラリティスコアには、埋め込みサイズの変化による変化が比較的多く、またしても、この変化はアプリケーションに依存します。 0.69
There is not enough evidence to make any substantial claims, but in general, the performance seems to be better at higher embedding sizes. 実質的な主張をするのに十分な証拠はないが、一般的には、より高い埋め込みサイズではパフォーマンスがよいようである。 0.73
英語(論文から抽出)日本語訳スコア
5 Conclusion We introduced the traditional software engineering problem of monolith to microservices decomposition as a clustering task building upon graph representation learning. 5 結論 グラフ表現学習に基づくクラスタリングタスクとして,モノリスの従来のソフトウェアエンジニアリング問題をマイクロサービス分解に導入した。 0.75
We showed how the application implementation structure can be translated into an attributed graph network. 本稿では,アプリケーション実装構造を帰属グラフネットワークに変換する方法を示した。 0.70
We then proposed a multi-objective Graph Convolution Network (GCN) based novel framework to not just generate clusters which can be candidate microservices, but also identified the outliers in the graph which can be considered as the important refactor classes for the architect to focus on. 次に、候補マイクロサービスであるクラスタを生成するだけでなく、アーキテクトが注目すべき重要なリファクタリングクラスとして考えられるグラフの外れ値も特定できる、多目的グラフ畳み込みネットワーク(GCN)ベースの新しいフレームワークを提案しました。 0.77
Our approach improved state of the art on multiple metrics from both graph and software engineering literature and performed better than others in human evaluation for the outlier detection. 提案手法は, グラフとソフトウェア工学の両方の文献から, 複数のメトリクスに関する技術の現状を改善し, 異常検出のための人的評価において, 他よりも優れていた。 0.59
In future, we want to extend this work to automatically identify the number of microservices and expand the studies to procedural programming languages like COBOL. 将来的には、マイクロサービスの数を自動識別し、COBOLのような手続き型プログラミング言語に研究を拡張するために、この作業を拡張したいと思っています。
訳抜け防止モード: 将来、我々はこの仕事を拡張したい マイクロサービスの数を自動で識別し、研究をCOBOLのような手続き型プログラミング言語に拡張する。
0.81
6 Potential Ethical Impact (Non-Technical) We believe this work doesn’t have any direct societal or ethical impact. 6 潜在的倫理的影響(非技術的) この仕事は直接的な社会的または倫理的影響を持たないと信じています。 0.63
7 Acknowledgements We would like to thank Giriprasad Sridhara, Amith Singhee, Shivali Agarwal, Raunak Sinha from IBM India Research Labs and Yasu Kastuno, Ai Ishida, Aki Tozawa, Fumiko Satoh from IBM Tokyo Research Labs for their insightful suggestions during this work and valuable feedback towards improving the paper. 7件 私たちは、IBM India Research LabsのGiriprasad Sridhara氏、Amith Singhee氏、Shivali Agarwal氏、Raunak Sinha氏、IBM India Research LabsのSus Kastuno氏、Ai Ishida氏、Tozawa Aki氏、IBM Tokyo Research Labsの佐藤文子氏に対して、この作業における洞察力のある提案と、この論文の改善に対する貴重なフィードバックを感謝します。
訳抜け防止モード: 7件 Giriprasad Sridhara、Amith Singhee、Shivali Agarwalに感謝します。 Raunak Sinha - IBM India Research Labs and Yasu Kastuno, Ai Ishida, Aki Tozawa, 本研究では、IBM東京研究所の佐藤文美子氏による洞察力のある提案を行いました。 そしてペーパーを改善するための貴重なフィードバック。
0.69
References Arthur, D.; and Vassilvitskii, S. 2006. k-means++: The advantages of careful seeding. 参考文献 Arthur, D. and Vassilvitskii, S. 2006. k-means++: 注意深い種付けの利点。 0.70
Technical report, Stanford. 技術レポート、スタンフォード。 0.64
Bandyopadhyay, S.; Lokesh, N.; and Murty, M. N. 2019. Bandyopadhyay, S.; Lokesh, N.; and Murty, M. N. 2019 0.89
Outlier aware network embedding for attributed networks. 属性ネットワークに対する外部認識型ネットワーク埋め込み 0.65
In Proceedings of the AAAI Conference on Artificial Intelligence, volume 33, 12–19. aaai conference on artificial intelligence』第33巻12-19頁。 0.51
Bandyopadhyay, S.; Lokesh, N.; Vivek, S. V.; and Murty, M. 2020. Bandyopadhyay, S.; Lokesh, N.; Vivek, S. V.; Murty, M. 2020 0.83
Outlier Resistant Unsupervised Deep Architectures for Attributed Network Embedding. Outlier Resistant Unsupervised Deep Architectures for Attributed Network Embedding (英語) 0.84
In Proceedings of the 13th International Conference on Web Search and Data Mining, 25–33. 第13回ウェブ検索・データマイニング国際会議の議事録では、25-33。 0.73
Bandyopadhyay, S.; Vivek, S. V.; and Murty, M. N. 2020. Bandyopadhyay, S.; Vivek, S. V.; and Murty, M. N. 2020 0.94
Integrating Network Embedding and Community Outlier DeIn ECAI 2020 tection via Multiclass Graph Description. マルチクラスグラフによるネットワーク埋め込みとコミュニティアウトリーヤDeIn ECAI 2020テクションの統合説明。 0.84
- 24th European Conference on Artificial Intelligence, 29 August-8 September 2020, Santiago de Compostela, Spain, 976–983. -第24回欧州人工知能会議,2020年8月29日-8月8日,スペインのサンティアゴ・デ・コンポステーラ,976-983。 0.61
IOS Press. doi:10.3233/FAIA2001 91. IOSプレス。 doi:10.3233/FAIA2001 91。 0.52
Bittencourt, R. A.; and Guerrero, D. D. S. 2009. Bittencourt, R. A.; and Guerrero, D. D. S. 2009 0.95
Comparison of graph clustering algorithms for recovering software architecture module views. ソフトウェアアーキテクチャモジュールビューの回復のためのグラフクラスタリングアルゴリズムの比較。 0.76
In 2009 13th European Conference on Software Maintenance and Reengineering, 251–254. 2009年の第13回European Conference on Software maintenance and Reengineering, 251–254。 0.78
IEEE. Chen, Z.; Li, L.; and Bruna, J. IEEE。 Chen, Z., Li, L., Bruna, J。 0.78
2019. Supervised CommuIn Innity Detection with Line Graph Neural Networks. 2019. Line Graph Neural Networks による CommuIn Innity Detection の監視 0.83
ternational Conference on Learning Representations. ternational Conference on Learning Representations (英語) 0.76
URL https://openreview.n et/forum?id=H1g0Z3A9Fm. URL https://openreview.n et/forum?id=H1g0Z3A9Fm 0.40
Dietrich, J.; Gauthier, F.; and Krishnan, P. 2018. Dietrich, J.; Gauthier, F.; そしてKrishnan, P. 2018。 0.85
Driver GenIn 2018 25th Auseration for Java EE Web Applications. Driver GenIn 2018 第25回 Java EE Webアプリケーション用Auseration。 0.90
tralasian Software Engineering Conference (ASWEC), 121– 125. tralasian Software Engineering Conference (ASWEC), 121–125。 0.81
IEEE. Fritzsch, J.; Bogner, J.; Zimmermann, A.; and Wagner, S. 2018. IEEE。 Fritzsch, J.; Bogner, J.; Zimmermann, A.; Wagner, S. 2018。 0.82
From Monolith to Microservices: A Classification of Refactoring Approaches. モノリスからマイクロサービスへ:リファクタリングアプローチの分類。 0.59
CoRR abs/1807.10059. CoRR abs/1807.10059。 0.52
URL http: //arxiv.org/abs/1807 .10059. url http: //arxiv.org/abs/1807 .10059 0.44
Gilmer, J.; Schoenholz, S. S.; Riley, P. F.; Vinyals, O.; and Dahl, G. E. 2017. Gilmer, J.; Schoenholz, S. S.; Riley, P. F.; Vinyals, O.; Dahl, G. E. 2017 0.90
Neural message passing for Quantum In Proceedings of the 34th International Conchemistry. 第34回国際コンケミカル会議における量子へのニューラルメッセージパッシング 0.77
ference on Machine Learning-Volume 70, 1263–1272. Machine Learning-Volume 70, 1263–1272の参照。 0.72
Goldberg, Y.; and Levy, O. Goldberg, Y., and Levy, O。 0.83
2014. word2vec Explained: deriving Mikolov et al.’s negative-sampling word-embedding method. 2014年: word2vec Explained: Mikolovらの否定的なサンプリングワード埋め込み方法。 0.68
arXiv preprint arXiv:1402.3722 . arXiv preprint arXiv:1402.3722 0.70
Gouigoux, J.-P.; and Tamzalit, D. 2017. Gouigoux, J.-P.; and Tamzalit, D. 2017 0.93
From monolith to microservices: Lessons learned on an industrial migration to a web oriented architecture. モノリスからマイクロサービスへ: 産業からweb指向アーキテクチャへの移行で学んだ教訓。 0.71
In 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), 62–65. 2017年、IEEE International Conference on Software Architecture Workshops (ICSAW) 62–65。 0.85
IEEE. Grover, A.; and Leskovec, J. IEEE。 Grover、A.;およびLeskovec、J。 0.80
2016. node2vec: Scalable feature learning for networks. node2vec: ネットワークのスケーラブルな機能学習。 0.75
In Proceedings of the 22nd ACM SIGKDD international conference on Knowledge discovery and data mining, 855–864. 第22回ACM SIGKDD国際会議Proceedings on the 22th ACM SIGKDD International Conference on Knowledge Discovery and data mining, 855–864。 0.69
Guo, S.; Lin, Y.; Feng, N.; Song, C.; and Wan, H. 2019. Guo, S.; Lin, Y.; Feng, N.; Song, C.; Wan, H. 2019 0.80
Attention based spatial-temporal graph convolutional networks for traffic flow forecasting. 交通流予測のための注意型時空間グラフ畳み込みネットワーク 0.77
In Proceedings of the AAAI Conference on Artificial Intelligence, volume 33, 922–929. AAAI Conference on Artificial Intelligence, Volume 33, 922–929 (英語) 0.71
Hamilton, W. L.; Ying, R.; and Leskovec, J. Hamilton, W. L.; Ying, R.; and Leskovec, J. 0.91
2017. Representation learning on graphs: Methods and applications. 2017. グラフ上の表現学習:方法とアプリケーション。 0.84
arXiv preprint arXiv:1709.05584 . arXiv preprint arXiv:1709.05584 0.68
Jin, W.; Liu, T.; Cai, Y.; Kazman, R.; Mo, R.; and Zheng, Q. Jin, W.; Liu, T.; Cai, Y.; Kazman, R.; Mo, R.; Zheng, Q. 0.80
2019. Service candidate identification from monolithic systems based on execution traces. 2019. 実行トレースに基づくモノリシックシステムからのサービス候補の識別。 0.83
IEEE Transactions on Software Engineering . IEEE Transactions on Software Engineering を参照。 0.78
Kalske, M.; et al. Kalske, M。 0.45
2018. Transforming monolithic architecture towards microservice architecture . 2018. モノリシックアーキテクチャをマイクロサービスアーキテクチャへ変換する。 0.73
Kingma, D. P.; and Ba, J. Kingma, D. P., and Ba, J. 0.92
2014. Adam: A method for stochastic optimization. 2014. Adam: 確率最適化の方法です。 0.77
arXiv preprint arXiv:1412.6980 . arXiv preprint arXiv:1412.6980 0.69
Kipf, T. N.; and Welling, M. 2016. Kipf、T.N.;およびWelling、M.2016。 0.88
Variational graph autoencoders. 変動グラフオートエンコーダ。 0.66
arXiv preprint arXiv:1611.07308 . arXiv preprint arXiv:1611.07308 0.69
Kipf, T. N.; and Welling, M. 2017. Kipf、T.N.;およびWelling、M.2017。 0.87
Semi-Supervised ClasIn 5th Insification with Graph Convolutional Networks. グラフ畳み込みネットワークによる第5増分法 0.63
ternational Conference on Learning Representations, ICLR 2017, Toulon, France, April 24-26, 2017, Conference Track Proceedings. ternational Conference on Learning Representations, ICLR 2017, Toulon, France, April 2426, 2017 Conference Track Proceedings. 2017年4月24日閲覧。
訳抜け防止モード: ternational Conference on Learning Representations, ICLR 2017, Toulon, France 2017年4月24日~26日, Conference Track Proceedings。
0.93
OpenReview.net. OpenReview.net 0.83
URL https://openreview.n et/ forum?id=SJU4ayYgl. URL https://openreview.n et/ Forum? 0.69
Lewis, J.; and Fowler, M. 2014. https://www.martinfo wler. Lewis, J.; and Fowler, M. 2014 https://www.martinfo wler.com 0.79
com/articles/microse rvices.html . マイクロサービス .html を参照。 0.28
Liang, J.; Jacobs, P.; Sun, J.; and Parthasarathy, S. 2018. Liang, J.; Jacobs, P.; Sun, J.; Parthasarathy, S. 2018。 0.82
Semi-supervised embedding in attributed networks with outliers. 外れ値を持つ属性付きネットワークへの半監視埋め込み。 0.56
In Proceedings of the 2018 SIAM International Conference on Data Mining, 153–161. 2018 SIAM International Conference on Data MiningのProceedingsにおいて、153–161。 0.83
SIAM. SIAM。 0.81
英語(論文から抽出)日本語訳スコア
Isolation In 2008 Eighth IEEE International Conference on 2008年IEEE第8回国際会議の分離 0.79
Liu, F. T.; Ting, K. M.; and Zhou, Z.-H. 2008. forest. Liu, F. T.; Ting, K. M.; and Zhou, Z.-H. 2008 0.91
Data Mining, 413–422. データマイニング、413-422。 0.69
IEEE. Mazlami, G.; Cito, J.; and Leitner, P. 2017. IEEE。 Mazlami, G.; Cito, J.; and Leitner, P. 2017 0.82
Extraction of Microservices from Monolithic Software Architectures. モノリシックなソフトウェアアーキテクチャからマイクロサービスの抽出。 0.71
In 2017 IEEE International Conference on Web Services (ICWS), 524–531. 2017年、IEEE International Conference on Web Services (ICWS) 524–531。 0.85
Newman, M. E. 2006. 2006年、M.E.。 0.60
Modularity and community structure in networks. ネットワークにおけるモジュラリティとコミュニティ構造。 0.76
Proceedings of the national academy of sciences 103(23): 8577–8582. 国立科学アカデミー紀要 103(23):8577-8582 0.53
Newman, M. E.; and Girvan, M. 2004. Newman, M. E.; and Girvan, M. 2004 0.90
Finding and evaluating community structure in networks. ネットワークにおけるコミュニティ構造の発見と評価。 0.78
Physical review E 69(2): 026113. 物理レビューE 69(2):026113。 0.73
Perozzi, B.; Al-Rfou, R.; and Skiena, S. 2014. Perozzi, B.; Al-Rfou, R.; and Skiena, S. 2014 0.94
Deepwalk: Online learning of social representations. Deepwalk: 社会表現のオンライン学習。 0.82
In Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining, 701–710. 第20回ACM SIGKDD国際会議「知識発見とデータマイニング(701-710)」の開催。 0.80
Shtern, M.; and Tzerpos, V. 2012. Shtern、M.;およびTzerpos、V. 2012。 0.81
Clustering Methodologies for Software Engineering. ソフトウェアエンジニアリングのためのクラスタリング手法。 0.72
Adv. Soft. Eng. Adv 柔らかい。 Eng! 0.65
2012. ISSN 16878655. doi:10.1155/2012/792 024. 2012. ISSN 16878655. doi:10.1155/2012/792 024 0.64
URL https://doi.org/10. URL https://doi.org/10。 0.58
1155/2012/792024. 1155/2012/792024. 0.50
Taibi, D.; and Lenarduzzi, V. 2018. Taibi、D.;およびLenarduzzi、V.2018。 0.82
On the Definition of Microservice Bad Smells. マイクロサービスの悪臭の定義について。 0.71
IEEE Software 35(3): 56–62. IEEEソフトウェア35(3):56-62。 0.86
Veliˇckovi´c, P.; Fedus, W.; Hamilton, W. L.; Li`o, P.; Bengio, In InY. フェドゥス、W.、ハミルトン、W.L.、Li`o、P.、Bengio、InY。 0.58
; and Hjelm, R. D. 2019. とHjelm, R. D. 2019。 0.90
Deep graph infomax. ディープグラフインフォマックス。 0.37
ternational Conference on Learning Representations. ternational Conference on Learning Representations (英語) 0.76
URL https://openreview.n et/forum?id=rklz9iAcKQ. URL https://openreview.n et/forum?id=rklz9iAcKQ 0.54
Wu, J.; Hassan, A. E.; and Holt, R. C. 2005. Wu, J.; Hassan, A. E.; and Holt, R. C. 2005 0.94
Comparison of clustering algorithms in the context of software evolution. ソフトウェア進化の文脈におけるクラスタリングアルゴリズムの比較。 0.80
In 21st IEEE International Conference on Software Maintenance (ICSM’05), 525–535. 第21回IEEE国際ソフトウェアメンテナンス会議(ICSM'05)で、525-535。 0.81
IEEE. Wu, Z.; Pan, S.; Chen, F.; Long, G.; Zhang, C.; and Philip, S. Y. IEEE。 Wu, Z.; Pan, S.; Chen, F.; Long, G.; Zhang, C.; Philip, S. Y. 0.83
2020. A comprehensive survey on graph neural networks. 2020. グラフニューラルネットワークに関する包括的な調査。 0.81
IEEE Transactions on Neural Networks and Learning Systems . IEEE Transactions on Neural Networks and Learning Systems 0.70
Yang, B.; Fu, X.; Sidiropoulos, N. D.; and Hong, M. 2017. Yang, B.; Fu, X.; Sidiropoulos, N. D.; and Hong, M. 2017 0.86
Towards k-means-friendly spaces: Simultaneous deep learning and clustering. k平均にやさしい空間に向けて:同時深層学習とクラスタリング。 0.64
In international conference on machine learning, 3861–3870. 機械学習に関する国際会議では3861-3870。 0.71
PMLR. Zhang, X.; Liu, H.; Li, Q.; and Wu, X.-M. 2019. PMLR。 Zhang, X.; Liu, H.; Li, Q.; Wu, X.-M. 2019 0.83
Attributed graph clustering via adaptive graph convolution. 適応グラフ畳み込みによる有意グラフクラスタリング。 0.77
In Proceedings of the 28th International Joint Conference on Artificial Intelligence, 4327–4333. 第28回人工知能国際合同会議(4327-4333)に出席。 0.61
AAAI Press. AAAIプレス。 0.75
英語(論文から抽出)日本語訳スコア
the top five outliers provided by the annotators overlapped with our approach by 60%, GCN by 45% and DGI by 55%. アノテータが提供した上位5つのoutlierは,アプローチが60%,gcnが45%,dgiが55%,それぞれ重複していた。 0.69
Details of the overlap for the annotators for each of the approaches for the four applications are listed in Table 3, Table 4 ,Table 5 and Table 6. 4つのアプリケーションに対するそれぞれのアプローチに対するアノテータのオーバーラップの詳細は、テーブル3、テーブル4、テーブル5、テーブル6に記載されている。 0.77
We can conclude that the outliers identified by our approach are more relevant. 私たちのアプローチで特定された外れ値の方が適切だと結論付けることができます。 0.48
The low overlap numbers also indicate the highly difficult and subjective nature of this task. 低重なり数もまた、このタスクの非常に困難で主観的な性質を示している。 0.63
A Notation Different notations used in the paper are summarized in Ta2ble 1 表記 論文で使われる表記法はTa2ble 1で要約される。 0.47
B Outliers B.1 Examples of an outlier from the source code We define outliers as classes that have no unique business functionality identity. b 外れ値 B.1 ソースコードからのoutlierの例 私たちはoutlierをユニークなビジネス機能IDを持たないクラスとして定義します。 0.62
Primarily, these are classes that are overloaded with multiple business functionalities as seen in Figure 6. 主に、図6に示すように、これらは複数のビジネス機能でオーバーロードされるクラスです。 0.78
Daytrader 8 is an online stock trading monolith application. Daytrader 8はオンライン株取引モノリスアプリケーションである。 0.89
The application allows users to setup the trading platform like configuring the database, user account and trading amount etc. このアプリケーションでは、データベースやユーザアカウント、トレーディング量の設定など、トレーディングプラットフォームの設定が可能になる。 0.72
Once setup the platform allows users to view market summary, check stock quotes, and buy or sell stocks. プラットフォームをセットアップすると、ユーザーは市場の概要を見たり、株価をチェックしたり、株式を購入したり、売ったりできる。 0.59
TradeDirect is one of the core class in the application which implements TradeServices interface. TradeDirectは、TradeServicesインターフェースを実装したアプリケーションの中核クラスの1つである。 0.79
This interface exposes six different abstract functionalities through roughly twenty methods to implement. このインターフェースは、実装する約20のメソッドを通じて6つの異なる抽象機能を公開する。 0.62
TradeDirect implements the interface and provides logical support to all six business functionalities. TradeDirectはインターフェイスを実装し、6つのビジネス機能をすべて論理的にサポートします。 0.69
Now, the identity of this class is overloaded and therefore, become top refactor candidates for the developers. 現在、このクラスのアイデンティティはオーバーロードされ、開発者にとって最高のリファクタリング候補になる。 0.61
Developers tend to breakdown the methods and separate them into six classes specific to the business functionality. 開発者はメソッドを分解し、ビジネス機能に特有の6つのクラスに分割する傾向があります。 0.71
There can be other type of outliers too like classes that doesn’t support any business functionality but the core business function classes depend on them for completion. ビジネス機能をサポートしていないが、コアビジネスファンクションクラスは完成のためにそれらに依存するクラスのように、他のタイプの例外もある。 0.76
They can be identified by dependencies from multiple classes. 複数のクラスからの依存関係によって識別できる。 0.68
Typically, utilities display such a behavior. 通常、ユーティリティはそのような動作を表示する。 0.60
2 lists the top five outliers determined by the three attributed graph neural network based methods (CO-GCN, GCN and DGI) for each of the four monolith applications namely Daytrader 9, Plantsbywebsphere (PBW) 10, Acme-Air11, Diet App12. 2では、Daytrader 9, Plantsbywebsphere (PBW) 10、Acme-Air11、Diet App12という4つのモノリスアプリケーションそれぞれについて、3つの属性付きグラフニューラルネットワーク(CO-GCN、GCN、DGI)で決定される上位5つをリストアップしている。 0.63
B.2 Details of Outlier Evaluation Study To study the goodness of the outliers, we performed a qualitative study with five software engineers who have minimum seven years industrial experience. B.2 アウトリーヤ評価試験の詳細 アウトリーヤの良し悪しを調べるため,7年以上の産業経験を有する5人のソフトウェアエンジニアによる定性調査を実施した。 0.75
We randomly presented them an overview of two out of the four four monoliths and shared their code repositories. 4つのモノリスのうち2つの概要をランダムに提示し、コードリポジトリを共有しました。 0.69
We requested them to manually go through the program classes to understand the functionality exposed and the classes that come together to support them. 公開する機能とそれらをサポートするために集まったクラスを理解するために、手作業でプログラムクラスを通すように要求しました。 0.66
We intentionally did not explain the application details since it might influence their perspective of outliers. 私たちは意図的にアプリケーションの詳細を説明しませんでした。 0.55
Application understanding is an time consuming and specialized activity. アプリケーション理解は、時間と専門的な活動です。 0.82
All the annotators had prior experience in building web applications and are proficient in the language used in the monolith applications. すべてのアノテーションは、webアプリケーション構築の経験があり、モノリスアプリケーションで使われる言語に熟達しています。 0.72
All the annotator took roughly twenty four hours to study the monoliths. すべてのアノテータは、モノリスを研究するのに約204時間かかった。 0.56
For the study, we asked each annotator to rank the top five refactor candidate classes for the two application they were presented. そこで本研究では,各アノテータに対して,提示した2つのアプリケーションについて,上位5つのリファクタリング候補クラスをランク付けするように求めた。 0.60
We then compared them with the outliers identified by CO-GCN, GCN and DGI methods. 次に,CO-GCN法,GCN法およびDGI法で同定した外れ値と比較した。 0.61
On an average, 8https://github.com/ WASdev/sample.daytra der7 9https://github.com/ WASdev/sample.daytra der7 10https://github.com /WASdev/sample.plant sbywebsphere 11https://github.com /acmeair/acmeair 12https://github.com /SebastianBienert/Di etApp/ 平均すると、 8https://github.com/ WASdev/sample.daytra der7 9https://github.com/ WASdev/sample.daytra der7 10https://github.com /WASdev/sample.plant sbywebsphere 11https://github.com /acmeair/acmeair 12https://github.com /SebastianBienert/Di etApp/ 0.50
英語(論文から抽出)日本語訳スコア
Figure 6: TradeDirect class implements TradeServices interface to support six different business functionalities through the twenty two methods. 図6:TradeDirectクラスは2つのメソッドを通じて6つの異なるビジネス機能をサポートするTradeServicesインターフェースを実装しています。 0.66
This overladed business functionality classs is considered outlier class and becomes a candidate refactorable class for the developer to break into six classes containing only specific business function methods この過剰なビジネス機能クラスは、外れたクラスと見なされ、開発者が特定のビジネス機能メソッドのみを含む6つのクラスに分解できる候補リファクタリング可能なクラスとなる。 0.70
英語(論文から抽出)日本語訳スコア
Dataset Approaches データセット アプローチ 0.68
CO-GCN Daytrader CO-GCN デイトレーダ 0.58
GCN DGI CO-GCN GCN DGI CO-GCN 0.76
PBW GCN DGI PBW GCN DGI 0.85
CO-GCN Acme-Air CO-GCN アクメエア 0.58
GCN DGI CO-GCN GCN DGI CO-GCN 0.76
DietApp GCN DietApp GCN 0.85
DGI Top 5 Outliers classes DGI Top 5 Outliers クラス 0.82
1. com.ibm.websphere.sa mples.daytrader.web. jsf.AccountDataJSF 2. com.ibm.websphere.sa mples.daytrader.web. prims.PingJSONP 1. com.ibm.websphere.sa mples.daytrader.web. jsf.AccountDataJSF 2. com.ibm.websphere.sa mples.daytrader.web. prims.PingJSONP 0.17
3. com.ibm.websphere.sa mples.daytrader.util .FinancialUtils 4. com.ibm.websphere.sa mples.daytrader.dire ct.TradeDirect 3.com.ibm.websphere. samples.daytrader.ut il.FinancialUtils 4.com.ibm.websphere. samples.daytrader.di rect.TradeDirect 0.18
5. om.ibm.websphere.sam ples.daytrader.Trade Action 5. om.ibm.websphere.sam ples.daytrader.Trade Action 0.25
1. com.ibm.websphere.sa mples.daytrader.web. prims.PingCDIBean 1.com.ibm.websphere. samples.daytrader.we b.prims.PingCDIBean 0.19
2. com.ibm.websphere.sa mples.daytrader.util .TradeConfig 2.com.ibm.websphere. samples.daytrader.ut il.TradeConfig 0.21
3. com.ibm.websphere.sa mples.daytrader.util .Log 3.com.ibm.websphere. samples.daytrader.ut il.Log 0.21
4. com.ibm.websphere.sa mples.daytrader.util .TradeDirect 4.com.ibm.websphere. samples.daytrader.ut il.TradeDirect 0.21
5. com.ibm.websphere.sa mples.daytrader.web. prims.PingJSONP 5.com.ibm.websphere. samples.daytrader.we b.prims.PingJSONP 0.19
1. com.ibm.websphere.sa mples.daytrader.web. jsf.QuoteData 1. com.ibm.websphere.sa mples.daytrader.web. jsf.QuoteData 0.20
2. com.ibm.websphere.sa mples.daytrader.util .KeyBlock 2.com.ibm.websphere. samples.daytrader.ut il.KeyBlock 0.21
3. com.ibm.websphere.sa mples.daytrader.util .Log 3.com.ibm.websphere. samples.daytrader.ut il.Log 0.21
4. com.ibm.websphere.sa mples.daytrader.web. prims.PingUpgradeSer vlet 4. com.ibm.websphere.sa mples.daytrader.web. prims.PingUpgradeSer vlet 0.20
5. com.ibm.websphere.sa mples.daytrader.web. prims.PingServletCDI 5.com.ibm.websphere. samples.daytrader.we b.prims.PingServletC DI 0.19
1. com.ibm.websphere.sa mples.pbw.ejb.ResetD BBean 2. com.ibm.websphere.sa mples.pbw.war.Shoppi ngBean 3. com.ibm.websphere.sa mples.pbw.war.Accoun tBean 4. com.ibm.websphere.sa mples.pbw.ejb.Custom erMgr 1. com.ibm.websphere.pb w.ejb.ResetDBBean 2. com.ibm.websphere.pb w.war.ShoppingBean 3. com.ibm.websphere.pb w.war.AccountBean 4. com.ibm.websphere.pb w.ejb.CustomerMgr 0.19
5. com.ibm.websphere.sa mples.pbw.jpa.OrderI tem 5. com.ibm.websphere.sa mples.pbw.jpa.OrderI tem 0.22
1. com.ibm.websphere.sa mples.pbw.ejb.EMailM essage 1. com.ibm.websphere.sa mples.pbw.ejb.EMailM essage 0.22
2. com.ibm.websphere.sa mples.pbw.ejb.Mailer Bean 3. com.ibm.websphere.sa mples.pbw.war.Accoun tBean 2. com.ibm.websphere.sa mples.pbw.ejb.Mailer Bean 3. com.ibm.websphere.sa mples.pbw.war.Accoun tBean 0.19
4. com.ibm.websphere.sa mples.pbw.war.LoginI nfo 5. com.ibm.websphere.sa mples.pbw.jpa.Suppli er 4. com.ibm.websphere.sa mples.pbw.war.LoginI nfo 5. com.ibm.websphere.sa mples.pbw.jpa.Suppli er 0.19
1. com.ibm.websphere.sa mples.pbw.ejb.EMailM essage 1. com.ibm.websphere.sa mples.pbw.ejb.EMailM essage 0.22
2. com.ibm.websphere.sa mples.pbw.war.LoginI nfo 3. com.ibm.websphere.sa mples.pbw.jpa.Suppli er 2. com.ibm.websphere.sa mples.pbw.war.LoginI nfo 3. com.ibm.websphere.sa mples.pbw.jpa.Suppli er 0.19
4. com.ibm.websphere.sa mples.pbw.utils.List Properties 5. com.ibm.websphere.sa mples.pbw.war.Accoun tBean 4. com.ibm.websphere.sa mples.pbw.utils.List Properties 5. com.ibm.websphere.sa mples.pbw.war.Accoun tBean 0.19
1. com.acmeair.service. ServiceLocator 1.com.acmeair.servic e.ServiceLocator 0.34
2. com.acmeair.mongo.se rvices.BookingServic eImpl 2.com.acmeair.mongo. services.BookingServ iceImpl 0.28
3. com.acmeair.AirportC odeMapping 4. com.acmeair.loader.B ookingLoader 3.com.acmeair.Airpor tCodeMapping 4.com.acmeair.loader .BookingLoader 0.33
5. com.acmeair.mongo.se rvices.CustomerServi ceImpl 5.com.acmeair.mongo. services.CustomerSer viceImpl 0.28
1. com.acmeair.loader.L oader 1.com.acmeair.loader 0.36
2. com.acmeair.config.AcmeAirConfiguration.ServiceData 2.com.acmeair.config .AcmeAirConfiguratio n.ServiceData 0.29
3. com.acmeair.web.Book ingsREST 4. com.acmeair.config.LoaderREST 3.com.acmeair.web.Bo okingsREST 4.com.acmeair.config .LoaderREST 0.30
5. com.acmeair.mongo.se rvices.BookingServic eImpl 5.com.acmeair.mongo. services.BookingServ iceImpl 0.28
1. com.acmeair.config.AcmeAirConfiguration.ServiceData 1.com.acmeair.config .AcmeAirConfiguratio n.ServiceData 0.29
2. com.acmeair.mongo.se rvices.AuthServiceIm pl 2.com.acmeair.mongo. services.AuthService Impl 0.28
3. com.acmeair.service. AuthService 4. com.acmeair.service. ServiceLocator 5. com.acmeair.service. FlightService 3.com.acmeair.servic e.AuthService 4.com.acmeair.servic e.ServiceLocator 5.com.acmeair.servic e.FlightService 0.29
1. WebApplication1.Cont rollers.ManageContro ller 2. 1. WebApplication1.Cont rollers.ManageContro ller 2 0.71
WebApplication1.Cont rollers.ProductContr oller WebApplication1.Cont rollers.ProductContr oller 0.34
3. WebApplication1.Serv ices.ProductService 3. WebApplication1.Serv ices.ProductService 0.59
4. WebApplication1.Serv ices.DietService 5. 4. WebApplication1.Serv ices.DietService 5 0.71
WebApplication1.Mode ls.DietDbContext WebApplication1.Mode ls.DietDbContext 0.34
1. WebApplication1.Rout eConfig 2. 1. WebApplication1.Rout eConfig 2 0.80
WebApplication1.Filt erConfig WebApplication1.Filt erConfig 0.47
3. WebApplication1.Serv ices.ProductService 3. WebApplication1.Serv ices.ProductService 0.59
4. WebApplication1.Bund leConfig 4. WebApplication1.Bund leConfig 0.66
5. WebApplication1.Repo sitories.Concrete.Us erRepostiory 5. WebApplication1.Repo sitories.Concrete.Us erRepostiory 0.56
1. WebApplication1.Cont rollers.ManageContro ller 1. WebApplication1.Cont rollers.ManageContro ller 0.59
2. WebApplication1.Serv ices.DietService 2. WebApplication1.Serv ices.DietService 0.59
3. WebApplication1.Repo sitories.Concrete.Us erRepostiory 3. WebApplication1.Repo sitories.Concrete.Us erRepostiory 0.56
4. WebApplication1.Serv ices.ProductService 4. WebApplication1.Serv ices.ProductService 0.59
5. WebApplication1.Cont rollers.EntryControl ler 5. WebApplication1.Cont rollers.EntryControl ler 0.59
Table 2: Top five outliers detected using each of the approaches for the four monolith applications 表2:4つのモノリスアプリケーションに対するそれぞれのアプローチを用いて検出されたトップ5のアウトリー
訳抜け防止モード: 表2 : 上位5個検出。 4つのモノリスアプリケーションにそれぞれのアプローチを使って
0.81
英語(論文から抽出)日本語訳スコア
Dataset Annotator Approaches データセット アノテーションのアプローチ 0.61
Daytrader Annotator1 デイトレーダ annotator1 0.61
Annotator2 CO-GCN アノテーション2 CO-GCN 0.50
CO-GCN GCN DGI CO-GCN GCN DGI 0.72
GCN DGI # Overlapping Outlier classes GCN DGI # Outlier クラスをオーバーラップする 0.78
3 2 3 3 3 2 3 2 3 3 3 2 0.85
Table 3: Overlapping outliers for the three approaches from the two annotators for the Daytrader monolith application 表3:Daytraderモノリスアプリケーション用の2つのアノテータからの3つのアプローチのオーバーラップ 0.81
Dataset Annotator Approaches Dataset Annotatorのアプローチ 0.87
PBW Annotator1 PBW annotator1 0.75
Annotator2 CO-GCN アノテーション2 CO-GCN 0.50
CO-GCN GCN DGI CO-GCN GCN DGI 0.72
GCN DGI # Overlapping Outlier classes GCN DGI # Outlier クラスをオーバーラップする 0.78
3 2 2 3 3 3 3 2 2 3 3 3 0.85
Table 4: Overlapping outliers for the three approaches from the two annotators for the PlantsByWebsphere monolith application 表4: PlantsByWebsphereモノリスアプリケーション用の2つのアノテータからの3つのアプローチのオーバーラップ 0.84
Dataset Annotator Approaches データセット アノテーションのアプローチ 0.61
Acme-Air Annotator1 アクメエア annotator1 0.62
Annotator2 CO-GCN アノテーション2 CO-GCN 0.50
CO-GCN GCN DGI CO-GCN GCN DGI 0.72
GCN DGI # Overlapping Outlier classes GCN DGI # Outlier クラスをオーバーラップする 0.78
2 2 3 3 2 2 2 2 3 3 2 2 0.85
Table 5: Overlapping outliers for the three approaches from the two annotators for the Acme-Air monolith application 表5:Acme-Airモノリスアプリケーション用の2つのアノテータからの3つのアプローチのオーバーラップ 0.78
Dataset Annotator Approaches Dataset Annotatorのアプローチ 0.87
DietApp Annotator1 DietApp annotator1 0.75
Annotator2 CO-GCN アノテーション2 CO-GCN 0.50
CO-GCN GCN DGI CO-GCN GCN DGI 0.72
GCN DGI # Overlapping Outlier classes GCN DGI # Outlier クラスをオーバーラップする 0.78
2 2 2 4 2 4 2 2 2 4 2 4 0.85
Table 6: Overlapping outliers for the three approaches from the two annotators for the DietApp monolith application 表6:DietAppモノリスアプリケーション用の2つのアノテータからの3つのアプローチのオーバーラップ 0.81
                           ページの最初に戻る

翻訳にはFugu-Machine Translatorを利用しています。