自動テスト生成技術を利用した機能等価メソッドデータセットの構築

情報処理学会 HANDLE オープンアクセス

抄録

現代の高水準プログラミング言語は多種多様な文法を持ち,必要な機能をさまざまな方法で実装できる.ソースコードが公開されているオープンソースソフトウェアにおいても同じ機能を異なる方法で実装したコードが大量に存在しており,それらを集めることでソフトウェア工学のさまざまな研究に役立つデータセットを構築できると著者らは考えた.本研究では,約 3 億 1,400 万行の Java のソースコードから,機能が同じであるが構造が異なるメソッドのペアのデータセットを構築する.このデータセットを構築するために,テスト自動生成技術を利用した.テスト自動生成技術は,対象メソッドに対して成功するテストケースを生成する.この性質を利用して,2 つのメソッドから生成されたテストケースを相互に実行することにより,その 2 つのメソッドの振る舞いがある程度同じかどうかを自動的に判定した.自動判定を通過したメソッドのペアは,手作業により機能の等価性を判定した.また,本論文では,構築したデータセットを利用してコードクローン検出ツールの性能評価を行った結果についても報告する.構築されたデータセットはGitHub (https://github.com/YoshikiHigo/FEMPDataset) で公開されている.

収録刊行物

キーワード

詳細情報 詳細情報について

問題の指摘

ページトップへ