研究課題/領域番号 |
21K11841
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
審査区分 |
小区分60050:ソフトウェア関連
|
研究機関 | 九州産業大学 |
研究代表者 |
于 海波 九州産業大学, 理工学部, 准教授 (80848903)
|
研究分担者 |
趙 建軍 九州大学, システム情報科学研究院, 教授 (20299580)
|
研究期間 (年度) |
2021-04-01 – 2025-03-31
|
研究課題ステータス |
交付 (2023年度)
|
配分額 *注記 |
4,160千円 (直接経費: 3,200千円、間接経費: 960千円)
2023年度: 1,170千円 (直接経費: 900千円、間接経費: 270千円)
2022年度: 1,690千円 (直接経費: 1,300千円、間接経費: 390千円)
2021年度: 1,300千円 (直接経費: 1,000千円、間接経費: 300千円)
|
キーワード | 確率的プログラミング / 開発支援環境 / 依存性解析 / プログラムデバッグ |
研究開始時の研究の概要 |
確率的プログラムには複雑な制御流れとデータ流れが存在しうるため、その挙動の予測は困難である。そのため、確率的プログラムのテスト、デバッグ、及び保守はコストが高くて非常に難しい。高信頼確率的プログラムを系統的な方法で効率よく開発できる開発支援環境を整備しなければならない。本研究では、高信頼確率的プログラムの系統的開発法を確立することを目的としている。具体的には、確率的プログラムの挙動における依存関係を究明し、依存性理論を構築する。これらの依存性理論に基づいて、確率的プログラムのテスト、デバッグ、及び保守に関する新しい手法を提案し、確率的プログラムの開発支援環境の実現と評価を行う。
|
研究実績の概要 |
本研究では、確率的プログラムの挙動における依存関係を究明し、構築された依存性理論に基づいて、確率的プログラムのテスト、デバッグ、及び保守に関する新しい手法を提案し、確率的プログラムの開発支援環境の実現と評価を行う。本年度では、昨年度からのバグ調査分析を継続し、バグ検出ツールの開発を実施した。得られた主な研究成果は以下の通りである。 1) 確率的プログラムのバグ分析を続けて行った。具体的には、Github上に登録された確率的プログラミング言語Pyro及びそのバクエンドであるPyTorchを利用し、Python言語で開発されたシステムの205個のバグを分析し、確率的プログラムに関連するバグを50個に絞り込んだ。これらのバグの中の23個のバグをさらに分析し、13個の確率的プログラムのバグパターンを抽出した。また、バグパターンの検出方法も提案した。 2) 確率的プログラムのバグパターン検出器を開発した。具体的には、先行研究で抽出されたPyMC3の8個の確率的プログラム特有なバグパターンのうち3個のバグパターンに対する検出手法を提案し、関連バグパターンの検出器を開発した。 3) バグ検出Webシステムを開発した。バグパターン検出器をより多くの人が分かりやすく使えるため、または今後より多くのバグパターンの検出器を組み込まれるため、確率的プログラムのバグ検出Webシステムを開発し、バグパターン検出手法の有効性を示した。本Webシステムの設計において、ユーザインターフェースの設計及び拡張機能を重視した。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
3: やや遅れている
理由
本研究では、PPDG に基づいて確率的プログラムを静的・動的スライシングのアルゴリズムについての検討に時間が予想よりかかってしまい、当初の研究計画より各種ツールの開発が遅れている。今後、時間の配分を調整し、進捗を取り戻したいと考えている。
|
今後の研究の推進方策 |
本研究では、今後の研究計画に基づいて実施する予定である。 具体的には、確率的プログラムのバグ分析結果を深く理解し、確率的プログラミングシステムにおけるバグの特性をつかみ、PPDG に基づいた確率的プログラムを静的・動的スライシングのアルゴリズムを定め、デバッグ手法の提案及びツールの開発、評価を行いたい。
|