論文紹介:
"Microservice候補の自動抽出"
(他2本)
新山 祐介
2018年12月25日
https://euske.github.io/

ソフトウェア工学研究における2つの柱

  1. プログラムのふるまいを理解する
    (主なアプローチ: 動的解析)
  2. プログラマー (の意図) を理解する
    (主なアプローチ: 静的解析)

a と b が一致しているとき、 そのソフトウェアはベストな状態といえる。

紹介する論文

論文1: SArF Clustering

SArF (Software Architecture Finder) の特徴

評価方法

論文2: SArF Map

SArF Map の特徴:

生成手法:

  1. Jarファイル解析。
  2. SArFクラスタリングを実行。
  3. 各クラスを2次元ブロックとしてレイアウト。
  4. 街路をレイアウト。
  5. 付加情報をオーバレイ(色など)として追加。

2次元レイアウト

評価方法

論文3: Microservicesの検出

基本的な戦略

  1. 各モジュールの API となる部分を発見する。
  2. 依存関係が少ないモジュール (クラスタ) を microservice の候補とする。
  3. 複数のモジュールから依存されている共通部分は各 microservice で複製する。
  4. ただしデータベースは原子性が失われるので複製しない。

プログラム解析

評価方法

読んだ感想