2018 Fiscal Year Annual Research Report
A study on Frame-Based Refactoring
Project/Area Number |
15H02685
|
Research Institution | Ritsumeikan University |
Principal Investigator |
丸山 勝久 立命館大学, 情報理工学部, 教授 (30330012)
|
Co-Investigator(Kenkyū-buntansha) |
林 晋平 東京工業大学, 情報理工学院, 准教授 (40541975)
|
Project Period (FY) |
2015-04-01 – 2019-03-31
|
Keywords | ソフトウェアリファクタリング / ソフトウェア保守と進化 / 不吉な臭い / 技術的負債 / ソフトウェア開発環境 / プログラム解析 / プログラム理解 |
Outline of Annual Research Achievements |
リファクタリングにおいて、開発者や保守者の立場によって保存すべき外部的振る舞いは異なると考えることは妥当である。本研究では、リファクタリングにおける外部的振る舞いの保存に対して、フレームという概念を導入することで、リファクタリングにおいて開発者が意識しているものと意識していないものを分離するための仕組みを確立する。平成30年度は、主に3つの研究項目を実施した。 1.メソッド抽出リファクタリングを適用した際、抽出後のメソッドの振る舞いが保存されていることを確認するためのテストコードを自動生成する手法を実装したプロトタイプツールを作成した。具体的には、抽出したメソッドを呼び出すもとのメソッドに対してテストを実行し、抽出したメソッドの入力値と出力値の対を収集する。テストケースを生成するだけでなく、収集した入出力値とプログラムスライシングを組み合わせることで、テストコードの自動生成まで達成した。 2.リファクタリングの適用を判断する基準となるコードの不吉な臭い(code smell)の自動検出や不吉な臭いをバグの発生箇所の局所化に利用する手法の検討を行った。従来のようにメトリクス値を単純に利用するのではなく、メトリクス値の相対的な変化に着目することで不吉な臭いの検出精度が向上する可能性を示した。また、不吉な臭いを活用することで、バグ修正が必要なモジュールの予測精度が向上することを示した。 3.統合開発環境において、リファクタリング操作およびその適用前後に行われたコードの編集操作を自動的に収集するツールを評価するための評価実験を実施した。実験では、リファクタリング操作を中心をしたプログラミング活動の9つのタスクを設定し、従来ツールおよび提案ツールにより収集可能な編集操作の精度と収集した編集操作の理解度に対して比較を行い、提案ツールの有用性を示した。
|
Research Progress Status |
平成30年度が最終年度であるため、記入しない。
|
Strategy for Future Research Activity |
平成30年度が最終年度であるため、記入しない。
|
Research Products
(10 results)