2015 Fiscal Year Annual Research Report
複数言語で開発されたウエブアプリケーションからのコードクローン検出
Project/Area Number |
15H06344
|
Research Institution | Osaka University |
Principal Investigator |
崔 恩瀞 大阪大学, 国際公共政策研究科, 助教 (90755943)
|
Project Period (FY) |
2015-08-28 – 2017-03-31
|
Keywords | ソフトウェア工学 |
Outline of Annual Research Achievements |
ウェブアプリケーションを対象としたコードクローン検出ツールの実装を行った.特に,本ツールの主要部分の「複数言語で記述されたプログラムの分割」および「コールグラフの構築」,「類似サービス記述の特定」を実装した. (1)複数言語で記述されたプログラムの分割:ウェブアプリケーション開発では,単一ウェブページの表示部分(Model-View-ControllerアーキテクチャのView)のための実装が複数言語で記述されることが多い.このように,単一ファイルが複数言語で実装される場合は,単一ファイルが単一の言語で実装されるように分割するように実装した.例えば,単一ウェブページが静的な表示を行う部分はHTML,動的に処理内容を切り替える必要がある場合はJavascriptで記述すされた場合,HTMLとJavascriptを分割するように実装した. (2)コールグラフの構築:ウェブアプリケーションに含まれるプログラム間の静的コールグラフを構築した.各ノードは元々単一言語で記述された,もしくは(1)における分割によって作成されたプログラムファイルの1つである. (3)類似サービス記述の特定: 呼出しグラフから同型部分グラフの同値類を検出することにより類似サービスを特定した.ノード(プログラムファイル)間において,ホワイトスペースや識別子名の差異を除いて等価であれば,それらノードは等価であるとしたため,ノードの等価性判定については容易に実装することができた.
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
既存研究を活用することで,容易に実装をすすめることができた
|
Strategy for Future Research Activity |
開発した検出ツールの評価および改善を行う.評価項目については,検出精度(Precision,Recall)および検出時間やメモリ消費量に関するスケーラビリティを計測する. 評価実験では,企業が開発したウェブアプリケーション(グループウェア)に開発したツールを適用し,そのウェブアプリケーションへの適用にあたって,最初に仕様書や設計書上で類似したサービスを本研究で開発したツールが検出できているか評価を行う. また,本研究で開発したツールが検出したが,仕様書や設計書上では類似していない,もしくは本研究で開発したツールが検出しなかったが,仕様書や設計書上では類似しているケースについて,対象ウェブアプリケーションを担当した開発者にアンケートを実施し,検出精度の計測および不一致の原因を考察する.考察した結果,検出ツールに問題点が会った場合は改善および再評価を行う.検出速度やメモリ消費量についても,開発者からみて問題ないかアンケートを行う. 適用実験の対象を増加させるために,OSS(Open Source Software)プロジェクトに置いて開発したウェブアプリケーションも対象として実験を行う.類似サービス記述の正確集合については,OSSプロジェクトに公開されているドキュメントやテストケースを基に定義する.定義にあたって,テストケース実行時に呼び出されたプログラムファイルを参考にする.また,複数のアプリケーションに対して検出時間やメモリ消費量を計測することにより,開発したツールのスケーラビリティが十分であるか考察を行う.
|
Research Products
(1 results)