• 検索結果がありません。

社団法人電子情報通信学会 THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS 信学技報 TECHNICAL REPORT OF IEICE プログラム実行履歴を用いたトランザクションファンクション抽出手法 森岡佑

N/A
N/A
Protected

Academic year: 2021

シェア "社団法人電子情報通信学会 THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS 信学技報 TECHNICAL REPORT OF IEICE プログラム実行履歴を用いたトランザクションファンクション抽出手法 森岡佑"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)

社団法人 電子情報通信学会 信学技報

THE INSTITUTE OF ELECTRONICS, TECHNICAL REPORT OF IEICE INFORMATION AND COMMUNICATION ENGINEERS

プログラム実行履歴を用いたトランザクションファンクション

抽出手法

森岡 佑

谷口 考治

楠本 真二

井上 克郎

英 繁雄

芝元 俊久

前田 憲一

津田 道夫

†大阪大学大学院情報科学研究科 〒560-8531 大阪府豊中市待兼山町 1-3

‡株式日立システムアンドサービス 〒108-8250 東京都港区港南 2-18-1

E-mail: †{ymorioka, kou-tngt, kusumoto, inoue}@ist.osaka-u.ac.jp,

‡{s-hanabusa, t-shibamoto, ke-maeda, m-tsuda}@hitachi-system.co.jp

あらまし ファンクションポイント(FP)法とは,ソフトウェアの持つ機能数を基に規模を測定する手法である.

通常,ファンクションポイント値は仕様書から計測される.しかし,FP の測定では測定者の判断が入るため,同一

の仕様書からの計測であっても誤差が出ることが指摘されている.また,FP を工数見積等に利用するためには,過

去に開発されたソフトウェアからの FP 計測を行う必要があり,最終的に実装されたプログラムからファンクショ

ンポイント値を計測する手法が求められている.ファンクションポイント値を計測するには,そのソフトウェア中

で利用されるデータを表すデータファンクションと,データファンクションへの入力またはデータファンクション

からの出力処理を表すトランザクションファンクションの特定が必要である.そこで本研究では,データファンク

ションと必要なテストデータが与えられるという前提で,プログラムの実行履歴とデータ依存関係解析結果を組み

合わせることによってトランザクションファンクションを特定する方法を提案する.更に実プログラムに提案手法

を適用し,有用性の確認を行う.

キーワード ファンクションポイント,トランザクションファンクション,プログラム実行履歴

Extraction of Transactional Function Using Method Execution Trace

Information

Yu MORIOKA

Koji TANIGUCHI

Shinji KUSUMOTO

Katsuro INOUE

Shigeo HANABUSA

Toshihisa SHIBAMOTO

Kenichi MAEDA

and Michio TSUDA

Graduate School of Information Science and Technology, Osaka University

1-3, Machikaneyama-cho,

Toyonaka, Osaka, 560-8531, Japan

‡Hitachi Systems & Services, Ltd. 2-18-1 Konan, Minatoku, Tokyo, 108-8250 Japan

E-mail: †{ymorioka, kou-tngt, kusumoto, inoue}@ist.osaka-u.ac.jp,

‡{s-hanabusa, t-shibamoto, ke-maeda, m-tsuda}@hitachi-system.co.jp

Abstract Function-point (FP) is a measure of software system size based on the functions of the system. Usually, it is

calculated from the design documents. However, it has been reported that since FP measurement involves judgment on the part

of the measurer, differences for the same product may occur even in the same organization. Also, if an organization tries to

introduce FPA, FP will have to be measured from the past software developed there, and this measurement is cost-consuming.

To calculate FP, we need to identify data function which shows the data used in the software, and transaction function which

shows the data input and output activities to/from data function. This paper presents a method for identifying transaction

function using method execution trace information of a program and data dependency analysis, provided the data function and

required test data is given. The proposed method is applied to actual software system and its effectiveness is confirmed.

Keyword Function-Point,Transaction Function,Execution Trace

1. は じ め に

ソ フ ト ウ ェ ア の 機 能 的 な 規 模 を 見 積 も る 手 段 の 1 つ と し て , Albrecht によ って ファ ンクシ ョン ポイ ント法 が 提 案 さ れ た [1].フ ァン クショ ンポ イン トは,ソフト ウ ェ ア の 持 つ 機 能 の 数 を も と に , そ の ソ フ ト ウ ェ ア の 規 模 を 測 定 す る 手 法 で あ り , ソ フ ト ウ ェ ア の 開 発 費 用

(2)

や 工 数 等 の 見 積 も り の 基 礎 と し て 利 用 さ れ る .一 般 に , フ ァ ン ク シ ョ ン ポ イ ン ト 法 に よ る 見 積 も り を 開 発 現 場 に 導 入 す る 際 に は , 過 去 の 開 発 に お い て 計 測 さ れ た フ ァ ン ク シ ョ ン ポ イ ン ト 値 と そ の 開 発 に 要 し た 開 発 工 数 や 開 発 期 間 等 の 実 績 デ ー タ を 蓄 積 し , フ ァ ン ク シ ョ ン ポ イ ン ト 値 と そ れ ら の 間 の 関 係 式 を 導 出 す る 必 要 が あ る . 蓄 積 さ れ た デ ー タ 数 が 不 十 分 な 場 合 , 関 係 式 の 正 確 性 が 低 下 し , 開 発 規 模 の 見 積 も り が 不 正 確 に な る . し た が っ て , 過 去 の 開 発 に お け る 成 果 物 か ら フ ァ ン ク シ ョ ン ポ イ ン ト 値 を 計 測 し な け れ ば な ら な い .し か し , 過 去 に 開 発 さ れ た ソ フ ト ウ ェ ア に は 設 計 仕 様 書 が 存 在 し な か っ た り , 最 終 成 果 物 で 実 装 さ れ て い る 機 能 が 設 計 仕 様 書 に 反 映 さ れ て い な か っ た り す る こ と が あ り , こ の よ う な 場 合 に は フ ァ ン ク シ ョ ン ポ イ ン ト 値 の 測 定 が 困 難 に な る . そ こ で , 本 研 究 で は , 最 終 成 果 物 で あ る プ ロ グ ラ ム 自 身 か ら フ ァ ン ク シ ョ ン ポ イ ン ト を 測 定 す る 手 法 の 開 発 を 目 的 と し て い る . 本 稿 で は , そ の 第 一 歩 と し て , プ ロ グ ラ ム の 全 て の 機 能 を 実 行 す る テ ス ト デ ー タ の 集 合 と デ ー タ フ ァ ン ク シ ョ ン の 情 報 を 与 え ら れ る と い う 条 件 の 基 で , プ ロ グ ラ ム か ら の ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン の 計 測 手 法 に つ い て 検 討 す る . 以 降 ,2. 節 では ファ ンクシ ョン ポイ ント法 ,およ び IFPUG 法 に つ い て 説 明 す る . 3. 節 で は Java 言 語 を 用 い て 開 発 さ れ た シ ス テ ム の 実 行 履 歴 か ら ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン を 計 測 す る 手 法 に つ い て ,4. 節で は 提 案 手 法 を 実 際 に 既 存 の ソ フ ト ウ ェ ア シ ス テ ム に 適 用 し た 実 験 結 果 に つ い て 説 明 す る .5. 節で 適用 実験の 考 察 , 6. 節で 関連 研究 を挙げ ,最 後に 7. 節で まとめ を 行 う .

2. フ ァ ン ク ショ ン ポ イン ト

2.1. 概 要

フ ァ ン ク シ ョ ン ポ イ ン ト 法 は , ソ フ ト ウ ェ ア に 含 ま れ て い る 機 能 規 模 の 大 き さ を 定 量 的 に 測 定 す る 手 法 で , A.J. Albrecht に よ っ て 1979 年 に 提 案 さ れ た . 機 能 量 の 計 測 で は , 計 測 対 象 ソ フ ト ウ ェ ア の 機 能 の う ち , 画 面 や 帳 票 ,フ ァ イ ル な ど を 通 じ た 情 報 の 入 出 力 に 着 目 し , そ れ ら を 種 類 別 に 数 え 上 げ , そ れ ぞ れ の 複 雑 さ に よ っ て 重 み 付 け を 行 っ て 加 算 し た 値 を 機 能 量 と す る . 現 在 , フ ァ ン ク シ ョ ン ポ イ ン ト 法 は 目 的 等 に 応 じ て 様 々 な 改 良 や 変 更 が 行 わ れ , 複 数 の 計 測 手 法 が 存 在 す る [2][3][4]. 本 研 究 で は , 数 多 く の フ ァ ン ク シ ョ ン ポ イ ン ト 法 の 中 か ら , フ ァ ン ク シ ョ ン ポ イ ン ト 標 準 化 の 中 心 的 組 織 で あ る IFPUG が 定め ている IFPUG 法によ る フ ァ ン ク シ ョ ン ポ イ ン ト の 計 測 を 対 象 と し て , プ ロ グ ラ ム 実 行 履 歴 を 用 い た ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン 計 測 手 法 に つ い て 提 案 を す る .

2.2. IFPUG 法

IFPUG 法 [1]は ,Albrecht が 提 案 し た フ ァ ン ク シ ョ ン ポ イ ン ト 法 に 対 し て 複 雑 さ の 評 価 の 客 観 化 や ル ー ル の 精 密 化 ・ 適 正 化 な ど の 変 更 を 行 っ た フ ァ ン ク シ ョ ン ポ イ ン ト 測 定 手 法 で あ る .図 1 で 示す よう に,Step1∼ Step7 ま で の 処 理 を 経 て 計 測 さ れ る . こ れ ら の Step の うち, ソ フ ト ウ ェ ア の 機 能 を 抽 出 す る の は Step3 のデ ータフ ァ ン ク シ ョ ン 計 測 と Step4 のト ランザ クシ ョン ファン ク シ ョ ン の 計 測 で あ り , こ の 2 つの Step が IFPUG 法 に お い て も っ と も 重 要 で あ る と い え る . 次 に , フ ァ ン ク シ ョ ン ポ イ ン ト 計 測 に お け る 重 要 な ス テ ッ プ と な る Step3・Step4,さら に step3,4 の 結果を 利 用 す る step5 に つい て説 明を 加え, ファ ンク ション ポ イ ン ト 値 の 具 体 的 な 算 出 法 に つ い て 記 述 す る . 図 1. ファ ンクシ ョン ポイ ント計 測手 順 Step3 デ ー タ フ ァ ン ク シ ョ ン の 計 測 デ ー タ フ ァ ン ク シ ョ ン と は ,「 ア プ リ ケ ー シ ョ ン 中 に あ り ユ ー ザ が 認 識 で き る 論 理 的 な 意 味 で の デ ー タ の ま と ま り 」 を 指 す . Step3 で は , ア プ リ ケー シ ョ ンの 中 か ら デ ー タ フ ァ ン ク シ ョ ン を 抽 出 し , フ ァ ン ク シ ョ ン タ イ プ を 与 え , 複 雑 さ を 測 定 す る . デ ー タ フ ァ ン ク シ ョ ン の フ ァ ン ク シ ョ ン タ イ プ は , 計 測 対 象 の ア プ リ ケ ー シ ョ ン 内 で 更 新 さ れ る 内 部 論 理 フ ァ イ ル (ILF: Internal Logi cal File) と ,計 測 対 象 の ア プ リ ケ ー シ ョ ン か ら 更 新 は 行 わ れ ず 参 照 の み が 行 わ れ る 外 部 イ ン タ ー フ ェ ー ス フ ァ イ ル (EIF: External Interface File) の 2 種 類 に 分 け ら れ る . 1 つ のア プリケ ーシ ョン には 複数の デ ー タ フ ァ ン ク シ ョ ン が 存 在 し , そ れ ぞ れ の デ ー タ フ ァ ン ク シ ョ ン は レ コ ー ド 種 類 (RET: Record Element Type),デ ー タ 項 目 (DET: Data Element Type)の 2 つ の パ ラ メ ー タ に よ っ て , 低 ・ 中 ・ 高 の 3 段 階に 重み 付けさ れ , こ の 重 み が フ ァ ン ク シ ョ ン の 複 雑 さ に な る . RET

(3)

は ILF や EIF のデ ータ のサ ブグル ープ ,DET は ユーザ が 識 別 で き る デ ー タ 項 目 を 表 し , 複 雑 さ を 決 定 す る た め に 表 1 の マトリ ック スが 使用さ れる . 表 1. デー タファ ンク ショ ンの複 雑さ Step4 ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン の 計 測 ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン と は ,「 ア プ リ ケ ー シ ョ ン に 対 す る デ ー タ の 出 入 り を 伴 う 処 理 」を 指 す . し た が っ て , ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン は デ ー タ フ ァ ン ク シ ョ ン の デ ー タ 項 目 に 対 し て 行 わ れ る 処 理 と 捉 え る こ と も で き る . Step4 で は , ア プリ ケ ー ショ ン の 中 か ら ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン を 抽 出 し , フ ァ ン ク シ ョ ン タ イ プ を 与 え , 複 雑 さ を 測 定 す る . ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン の フ ァ ン ク シ ョ ン タ イ プ は 外 部 入 力 (EI: External Input) , 外 部 出 力 (EO: External Output),外 部 照 会 (EQ: External Inquiry)の 3 種 類 に 分 け ら れ ,EI はデ ータ ファ ンクシ ョン のデ ータの 更 新 な ど の 入 力 処 理 , EO はデ ー タ フ ァ ンク シ ョ ンの デ ー タ を 加 工 し て ユ ー ザ に 提 供 す る 出 力 処 理 , EQ は デ ー タ フ ァ ン ク シ ョ ン の 単 純 検 索 情 報 を ユ ー ザ に 提 供 す る 処 理 と 定 義 さ れ て い る . 出 力 処 理 に お い て , 算 術 式 ・ 計 算 ・ 導 出 デ ー タ 生 成 ・ ILF の維 持管 理・ システ ム の 動 作 変 更 の 機 能 を ,1 つ以 上含む 処理を EO,どの 機 能 も 含 ま な い 処 理 を EQ とす る.デ ータ ファ ンクシ ョ ン と 同 様 に , 一 般 的 に 1 つの アプリ ケー ショ ンには 複 数 の ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン が 存 在 す る . そ れ ぞ れ の ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン は 関 連 す る デ ー タ フ ァ ン ク シ ョ ン 数 (FTR: File Type Referenced) と , 利 用 す る デ ー タ 項 目 (DET: Data Element Type)の 2 つ の パ ラ メ ー タ に よ っ て , 低 ・ 中 ・ 高 の 3 段階 に重み 付 け さ れ る .FTR は,トラ ンザ クショ ンフ ァン クショ ン に よ っ て 読 み 込 み ま た は 更 新 が 行 わ れ る ILF と,読 み 込 み が 行 わ れ る EIF を表 す. トラン ザク ショ ンファ ン ク シ ョ ン の 複 雑 さ は , 表 2 の マトリ ック スを 用いて 決 定 さ れ る . Step5 未 調 整 フ ァ ン ク シ ョ ン ポ イ ン ト 算 出 Step3・ step4 で 導 出 し た 各 フ ァ ン ク シ ョ ン に 対 し て 表 3 にし たが って FP 値を 計測 し,そ れら を合 計して 未 調 整 フ ァ ン ク シ ョ ン ポ イ ン ト を 算 出 す る . 表 2. トラ ンザク ショ ンフ ァンク ショ ンの 複雑 さ 《 (左 )外 部 入 力 (右 )外 部 出 力 , 外 部 照 会 》 表 3. 未調 整ファ ンク ショ ンポイ ント 算出 表 《 (左)デ ータ ファ ンクシ ョン (右 ) ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン 》

3. プ ロ グ ラ ム か ら の フ ァ ン ク シ ョ ン ポ イ ン ト

計 測

3.1. Java プログラム中のデータファンクション・トラン

ザクションファンクション

プ ロ グ ラ ム か ら ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン を 抽 出 す る た め に は ,Java プロ グラム 中で デー タファ ン ク シ ョ ン , ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン が そ れ ぞ れ ど の よ う に 実 装 さ れ て い る の か を 認 識 す る 必 要 が あ る . 実 際 に 運 用 さ れ て い る シ ス テ ム を 解 析 す る と , デ ー タ フ ァ ン ク シ ョ ン は し ば し ば 各 デ ー タ フ ァ ン ク シ ョ ン に 対 応 す る ク ラ ス と し て 実 装 さ れ る [6].そして ,各デ ー タ 項 目 は そ の ク ラ ス の フ ィ ー ル ド と し て 保 持 さ れ る . 一 方 , ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン は メ ソ ッ ド 呼 び 出 し 群 で 実 装 さ れ る [6].これ は,ト ラン ザク ション フ ァ ン ク シ ョ ン が 「 デ ー タ フ ァ ン ク シ ョ ン に 対 し て 行 わ れ る 入 出 力 処 理 」 と し て 捉 え ら れ る た め , デ ー タ フ ァ ン ク シ ョ ン の デ ー タ を 利 用 し て 何 ら か の 処 理 を 行 う メ ソ ッ ド 群 を ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン と 判 断 す る こ と が で き る か ら で あ る . 以 上 の 実 装 結 果 を 踏 ま え て , プ ロ グ ラ ム か ら ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン の フ ァ ン ク シ ョ ン ポ イ ン ト を 計 測 す る に は , 次 の 3 段 階の 処理が 必要 にな ると考 え ら れ る . (1) ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン を 構 成 し て い る と 考 え ら れ る メ ソ ッ ド 群 を 抽 出 (2) 各 メ ソ ッ ド 群 に よ っ て 行 わ れ る 処 理 か ら EI・ EO・ EQ の う ち 当 て は ま る 種 類 に 分 類 (3) 各 メ ソ ッ ド 群 を ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン と 考 え , フ ァ ン ク シ ョ ン ポ イ ン ト 算 出

(4)

本 稿 は ,(1)のトラ ンザ クシ ョンフ ァン クシ ョンを 構 成 し て い る と 考 え ら れ る メ ソ ッ ド 群 の 抽 出 を 目 的 と し , そ の 手 法 に つ い て 提 案 す る も の で あ る . プ ロ グ ラ ム の 実 行 履 歴 と デ ー タ 依 存 関 係 解 析 結 果 を 組 み 合 わ せ た メ ソ ッ ド 群 抽 出 手 法 に つ い て , 次 の 3.2.節で説 明す る.

3.2. 提 案 手 法

本 研 究 で は , デ ー タ フ ァ ン ク シ ョ ン と 必 要 な テ ス ト デ ー タ が 与 え ら れ る と い う 前 提 で , プ ロ グ ラ ム の 実 行 時 情 報 (以 下 , 実 行 履 歴 )と デ ー タ 依 存 関 係 解 析 結 果 を 組 み 合 わ せ る こ と に よ っ て ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン を 特 定 す る 方 法 を 提 案 す る . 具 体 的 に は , デ ー タ 依 存 関 係 解 析 結 果 を 基 に デ ー タ フ ァ ン ク シ ョ ン に 相 当 す る ク ラ ス か ら の デ ー タ フ ロ ー を 実 行 履 歴 上 に マ ッ ピ ン グ し , そ の デ ー タ フ ロ ー 情 報 を も と に 実 行 履 歴 上 の メ ソ ッ ド 呼 び 出 し 群 の 中 か ら ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン に 該 当 す る 処 理 を 抽 出 す る . こ の 処 理 を 図 示 し た も の が 図 2 であ る. この 図は取 得し た実 行履歴 を シ ー ケ ン ス 図 の 形 式 を 用 い て 表 し た も の で あ り , 実 線 矢 印 は メ ソ ッ ド 呼 び 出 し , 破 線 矢 印 は メ ソ ッ ド の 返 り 値 を 表 し て い る . な お , 本 手 法 は デ ー タ フ ァ ン ク シ ョ ン や テ ス ト デ ー タ を 事 前 に 与 え る 必 要 が あ る た め , 適 用 対 象 の ソ フ ト ウ ェ ア に 対 し て あ る 程 度 の 知 識 を も つ 者 が 利 用 す る こ と を 前 提 に し て い る . 図 2. 実 行履 歴 を 用 い た ト ラン ザ ク シ ョ ン フ ァン ク シ ョ ン 計 測 手 順 提 案 手 法 の 処 理 手 順 の 流 れ は 以 下 の 通 り で あ る . (1) 計 測 対 象 ソ フ ト ウ ェ ア の ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン を 実 行 し ,メ ソ ッ ド 呼 び 出 し 単 位 の 実 行 履 歴 を 取 得 (2) 静 的 解 析 に よ っ て デ ー タ 依 存 関 係 を 解 析 し ,入 力 と し て 与 え ら れ た デ ー タ フ ァ ン ク シ ョ ン に 相 当 す る ク ラ ス (以下 , DFC)の フ ィ ール ド 値に 関 連 す る デ ー タ フ ロ ー を 実 行 履 歴 上 に マ ッ ピ ン グ す る . (3) 範 囲 が 重 複 す る デ ー タ フ ロ ー を マ ー ジ (4) 得 ら れ た デ ー タ フ ロ ー を ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン と し て 抽 出 手 順 (2)で 扱う DFC の フィ ールド 値に 関連 するデ ー タ フ ロ ー に は ,DFC の フィ ール ド値が 取得 され てから 利 用 さ れ る ま で の デ ー タ フ ロ ー と , デ ー タ が 入 力 さ れ て か ら DFC のフ ィ ール ド値 に セッ ト され る まで のデ ー タ フ ロ ー の 2 種 類が ある.前者 をフ ォワー ドフ ロー, 後 者 を バ ッ ク ワ ー ド フ ロ ー と 呼 ぶ . 本 手 法 で は , 両 方 の デ ー タ フ ロ ー に つ い て 解 析 を 行 う . 手 順 (2)で 得ら れた データ フロ ーに おいて ,DFC の フ ィ ー ル ド 値 に 関 連 す る デ ー タ フ ロ ー の 中 で デ ー タ フ ロ ー 範 囲 が 重 複 す る 箇 所 は ,複 数 の DFC のデ ータ が同時 に 利 用 さ れ て い る こ と に な る . こ れ は , 何 ら か の 処 理 の 1 回分の 実行に おい て複 数の データ が同 時に 利用さ れ て い る と 考 え ら れ る . そ こ で 本 手 法 で は , 手 順 (3) で こ の よ う な 範 囲 が 重 複 す る デ ー タ フ ロ ー 群 を マ ー ジ し , 複 数 の デ ー タ に 関 連 す る デ ー タ フ ロ ー を 1 つのデ ー タ フ ロ ー に ま と め る . 図 3 は データ フロ ー範 囲をシ ー ケ ン ス 図 上 に 示 し た も の で あ る .曲 線 は DFC のフィ ー ル ド 値 の デ ー タ フ ロ ー 範 囲 を 表 し て お り , 図 中 の デ ー タ フ ロ ー 2 にお いて デー タフロ ーが マー ジさ れてい る . マ ー ジ 処 理 後 の 各 デ ー タ フ ロ ー 範 囲 内 に 含 ま れ る 複 数 の メ ソ ッ ド 群 は 1 つ 以上 の DFC の デー タを 利用し て 何 ら か の 処 理 を 行 っ て い る と 考 え ら れ る . そ こ で , そ の よ う な メ ソ ッ ド 呼 び 出 し 群 を , ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン の 1 回 の実 行とみ なし て抽 出する . 図 3. 重複 部分マ ージ 後の データ フロ ー範 囲

4. 適 用 実 験

4.1. 対 象 ソフトウェア

実 際 に 運 用 さ れ て い る , ソ フ ト ウ ェ ア 開 発 ツ ー ル の 貸 出 管 理 を 行 う シ ス テ ム に 対 し て 提 案 手 法 を 適 用 し た . 以 下 ,こ の ソ フ ト ウ ェ ア を ツ ー ル 貸 出 シ ス テ ム と 呼 ぶ . ツ ー ル 貸 出 シ ス テ ム に は 37 種類 のト ラン ザク ション フ ァ ン ク シ ョ ン が 含 ま れ て い る .こ の う ち 16 種 が一般

(5)

ユ ー ザ に よ る 操 作 で 実 行 さ れ ,残 り の 21 種 が管 理者の み の 操 作 に よ っ て 実 行 さ れ る . 今 回 の 実 験 で は , 一 般 ユ ー ザ の 操 作 に よ っ て 実 行 さ れ る 16 種 類のト ラン ザク ション ファ ンク ショ ンに対 し て 提 案 手 法 を 適 用 し た .

4.2. 実 験 方 法

適 用 実 験 は 以 下 の よ う な 手 順 で 行 っ た . ツ ー ル 貸 出 シ ス テ ム に お い て , 一 般 ユ ー ザ が 実 行 で き る 処 理 を 全 て 行 っ た 場 合 の 実 行 履 歴 を 取 得 す る . 取 得 し た 実 行 履 歴 に 対 し て 提 案 手 法 を 適 用 し , デ ー タ フ ロ ー 範 囲 を 出 力 す る . こ の デ ー タ フ ロ ー 範 囲 が 設 計 仕 様 書 に 記 述 さ れ た ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン 実 行 部 分 と 一 致 す る か ど う か を 確 認 す る . 実 行 履 歴 中 の メ ソ ッ ド 呼 び 出 し に は , 呼 び 出 さ れ た 順 に 初 期 値 を 1 とし た ID 番 号 がつけ られ てお り,デ ー タ フ ロ ー 範 囲 は こ の ID 番 号の 範囲 で出力 され る.

4.3. 結 果の評 価 方法

実 行 履 歴 取 得 時 に 設 計 仕 様 書 と ソ ー ス コ ー ド を も と に , 実 行 履 歴 中 で 各 ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン が 実 行 さ れ て い る 部 分 を , メ ソ ッ ド 呼 び 出 し ID 番 号 の 範 囲 と し て 取 得 し て お く . こ の ID 番 号の 範囲と 提 案 手 法 に よ り 出 力 さ れ た デ ー タ フ ロ ー 範 囲 が 1 対 1 で 対 応 す る 場 合 に , ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン が 正 し く 抽 出 さ れ た と 判 定 す る . 複 数 回 出 現 す る ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン は , そ の 全 て の 出 現 箇 所 に お い て デ ー タ フ ロ ー が 検 出 さ れ た 場 合 の み , 正 し く 抽 出 で き た と 判 定 す る .

4.4. 結 果

提 案 手 法 に よ っ て 検 出 し た デ ー タ フ ロ ー 範 囲 は 32 個 で あ っ た .こ の う ち 28 個 のデ ータフ ロー 範囲 におい て , 実 行 履 歴 に 現 れ る ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン と 1 対 1 で対応 して いた . 次 に 各 ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン に 対 し て , デ ー タ フ ロ ー 範 囲 と の 関 係 を 示 す .含 ま れ る 16 種類の ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン の う ち ,11 種 を正確 に 抽 出 す る こ と が で き た . 提 案 手 法 に よ っ て 得 ら れ た デ ー タ フ ロ ー 範 囲 と , 実 際 に 実 行 履 歴 に 含 ま れ て い る ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン を 比 較 し , 抽 出 で き た か ど う か を 示 し た も の が 表 4 で ある . ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン 「 物 品 詳 細 」・「 物 品 管 理 品 詳 細 」 は , そ の 次 に 実 行 さ れ る ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン に も デ ー タ フ ァ ン ク シ ョ ン の デ ー タ が フ ロ ー し て い た . そ の た め , そ れ ら の ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン に 対 応 す る デ ー タ フ ロ ー は , そ の 次 に 続 く ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン に 対 応 す る デ ー タ フ ロ ー に マ ー ジ さ れ て し ま っ て い た . し た が っ て , ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン と デ ー タ フ ロ ー 範 囲 が 1 対 1 の 対応 をし ていな かっ た. ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン 「 ア イ テ ム グ ル ー プ 検 索 (大 分 類)」・「 アイ テム グル ー プ検 索(中 分類 )」・ 「 コ ー ド テ ー ブ ル 検 索 」 を 表 す デ ー タ フ ロ ー は 「 物 品 新 規 登 録 」 に 対 応 す る デ ー タ フ ロ ー 範 囲 に 包 ま れ て い た た め , 検 出 で き な か っ た . こ れ は , 複 数 の ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン が 同 時 に 実 行 さ れ て い る こ と が 要 因 と な っ た 結 果 で あ る と 考 え ら れ る . 表 4. トラ ンザク ショ ンフ ァンク ショ ン抽 出結 果 トランザクションファンクション名 判定 利用中物品検索 ○ 使用中物品検索(条件付) ○ 物品検索 ○ 物品詳細 × 物品貸出 ○ 物品登録未承認案件一覧 ○ 物品新規登録(一般向け) ○ 物品登録未承認案件詳細 ○ 物品管理品一覧 ○ 物品管理品詳細 × 物品追加登録 ○ 備考表示 ○ 備考更新 ○ アイテムグループ検索(大分類) × アイテムグループ検索(中分類) × コードテーブル検索 ×

5. 考 察

提 案 手 法 で は ,「 デ ー タ フ ァ ン ク シ ョ ン -ク ラ ス」 と い う 対 応 を 仮 定 し て い る た め , 得 ら れ る 結 果 が 対 象 プ ロ グ ラ ム の 実 装 に 大 き く 依 存 す る こ と を 考 慮 す る 必 要 が あ る . し た が っ て , あ る 程 度 の コ ー ド 生 成 規 約 に 基 づ い て 対 象 プ ロ グ ラ ム を 生 成 す る こ と が 求 め ら れ る . 具 体 的 に は ,(1)プ ログ ラム 中で 扱うデ ータ 項目 は対応 す る ク ラ ス の フ ィ ー ル ド 値 に す る ,(2)デー タ項 目とし て 位 置 づ け ら れ る フ ィ ー ル ド 値 へ の ア ク セ ス に は , getter, setter の 利 用 を 推 奨 す る ,と い っ た 規 約 に 基 づ く コ ー デ ィ ン グ を 求 め る こ と に な る .こ の よ う な 規 約 は , 複 数 人 に よ る 開 発 に お け る 実 装 方 法 の 統 一 や コ ー ド の モ ジ ュ ー ル 化 を 進 め る 上 で も 重 要 で あ る . 対 象 プ ロ グ ラ ム の 実 装 に 依 存 し た 箇 所 と し て 他 に 挙 げ ら れ る の は ,ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン「 物 品 詳 細 」 と 「 物 品 管 理 品 詳 細 」 が 抽 出 で き な か っ た 点 で あ る .対 象 プ ロ グ ラ ム の ソ ー ス コ ー ド を 解 析 す る と , 詳 細 部 で 取 得 し た DFC のフ ィ ール ド 値を そ のま ま次 ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン で 利 用 す る よ う な 実 装 が 行 わ れ て い た た め に , 対 象 の ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン を 抽 出 で き な か っ た と い う こ と が 判 明 し た . こ の よ う な 誤 検 出 を 防 ぐ に は , 各 ト ラ ン ザ ク シ ョ ン 実 行 時 に , 利 用 す る デ ー タ フ ァ ン ク シ ョ ン の デ ー タ を 取 得 す る よ う な 実 装 規 約 が 必 要 で あ る . ま た , 複 数 の ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン が 同

(6)

時 に 実 行 さ れ て い る 場 合 , 現 在 の ア ル ゴ リ ズ ム で は 対 応 で き な い . 解 決 方 法 と し て , デ ー タ フ ァ ン ク シ ョ ン 指 定 時 に , 同 一 ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン 中 で 利 用 さ れ る デ ー タ 項 目 か ど う か を 付 加 情 報 と し て 与 え る と い う 方 法 が 考 え ら れ る . 重 複 す る デ ー タ フ ロ ー に お い て , 同 一 ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン 中 で 利 用 さ れ な い デ ー タ 項 目 の フ ロ ー が 検 出 さ れ て い た 場 合 に は 別 ト ラ ン ザ ク シ ョ ン の 実 行 と み な し , デ ー タ フ ロ ー 範 囲 を マ ー ジ せ ず に 出 力 す れ ば 同 時 に 進 行 し て い る ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン を 識 別 で き る . こ の 問 題 点 の 解 決 に は , 今 後 も 検 討 お よ び 試 行 が 必 要 で あ る .

6. 関 連 研 究

Sneed[7]は , Java 言 語 以 外 の プ ロ グ ラ ミ ン グ 言 語 で 実 装 さ れ て い る ソ フ ト ウ ェ ア に 対 し て , ソ ー ス コ ー ド か ら フ ァ ン ク シ ョ ン ポ イ ン ト を 計 測 す る 方 法 を 提 案 し て い る . COBOL のよ う な 旧 来 の プ ロ グラ ミ ン グ 言語 に 関 し て は , デ ー タ の 入 力 ・ 出 力 , お よ び デ ー タ ベ ー ス の 検 知 が 単 純 な た め フ ァ ン ク シ ョ ン ポ イ ン ト 計 測 が 行 い や す い . 一 方 , オ ブ ジ ェ ク ト 指 向 言 語 は 旧 来 の 言 語 に 比 べ て 入 出 力 や デ ー タ ベ ー ス の 認 識 が 困 難 で あ る た め , こ れ に 伴 っ て ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン ・ デ ー タ フ ァ ン ク シ ョ ン の 同 定 も 困 難 に な る と い う 見 解 を 示 し て い る . Ant oni ol ら [6]は ,オ ブ ジ ェ ク ト 指 向 言 語 で 記 述 さ れ た ソ フ ト ウ ェ ア に 対 し て , 独 自 の “Object-Oriented Functi on Points (OOFP)” と い う 指 標 を 策 定 し , 機 能 規 模 の 測 定 を 行 っ て い る .「 論 理 フ ァ イ ル - クラ ス」,「 ト ラ ン ザ ク シ ョ ン - メソッ ド」をそ れぞ れ対応 させ ,さ ら に メ ソ ッ ド に 関 し て は 入 出 力 の 種 類 を 考 慮 せ ず , 全 て “Service Requests (SRs)” として 処理 する .デ ータフ ァ ン ク シ ョ ン に お け る ク ラ ス の 集 約 や 継 承 に も 対 応 し て お り , 構 成 す る ク ラ ス の 組 み 合 わ せ に よ っ て 論 理 フ ァ イ ル を 全 部 で 4 種類 に分 類し ,それ ぞれ の組 み合わ せ に つ い て フ ァ ン ク シ ョ ン ポ イ ン ト 値 を 算 出 し て い る . ま た , 提 案 手 法 の 全 自 動 化 ツ ー ル も 作 成 し て お り , こ れ に よ っ て フ ァ ン ク シ ョ ン ポ イ ン ト 計 測 時 に 問 題 と な る , 曖 昧 さ や 測 定 者 の 主 観 性 を 排 除 し , 同 一 条 件 に お け る 客 観 的 な 計 測 を 可 能 に し て い る . ト ラ ン ザ ク シ ョ ン と メ ソ ッ ド を 対 応 さ せ る 点 が 本 研 究 と 類 似 し て い る が , Antoniol らは 1 個の メソ ッドを 1 個の トラ ンザク シ ョ ン に 対 応 さ せ て い る の に 対 し , 我 々 の 提 案 手 法 は 複 数 の メ ソ ッ ド を 1 個 のト ラン ザクシ ョン に対 応させ て い る . こ の こ と か ら , 提 案 手 法 は ソ ー ス コ ー ド 中 の ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン の 実 態 を よ り 正 確 に 反 映 し て い る と 考 え ら れ る .

7. ま と め

デ ー タ フ ァ ン ク シ ョ ン と 必 要 な テ ス ト デ ー タ が 与 え ら れ る と い う 前 提 で , プ ロ グ ラ ム 実 行 履 歴 を 利 用 し て ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン を 特 定 す る 手 法 を 提 案 し た . デ ー タ フ ァ ン ク シ ョ ン の デ ー タ に 対 し て 処 理 を 行 う メ ソ ッ ド 群 を 1 つ のト ランザ クシ ョン ファン ク シ ョ ン と す る こ と で ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン の 抽 出 を 行 い , 適 用 実 験 に お い て 手 法 の 妥 当 性 を 示 し た . 今 後 の 課 題 は , 重 複 し た デ ー タ フ ロ ー が 検 出 さ れ た 場 合 に , 同 一 ト ラ ン ザ ク シ ョ ン か , 別 ト ラ ン ザ ク シ ョ ン か の 判 定 を で き る よ う に す る こ と で あ る . さ ら に , 他 の ソ フ ト ウ ェ ア に 対 し て も 適 用 実 験 を 行 い , 手 法 の 汎 用 性 を 調 査 す る こ と も 課 題 で あ る . 最 終 的 に は , ト ラ ン ザ ク シ ョ ン フ ァ ン ク シ ョ ン 抽 出 結 果 を 基 に フ ァ ン ク シ ョ ン ポ イ ン ト を 算 出 し , 実 際 に 設 計 仕 様 書 か ら 測 定 し た 値 と の 比 較 も 実 施 し た い .

8. 謝 辞

本 研 究 は 一 部 科 学 研 究 費 補 助 金 基 盤 研 究 (C)(17500022) の 補 助 を 受 け て い る .

[1] IFPUG: “Functi on Point Counting Practi ces Manual, Release 4.2” , Internati onal Functi on Point Users Group, 2005.

[2] C.Symons, “Software Sizi ng and Estimating”, John Wiley & Sons, 1991.

[3] C.Symons, “Functi on Poi nt Anal ysis: Di ffi culties and Improvement”, IEEE Transacti ons on Software Engineering, Vol.14, No.1, pp.2-10, January, 1988. [4] G. Ant oni ol, R.Fiutem, C. Lokan, “Object -Oriented

Functi on Points: An Empiri cal Validati on”, Empiri cal Soft ware Engineeri ng, vol.8, No.3, pp.225-254, September, 2003.

[5] 谷 口 考 治 , 石 尾 隆 , 神 谷 年 洋 , 楠 本 真 二 , 井 上 克 郎 , “Java プ ロ グ ラ ム の 実 行 履 歴 に 基 づ く シ ー ケ ン ス 図 の 作 成”, ソ フ ト ウ ェ ア 工 学 の 基 礎 ワ ー ク シ ョ ッ プ (FOSE2004), pp.5-15, November, 2004. [6] G. Ant oni ol, C. Lokan, G. Caldiera, R.Fiutem, “A

Functi on Point -Like Measure for Object -Oriented Soft ware”, Empiri cal Soft ware Engineering, vol.4, No.3, pp.263-287, September, 1999.

[7] Harry M.Sneed, “Extracti on of Functi on-Points from Source-Code”, proceedings of the 10th Internati onal Workshop on New Approaches in Software Measurement, pp.135-146, Oct ober, 2000.

参照

関連したドキュメント

16 By combining the tissue clearing method CUBIC, melanin bleaching, and immunostaining, we succeeded in making the eye transparent and acquiring images of the retina from outside

情報理工学研究科 情報・通信工学専攻. 2012/7/12

Standard domino tableaux have already been considered by many authors [33], [6], [34], [8], [1], but, to the best of our knowledge, the expression of the

This paper presents a data adaptive approach for the analysis of climate variability using bivariate empirical mode decomposition BEMD.. The time series of climate factors:

The answer, I think, must be, the principle or law, called usually the Law of Least Action; suggested by questionable views, but established on the widest induction, and embracing

Finally, we give an example to show how the generalized zeta function can be applied to graphs to distinguish non-isomorphic graphs with the same Ihara-Selberg zeta

As with subword order, the M¨obius function for compositions is given by a signed sum over normal embeddings, although here the sign of a normal embedding depends on the

To derive a weak formulation of (1.1)–(1.8), we first assume that the functions v, p, θ and c are a classical solution of our problem. 33]) and substitute the Neumann boundary