QUICK REVIEW
[論文レビュー] Identifying KDM Model of JSP Pages
Anas Shatnawi, Hafedh Mili|arXiv (Cornell University)|Jan 1, 2017
Scientific Computing and Data Management参考文献 2被引用数 2
ひとこと要約
本稿では、JSPページのKDMモデルを生成する2段階アプローチを提案する。まず、Jasperを用いてJSPをJava Servletに翻訳し、次に翻訳時に捉えきれないJSPタグの依存関係を強化することで、KDMモデルを豊かにする。この手法により、JSPベースのJEEアプリケーションをソフトウェア分析および保守のための構造化されたKDMモデルに完全に逆引き可能となる。
ABSTRACT
In this report, we propose our approach that identifies a KDM model of JSP pages. Our approach is based on two main steps. The first one aims to reduce the problem space by translating JSP pages into Java Servlets where we can use existing tools to identify a KDM model. The second step aims to complete the resulting KDM model by identifying dependencies of JSP tags that are not codified by the translation step.
研究の動機と目的
- スクリプト言語(例:JSP)で実装されたJEE技術のKDMモデルサポートの欠如に対処すること。
- JSPベースのJEEアプリケーションを構造化されたKDMモデルに逆引きして、ソフトウェア分析を可能にすること。
- JSP翻訳時に捉えきれない、JSPタグが導入する依存関係を特定・表現すること。
- MoDiscoなどの既存のKDM抽出ツールを、中間のServlet翻訳を通じてJSPページをサポートするように拡張すること。
- 将来のJSFなどの他のサーバーページ技術のKDMモデリングの基盤を提供すること。
提案手法
- Jasperツールを用いて、標準的なJSPライフサイクルマッピングを活用し、JSPページを同等のJava Servletに翻訳する。
- MoDiscoフレームワークを用いて、翻訳されたServletから予備のKDMモデルを抽出する。
- JSPページおよび構成ファイル(例:web.xml、@WebServletアノテーション)を解析し、URLおよびサーバーページマッピングを特定する。
- SAX2ベースのXMLパーサーを用いて、URLから対応するサーバーページへの照合テーブルを構築する。
- JSPタグ(例:<jsp:include>、<jsp:forward>)が翻訳時にJavaコードに変換されない依存関係を特定し、ターゲットページへの参照を抽出する。
- JSPページを表すClassUnitインスタンス間のメソッド呼び出し関係を挿入することで、初期のKDMモデルを修正する。
実験結果
リサーチクエスチョン
- RQ1既存のKDM抽出ツールがネイティブにサポートしないJSPページのKDMモデルを自動的に生成する方法は何か?
- RQ2JSP翻訳時に捉えきれない、JSPタグ(例:<jsp:include>、<jsp:forward>)が導入する主要な依存関係は何か?
- RQ3web.xmlおよび@WebServletアノテーションから、URLとサーバーページのマッピングを体系的に抽出する方法は何か? これは依存関係再構築に不可欠である。
- RQ4既存のKDM抽出ツール(例:MoDisco)は、中間のServlet翻訳を通じてJSPの逆引きにどの程度活用可能か?
- RQ5翻訳されたJavaコードに表現されていない、JSP間の依存関係を含めるために、結果のKDMモデルをどのように拡張できるか?
主な発見
- JSPをJava Servletに翻訳することで、既存のMoDiscoベースのKDM抽出ツールを活用し、JSPページのKDMモデルを成功裏に生成した。
- <jsp:include> や <jsp:forward> などのJSPタグは、翻訳されたJavaコードに表現されない依存関係を導入するため、明示的に捉える必要がある。
- web.xmlおよび@WebServletアノテーションの使用により、URLからサーバーページへの正確なマッピングが可能となり、これは依存関係再構築に不可欠である。
- SAX2 APIに基づくカスタムパーサーは、web.xmlからのURLからページへのマッピングを効果的に抽出し、自動化された依存関係モデリングを支援した。
- JSPページを表すClassUnitインスタンス間のメソッド呼び出し関係を挿入することで、KDMモデルを成功裏に拡張し、実行時依存関係を表現した。
- 本手法は、JSPベースのJEEアプリケーションにおける構造的要素およびページ間依存関係の両方を、妥当性と包括性をもってモデリングする可能性を示した。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。