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

2021 Fiscal Year Research-status Report

Autorepairability: creating and disseminating a new software quality indicator

Research Project

Project/Area Number 21K18302
Research InstitutionOsaka University

Principal Investigator

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

Co-Investigator(Kenkyū-buntansha) 林 晋平  東京工業大学, 情報理工学院, 准教授 (40541975)
松本 真佑  大阪大学, 情報科学研究科, 助教 (90583948)
Project Period (FY) 2021-07-09 – 2025-03-31
Keywords自動プログラム修正 / ミューテーションテスティング / テスト自動生成 / 自動修正適合性
Outline of Annual Research Achievements

2021年度はまず自動修正適合性を定義し,ソースコードのミューテーション技術を利用した自動修正適合性の計測手法を提案した.ミューテーション技術を利用して人工的なバグを含むソースコードを大量に生成し,その人工的なバグのうちどの程度を自動プログラム修正技術によって修正できたかを計測することにより,自動で人間の主観を入れることなく計測することができる.さらに,この計測手法の有効性を確かめるために,機能が等価であるがその構造が異なるJavaのメソッドのペアを数個用意し,それらの自動修正適合性を計測することにより,ソースコードの構造が自動プログラム修正技術によるバグ修正の成否に影響を与えうることを示した.また,この実験結果から,人間にとって良いとされているプログラム構造(「ネストが深くない」や「分岐が少ない」等)が必ずしも,自動プログラム修正にとっては良いとはいえないことがわかった.つまり,人間にとって扱いやすいプログラムは必ずしも機械にとって扱いやすいとは限らず,機械にバグ修正をさせるためには機械がバグ修正をしやすいようにソースコードを記述する必要があるかもしれないことがこの実験結果から伺えた.
2021年度の後半より,自動修正適合性の評価をするためのデータセットの構築についても準備を始めた.具体的には,同じ入力(引数)に対しては同じ出力(返値)を返すJavaのメソッド群をオープンソースソフトウェアから自動的に抽出する枠組みを構築している.これまでに,規模の小さいデータセットを試作して自動修正適合性の評価に使えるかを確かめるところまでは完了した.

Current Status of Research Progress
Current Status of Research Progress

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

Reason

当初の予定通り,2021年度はソースコードのミューテーション技術を利用した自動修正適合性の計測手法を考案し,その有用性を示すことができた.
また,自動修正適合性の評価のためのデータセットについても構築をはじめており,研究は順調に進んでいる.
新型コロナウイルスのため,成果発表が対面ではなくオンラインになってしまったが,研究の遂行に影響を与えるまでではない.
現在のところ,想定していなかった問題は起こっていない.

Strategy for Future Research Activity

2022年度については,2021年度の後半より開始したデータセットの構築を大規模なオープンソースソフトウェア群について行う.このデータセットの構築手順にはテストの自動生成や生成したテストを大量のメソッド群に対して実行する処理が含まれており,素直に全ての処理を行ってしまってはデータセットの構築ができない.そのため,うまく必要の無い処理を間引く経験則を導出する必要がある.この効率的なデータセットの構築と構築したデータセットの公開が2022年度の第一のタスクとして挙げられる.
さらに,構築したデータセットに対して,2021年度に提案した自動修正適合性の自動計測手法を適用し,ソースコードの構造と自動プログラム修正技術の関連性についての調査を始める.現時点でデータセットに含まれるメソッドの数が読めないため,このタスクが2022年度中に終了できるかは不明である.遅くとも2023年度の上半期までには終了したい.

Causes of Carryover

新型コロナウイルスの影響により,国際会議での発表を次年度に持ち越すことを決めたため,旅費を一部繰り越した.
半導体不足により,高性能計算機の購入を少し先延ばししたため,物品費を一部繰り越しした.

  • Research Products

    (7 results)

All 2022 2021

All Journal Article (1 results) (of which Peer Reviewed: 1 results,  Open Access: 1 results) Presentation (6 results)

  • [Journal Article] Supporting Proactive Refactoring: An Exploratory Study on Decaying Modules and Their Prediction2021

    • Author(s)
      Natthawute Sae-Lim, Shinpei Hayashi, Motoshi Saeki
    • Journal Title

      IEICE Transactions on Information and Systems

      Volume: E104-D(10) Pages: 1601-1615

    • DOI

      10.1587/transinf.2020EDP7255

    • Peer Reviewed / Open Access
  • [Presentation] 自動修正適合性を用いた修正しやすいプログラム構造の評価2022

    • Author(s)
      前島葵
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会
  • [Presentation] ソースコード変更パターンのプロジェクト共通性を考慮した変更推薦2022

    • Author(s)
      安藤直樹
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会
  • [Presentation] 自動修正適合性:新しいソフトウェア品質指標とその計測2021

    • Author(s)
      九間哲士
    • Organizer
      ソフトウェアエンジニアリングシンポジウム2021
  • [Presentation] ソースコードの時間変化がバグ限局に与える影響の調査2021

    • Author(s)
      三井亮称
    • Organizer
      電子情報通信学会ソフトウェアサイエンス研究会
  • [Presentation] 細粒度履歴追跡のための増分的なリポジトリ変換ツールの設計と実装2021

    • Author(s)
      柴駿太
    • Organizer
      日本ソフトウェア科学会第38回大会
  • [Presentation] 複合メトリクスのトレンド分析の効率化に向けて:モジュール腐敗度への適用2021

    • Author(s)
      林辰宜
    • Organizer
      第28回ソフトウェア工学の基礎ワークショップ

URL: 

Published: 2022-12-28  

Information User Guide FAQ News Terms of Use Attribution of KAKENHI

Powered by NII kakenhi