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

自動修正適合性:新しいソフトウェア品質指標の創成と普及

研究課題

研究課題/領域番号 21K18302
研究種目

挑戦的研究(開拓)

配分区分基金
審査区分 中区分60:情報科学、情報工学およびその関連分野
研究機関大阪大学

研究代表者

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

研究分担者 林 晋平  東京工業大学, 情報理工学院, 准教授 (40541975)
松本 真佑  大阪大学, 大学院情報科学研究科, 助教 (90583948)
研究期間 (年度) 2021-07-09 – 2025-03-31
研究課題ステータス 交付 (2023年度)
配分額 *注記
24,440千円 (直接経費: 18,800千円、間接経費: 5,640千円)
2024年度: 4,550千円 (直接経費: 3,500千円、間接経費: 1,050千円)
2023年度: 4,940千円 (直接経費: 3,800千円、間接経費: 1,140千円)
2022年度: 7,670千円 (直接経費: 5,900千円、間接経費: 1,770千円)
2021年度: 7,280千円 (直接経費: 5,600千円、間接経費: 1,680千円)
キーワード自動プログラム修正 / ミューテーションテスティング / 大規模言語モデル / コードクローン / プログラム解析 / 自動修正適合性 / テスト自動生成 / ソフトウェア品質 / 欠陥限局
研究開始時の研究の概要

本研究で提案する自動修正適合性とは,対象ソフトウェアとAPR技術との親和性を表すソフトウェアの新しい品質指標である.自動修正適合性に関して,本研究では以下の三項目に取り組む.項目Aではソースコードの実装方法がAPRの成功/失敗に影響があることを明らかにする.項目Bではバグの特徴に基づいて自動修正適合性を自動計測する手法を考案する.項目Cでは自動修正適合性が低いプログラムを高いプログラムへと自動変換する手法を考案する.

研究実績の概要

2023年度は,2022年度に作成した大規模な機能等価メソッドのデータベースを利用して,大規模言語モデルに基づくコードクローン検出技術の検出精度向上に取り組んだ.大規模言語モデルを用いたコードクローン検出は,構文的な類似度が低いコードクローンに対して従来の検出技術よりも高い精度での検出ができることが知られている.しかしながら,GPT-3.5-turboやGPT-4では,構文的な類似度が低いコードクローンの精度が十分に高いとはいえない.またLlama2ではほぼ全てのメソッドペアをコードクローンとして判断してしまっているのが現状である.そこで,本研究ではこれらの大規模言語モデルに対して,機能等価メソッドをファインチューニングに用いることにより,コードクローンの検出精度向上を試みた.その結果,GPT-3.5-turboについては,誤検出は減ったが検出漏れが増えた.また,Llama2についても同様の傾向が見られ,全体の検出精度が向上したことが確認できた.
また,この機能等価メソッドデータベースを利用して自動修正適合性の計測も行った.機能等価なメソッドペアの両者に対して自動修正適合性を計測し,どのような場合にその値が異なるのかを調査した.その結果,Java言語については,if文を連続して書くよりは三項演算子を使うことで値が高くなることや,簡単な条件を持つif文を複数書くよりはそれらの条件を1つにした(条件が複雑になった)if文を1つだけ記述する方が値が高くなること等がわかった.この実験結果から,どのように人間がプログラムを記述すれば,自動プログラム修正技術によってバグ修正が行いやすくなるのかをある程度明らかにすることができた.

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

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

理由

特に問題は起こっておらず,研究は順調に進んでいる.

今後の研究の推進方策

2024年度については,CやPythonについても機能等価なメソッド/関数のデータベースについて取り組む予定である.そして作成したデータベースはGitHub等で公開し,他の研究者もこのデータベースを利用できるようにする.
また,2023年度に実施した大規模言語モデルを利用したコードクローン検出技術を機能等価メソッドデータベースを利用して精度向上する試みはまだ実験の規模が小さく,十分な成果が出ているとはいえない.2024年度については,より大規模な実験をさまざまなモデルを利用して行う.
また,自動修正適合性がソースコードのバグ修正や機能追加でどのように変遷していくのかについても調査を行う予定である.これにより,自動修正適合性という品質指標の観点からソフトウェア進化を評価することができると考えている.

報告書

(4件)
  • 2023 実施状況報告書
  • 2022 実施状況報告書
  • 2021 審査結果の所見   実施状況報告書
  • 研究成果

    (41件)

すべて 2024 2023 2022 2021 その他

すべて 雑誌論文 (6件) (うち査読あり 6件、 オープンアクセス 2件) 学会発表 (34件) (うち国際学会 12件) 備考 (1件)

  • [雑誌論文] 自動プログラム生成におけるプログラム依存を考慮した交叉の提案2024

    • 著者名/発表者名
      渡辺 大登、?本 真佑、肥後 芳樹、楠本 真二、倉林 利行、切貫 弘之、丹野 治門
    • 雑誌名

      情報処理学会論文誌

      巻: 65 号: 3 ページ: 718-728

    • DOI

      10.20729/00233254

    • ISSN
      1882-7764
    • 年月日
      2024-03-15
    • 関連する報告書
      2023 実施状況報告書
    • 査読あり / オープンアクセス
  • [雑誌論文] Dataset of Functionally Equivalent Java Methods and Its Application to Evaluating Clone Detection Tools2024

    • 著者名/発表者名
      Yoshiki Higo
    • 雑誌名

      IEICE Transactions on Information and Systems

      巻: E107-E

    • 関連する報告書
      2023 実施状況報告書
    • 査読あり
  • [雑誌論文] SemanticCloneBenchを用いた深層学習に基づくコードクローン検出手法の評価2024

    • 著者名/発表者名
      鶴智秋, 松下誠, 肥後芳樹
    • 雑誌名

      電子情報通信学会論文誌D

      巻: J107-D

    • 関連する報告書
      2023 実施状況報告書
    • 査読あり
  • [雑誌論文] 自動プログラム生成に対する多目的遺伝的アルゴリズムの導入 ー相補的な個体選択を目的としてー2022

    • 著者名/発表者名
      渡辺大登, 松本真佑, 肥後芳樹, 楠本真二, 倉林利行, 切貫弘之, 丹野治門
    • 雑誌名

      情報処理学会論文誌

      巻: 63 ページ: 1564-1573

    • 関連する報告書
      2022 実施状況報告書
    • 査読あり
  • [雑誌論文] Historinc: 細粒度履歴追跡のための増分的なリポジトリ変換ツール2022

    • 著者名/発表者名
      柴 駿太, 林 晋平
    • 雑誌名

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

      巻: 39 ページ: 75-85

    • 関連する報告書
      2022 実施状況報告書
    • 査読あり
  • [雑誌論文] Supporting Proactive Refactoring: An Exploratory Study on Decaying Modules and Their Prediction2021

    • 著者名/発表者名
      Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • 雑誌名

      IEICE Transactions on Information and Systems

      巻: E104.D 号: 10 ページ: 1601-1615

    • DOI

      10.1587/transinf.2020EDP7255

    • NAID

      130008095639

    • ISSN
      0916-8532, 1745-1361
    • 年月日
      2021-10-01
    • 関連する報告書
      2021 実施状況報告書
    • 査読あり / オープンアクセス
  • [学会発表] Osmy: A Tool for Periodic Software Vulnerability Assessment and File Integrity Verification using SPDX Documents2024

    • 著者名/発表者名
      Rio Kishimoto
    • 学会等名
      the 31th of the International Conference on Software Analysis, Evolution and Reengineering (SANER2024)
    • 関連する報告書
      2023 実施状況報告書
    • 国際学会
  • [学会発表] Autorepairability: A New Software Quality Characteristic2024

    • 著者名/発表者名
      Pongpop Lapvikai
    • 学会等名
      the 31th of the International Conference on Software Analysis, Evolution and Reengineering (SANER2024
    • 関連する報告書
      2023 実施状況報告書
    • 国際学会
  • [学会発表] 機能等価メソッドデータセットを利用したLLMによるコードクローン検出の精度向上2024

    • 著者名/発表者名
      井上龍太郎
    • 学会等名
      信学技報
    • 関連する報告書
      2023 実施状況報告書
  • [学会発表] Impacts of Program Structures on Code Coverage of Generated Test Suites2023

    • 著者名/発表者名
      Ryoga Watanabe
    • 学会等名
      the 24th International Conference on Product-Focused Software Process Improvement
    • 関連する報告書
      2023 実施状況報告書
    • 国際学会
  • [学会発表] Do Exceptional Behavior Tests Matter on Spectrum-Based Fault Localization?2023

    • 著者名/発表者名
      Haruka Yoshioka
    • 学会等名
      the 24th International Conference on Product-Focused Software Process Improvement (PROFES2023)
    • 関連する報告書
      2023 実施状況報告書
    • 国際学会
  • [学会発表] PyVerDetector: A Chrome Extension Detecting the Python Version of Stack Overflow Code Snippets2023

    • 著者名/発表者名
      Shiyu Yang
    • 学会等名
      the 31st IEEE/ACM International Conference on Program Comprehension (ICPC2023)
    • 関連する報告書
      2023 実施状況報告書
    • 国際学会
  • [学会発表] 自動テスト生成技術を利用した機能等価メソッドデータセットの構築2023

    • 著者名/発表者名
      肥後芳樹
    • 学会等名
      ソフトウェアエンジニアリングシンポジウム2023
    • 関連する報告書
      2023 実施状況報告書
  • [学会発表] 大規模データセットと多種ミューテーション演算子を利用した欠陥限局に適するプログラム構造の再調査2023

    • 著者名/発表者名
      久保光生
    • 学会等名
      ソフトウェアエンジニアリングシンポジウム2023
    • 関連する報告書
      2023 実施状況報告書
  • [学会発表] 例外処理を検査するテストが実行経路に基づく欠陥限局手法に与える影響の調査2023

    • 著者名/発表者名
      吉岡遼
    • 学会等名
      ソフトウェアエンジニアリングシンポジウム2023
    • 関連する報告書
      2023 実施状況報告書
  • [学会発表] Large-Scale Evaluation of Method-Level Bug Localization with FinerBench4BL2023

    • 著者名/発表者名
      Shizuka Tsumita
    • 学会等名
      the 30th IEEE International Conference on Software Analysis, Evolution and Reengineering
    • 関連する報告書
      2022 実施状況報告書
    • 国際学会
  • [学会発表] ソースコードの変更差分の学習に基づくリファクタリングコミットの識別2023

    • 著者名/発表者名
      青木 俊介
    • 学会等名
      情報処理学会ソフトウェア工学研究発表会
    • 関連する報告書
      2022 実施状況報告書
  • [学会発表] 語形と省略を考慮した一括名前変更リファクタリング支援2023

    • 著者名/発表者名
      大住 祐輝
    • 学会等名
      情報処理学会ソフトウェア工学研究発表会
    • 関連する報告書
      2022 実施状況報告書
  • [学会発表] 単語埋め込みによる言語横断バグ箇所検索2023

    • 著者名/発表者名
      大柴 昂輝
    • 学会等名
      情報処理学会ソフトウェア工学研究発表会
    • 関連する報告書
      2022 実施状況報告書
  • [学会発表] リファクタリング事例検索システムの設計と実装2023

    • 著者名/発表者名
      阿部 元輝
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
    • 関連する報告書
      2022 実施状況報告書
  • [学会発表] 事前構文定義を必要としないリファクタリング検出手法の提案2023

    • 著者名/発表者名
      古藤寛大
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
    • 関連する報告書
      2022 実施状況報告書
  • [学会発表] プログラム構造が自動生成テストの網羅率に与える影響の調査2023

    • 著者名/発表者名
      渡邉凌雅
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
    • 関連する報告書
      2022 実施状況報告書
  • [学会発表] スペクトラムに基づく欠陥限局に適したプログラム構造の再調査2023

    • 著者名/発表者名
      久保 光生
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
    • 関連する報告書
      2022 実施状況報告書
  • [学会発表] Classification of Changes Based on API2022

    • 著者名/発表者名
      Masashi Iriyama
    • 学会等名
      the 23rd International Conference on Product-Focused Software Process Improvement (PROFES2022)
    • 関連する報告書
      2022 実施状況報告書
    • 国際学会
  • [学会発表] Are NLP Metrics Suitable for Evaluating Generated Code2022

    • 著者名/発表者名
      Riku Takaichi
    • 学会等名
      the 23rd International Conference on Product-Focused Software Process Improvement (PROFES2022)
    • 関連する報告書
      2022 実施状況報告書
    • 国際学会
  • [学会発表] Improving Weighted-SBFL by Blocking Spectrum2022

    • 著者名/発表者名
      Haruka Yoshikoka
    • 学会等名
      the 22nd IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM2022)
    • 関連する報告書
      2022 実施状況報告書
    • 国際学会
  • [学会発表] Constructing Dataset of Functionally Equivalent Java Methods2022

    • 著者名/発表者名
      Yoshiki Higo
    • 学会等名
      the 19th International Conference on Mining Software Repositories (MSR2022)
    • 関連する報告書
      2022 実施状況報告書
    • 国際学会
  • [学会発表] Revisiting the Effect of Branch Handling Strategies on Change Recommendation2022

    • 著者名/発表者名
      Keisuke Isemoto
    • 学会等名
      the 30th IEEE/ACM International Conference on Program Comprehension
    • 関連する報告書
      2022 実施状況報告書
    • 国際学会
  • [学会発表] Impact of Change Granularity in Refactoring Detection2022

    • 著者名/発表者名
      Lei Chen
    • 学会等名
      the 30th IEEE/ACM International Conference on Program Comprehension
    • 関連する報告書
      2022 実施状況報告書
    • 国際学会
  • [学会発表] リポジトリマイニング手法に対する前処理としての履歴書き換えツールの試作2022

    • 著者名/発表者名
      柴 駿太
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
    • 関連する報告書
      2022 実施状況報告書
  • [学会発表] 探索に基づくリファクタリング推薦におけるレビュー工数見積もりの利用2022

    • 著者名/発表者名
      陳 磊
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
    • 関連する報告書
      2022 実施状況報告書
  • [学会発表] リポジトリ変換によるBug Localization手法の細粒度化とその評価2022

    • 著者名/発表者名
      積田 静夏
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
    • 関連する報告書
      2022 実施状況報告書
  • [学会発表] イミュータブルクラスを利用する必要性に関する調査 ~ハッシュ値を利用するデータ型を対象として~2022

    • 著者名/発表者名
      橋本 周
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
    • 関連する報告書
      2022 実施状況報告書
  • [学会発表] 構文誤りを含むプログラムを評価可能なソースコード用自動評価尺度の調査2022

    • 著者名/発表者名
      高市 陸
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
    • 関連する報告書
      2022 実施状況報告書
  • [学会発表] 自動修正適合性を用いた修正しやすいプログラム構造の評価2022

    • 著者名/発表者名
      前島葵
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
    • 関連する報告書
      2021 実施状況報告書
  • [学会発表] ソースコード変更パターンのプロジェクト共通性を考慮した変更推薦2022

    • 著者名/発表者名
      安藤直樹
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
    • 関連する報告書
      2021 実施状況報告書
  • [学会発表] 自動修正適合性:新しいソフトウェア品質指標とその計測2021

    • 著者名/発表者名
      九間哲士
    • 学会等名
      ソフトウェアエンジニアリングシンポジウム2021
    • 関連する報告書
      2021 実施状況報告書
  • [学会発表] ソースコードの時間変化がバグ限局に与える影響の調査2021

    • 著者名/発表者名
      三井亮称
    • 学会等名
      電子情報通信学会ソフトウェアサイエンス研究会
    • 関連する報告書
      2021 実施状況報告書
  • [学会発表] 細粒度履歴追跡のための増分的なリポジトリ変換ツールの設計と実装2021

    • 著者名/発表者名
      柴駿太
    • 学会等名
      日本ソフトウェア科学会第38回大会
    • 関連する報告書
      2021 実施状況報告書
  • [学会発表] 複合メトリクスのトレンド分析の効率化に向けて:モジュール腐敗度への適用2021

    • 著者名/発表者名
      林辰宜
    • 学会等名
      第28回ソフトウェア工学の基礎ワークショップ
    • 関連する報告書
      2021 実施状況報告書
  • [備考] FEMPDataset (機能等価メソッドペアデータセット)

    • URL

      https://github.com/YoshikiHigo/FEMPDataset

    • 関連する報告書
      2023 実施状況報告書

URL: 

公開日: 2021-07-13   更新日: 2024-12-25  

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

Powered by NII kakenhi