• Search Research Projects
  • Search Researchers
  • How to Use
  1. Back to project page

2017 Fiscal Year Annual Research Report

Retrieving code clones that are harmful for software quality

Research Project

Project/Area Number 17H01725
Research InstitutionOsaka University

Principal Investigator

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

Project Period (FY) 2017-04-01 – 2020-03-31
Keywordsコードクローン / 自動生成ファイル / 自然さ
Outline of Annual Research Achievements

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

Current Status of Research Progress
Current Status of Research Progress

2: Research has progressed on the whole more than it was originally planned.

Reason

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

Strategy for Future Research Activity

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

  • Research Products

    (9 results)

All 2019 2018

All Journal Article (3 results) (of which Peer Reviewed: 2 results) Presentation (6 results) (of which Int'l Joint Research: 3 results)

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

    • Author(s)
      土居真之, 肥後芳樹, 有馬諒, 下仲健斗, 楠本真二
    • Journal Title

      情報処理学会論文誌

      Volume: 60 Pages: 542--650

    • Peer Reviewed
  • [Journal Article] 多粒度コードクローンの検出と評価2018

    • Author(s)
      幸佑亮, 肥後芳樹, 楠本真二
    • Journal Title

      情報処理学会論文誌

      Volume: 59 Pages: 1192--1202

    • Peer Reviewed
  • [Journal Article] 不適切に分割されたコミットに関する研究2018

    • Author(s)
      有馬諒, 肥後芳樹, 楠本真二
    • Journal Title

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

      Volume: 35 Pages: 164--170

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

    • Author(s)
      Ryo Arima
    • Organizer
      the 15th International Conference on Mining Software Repositories (MSR2018)
    • Int'l Joint Research
  • [Presentation] Toward Refactoring Evaluation with Code Naturalness2018

    • Author(s)
      Ryo Arima
    • Organizer
      the 26th International Conference on Program Comprehension (ICPC2018)
    • Int'l Joint Research
  • [Presentation] On the Naturalness of Auto-generated Code --Can We Identify Auto-Generated Code Automatically? --2018

    • Author(s)
      Masayuki Doi
    • Organizer
      the 26th International Conference on Program Comprehension (ICPC2018)
    • Int'l Joint Research
  • [Presentation] ソースコードの“自然さ”を用いたリファクタリング評価手法の検討2018

    • Author(s)
      有馬 諒
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会
  • [Presentation] ソースコードの「自然さ」を利用した自動生成ファイルの特定2018

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

    • Author(s)
      有馬 諒
    • Organizer
      ソフトウェアエンジニアリングシンポジウム2018

URL: 

Published: 2019-12-27  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi