• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2017 年度 実績報告書

ソフトウェア品質に悪影響を与えうるコードクローンの取得

研究課題

研究課題/領域番号 17H01725
研究機関大阪大学

研究代表者

肥後 芳樹  大阪大学, 情報科学研究科, 准教授 (70452414)

研究期間 (年度) 2017-04-01 – 2020-03-31
キーワードコードクローン / 自動生成ファイル / 自然さ
研究実績の概要

本年度は,プログラミング言語に依存するコードクローンを取り除く手法の準備として,コードクローンを検出する必要が無いファイルの自動特定手法を考案した.提案手法は,開発者が手作業により作成したコードとコンパイラコンパイラ等のツールにより自動生成したファイルを自動分類するためのものである.前者はコードクローンを検出し保守作業を行う必要があるが,後者についてはその必要が無いため,そもそもコードクローンを検出すること自体が無駄である.自動生成したファイルを人間が手直しして利用することはないのがその理由である.そのようなファイルを自動特定し,コードクローンの検出対象から除外することにより,検出する価値がないコードクローンを人間が目で見る手間を省くことができる.
提案手法をツールとして実現した.実装したツールはまず人間が手動で分類した結果(開発者が作成したファイルと自動生成ファイル)を受け取り,機械学習のモデルを構築する.そして,判定したいファイルを入力として受け取り,そのファイルが手作業により作成されたものか自動生成かを判定する.最初に人間が手動で判定した結果を必要とするのが手間ではあるが,一度モデルを構築してしまえば,同じプログラミング言語であればどのソフトウェアに対しても適用可能である.
オープンソースソフトウェアに対して評価実験を行ったところ,約95~99%の精度で,自動特定できることを確認した.

現在までの達成度 (区分)
現在までの達成度 (区分)

2: おおむね順調に進展している

理由

コードクローンを検出する価値がないファイルを自動特定する手法を考案し,その手法が極めて高精度で自動生成ファイルを特定できることを確認した.
実施内容の中には当初は予定していなかった作業も含んではいるが,3年間の研究計画で問題なく当初の予定を達成できる見込みであり,初年度の成果としては順調に進展していると言える.

今後の研究の推進方策

今年度は,複数プロジェクトからコードクローンを同時に検出することにより,ソフトウェア品質に悪影響を与えるクローンかどうかを自動判定する手法に取り組む.例えば,100のソフトウェアから同時にクローンを検出して,そのうちの80のソフトウェアにまたがって存在するクローンは,ソフトウェア固有の問題で発生したコードクローンではなく,そのプログラミング言語の都合上,どうしても生成されてしまうと考えられる.
また,複数プロジェクトからの同時検出した結果を可視化および分析するツールの開発も行う.

  • 研究成果

    (9件)

すべて 2019 2018

すべて 雑誌論文 (3件) (うち査読あり 2件) 学会発表 (6件) (うち国際学会 3件)

  • [雑誌論文] 言語モデルによるソースコードの「自然さ」を利用した自動生成ファイルの特定2019

    • 著者名/発表者名
      土居真之, 肥後芳樹, 有馬諒, 下仲健斗, 楠本真二
    • 雑誌名

      情報処理学会論文誌

      巻: 60 ページ: 542--650

    • 査読あり
  • [雑誌論文] 多粒度コードクローンの検出と評価2018

    • 著者名/発表者名
      幸佑亮, 肥後芳樹, 楠本真二
    • 雑誌名

      情報処理学会論文誌

      巻: 59 ページ: 1192--1202

    • 査読あり
  • [雑誌論文] 不適切に分割されたコミットに関する研究2018

    • 著者名/発表者名
      有馬諒, 肥後芳樹, 楠本真二
    • 雑誌名

      コンピュータソフトウェア

      巻: 35 ページ: 164--170

  • [学会発表] A Study on Inappropriately Partitioned Commits --How Much and What Kinds of IP Commits in Java Projects? --2018

    • 著者名/発表者名
      Ryo Arima
    • 学会等名
      the 15th International Conference on Mining Software Repositories (MSR2018)
    • 国際学会
  • [学会発表] Toward Refactoring Evaluation with Code Naturalness2018

    • 著者名/発表者名
      Ryo Arima
    • 学会等名
      the 26th International Conference on Program Comprehension (ICPC2018)
    • 国際学会
  • [学会発表] On the Naturalness of Auto-generated Code --Can We Identify Auto-Generated Code Automatically? --2018

    • 著者名/発表者名
      Masayuki Doi
    • 学会等名
      the 26th International Conference on Program Comprehension (ICPC2018)
    • 国際学会
  • [学会発表] ソースコードの“自然さ”を用いたリファクタリング評価手法の検討2018

    • 著者名/発表者名
      有馬 諒
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
  • [学会発表] ソースコードの「自然さ」を利用した自動生成ファイルの特定2018

    • 著者名/発表者名
      土居 真之
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
  • [学会発表] リファクタリングによる自然さの変化に関する調査 --自然さによるリファクタリング支援を目指して--2018

    • 著者名/発表者名
      有馬 諒
    • 学会等名
      ソフトウェアエンジニアリングシンポジウム2018

URL: 

公開日: 2019-12-27  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi