研究課題/領域番号 |
22K11957
|
研究種目 |
基盤研究(C)
|
配分区分 | 基金 |
応募区分 | 一般 |
審査区分 |
小区分60040:計算機システム関連
|
研究機関 | 岩手県立大学 |
研究代表者 |
猪股 俊光 岩手県立大学, ソフトウェア情報学部, 教授 (30213193)
|
研究期間 (年度) |
2022-04-01 – 2025-03-31
|
研究課題ステータス |
交付 (2022年度)
|
配分額 *注記 |
2,990千円 (直接経費: 2,300千円、間接経費: 690千円)
2024年度: 1,170千円 (直接経費: 900千円、間接経費: 270千円)
2023年度: 1,040千円 (直接経費: 800千円、間接経費: 240千円)
2022年度: 780千円 (直接経費: 600千円、間接経費: 180千円)
|
キーワード | 組込みシステム / 組込みソフトウェア / ソフトウェア解析 / コーティングパターン / 影響波及範囲解析 / スマート社会 / 派生開発 / 影響波及解析 / 静的解析 / 超スマート社会 |
研究開始時の研究の概要 |
超スマート社会を実現するための課題の1つが,高品質な組込みソフトウェアを効率的に開発することである.従来のソフトウェア開発手法に関する研究の多くは,主に新規のソフトウェア開発を対象としているが,組込みソフトウェアの約9割は派生型開発である. そこで,本研究では,派生開発における高品質ソフトウェアの新開発手法の考案とそれに基づいた開発支援システムの開発を目的とする. 考案する開発手法は,解析対象のソースコードをXML形式の中間言語に変換することによって,コーディング規約検査や影響波及範囲解析を可能とするものである.この手法に基づいた開発支援システムの実装を通じて開発手法の有効性を検証する.
|
研究実績の概要 |
高品質な組込みソフトウェアを効率よく開発することを目的として,初年度には不具合が生じない高品質なソフトウェア開発を実現するための解析手法の考案と,それに基づいて検査をするツールを実装した. 考案した手法は,過去に不具合が発生したときの要因となったコードパターンが,検査対象のC言語のソースコードに含まれていないかどうかを自動的に検査可能とする「コーディングパターン検査法」である.これにより,開発中のソースコードを実機試験する前に,過去の不具合については再発防止がはかられることから,実機試験で発生する不具合の削減が期待される.なお,初年度は検査法の有効性を確かめるべく,対象とするソースコードとしてモジュール単位(単独のファイル)かつ,メモリ管理のためのポインタ操作を除いたものとした. 考案した検査法の実装にあたっては,過去の不具合のコードパターンを記述できること,さらには,組込みソフトウェアを対象として定められている標準的なコーディング規約(プログラム記述のルール集)に準拠しているかどうかが検査できるようことを満たす表現法を定めた.これにより,検査対象のソースコードのなかで,コーディング規約に違反しているコードを実施危険の前に自動的に検出できるようになった.このうち,組込みソフトウェア開発で求められているコーディング規約については,研究発表の図書「Arduinoで学ぶ組込みシステム入門(第2版)」において,組込みソフトウェアの品質向上の一手法として述べた. 2年目以降は,組込みソフトウェアの派生開発(既存のソースコードを改良しての高機能化)を支援する「影響波及解析法」の考案とそれに基づいて動作する支援ツールの開発に取り組むとともに,対象とするソースコードの制限の緩和を試みる.
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
研究計画において,初年度は,過去に不具合が発生したときの要因となったコードがソースコードに含まれていないかどうかを自動検査する「コーディングパターン検査法」の実装を予定していた.この検査法を考案するとともに,検査法に基づいて動作する支援ツールの実装も行うことができた.しかしながら,対象とするソースコードはC言語のサブセットであり,現時点で対象とされていない構文などに対応することが課題として残されている.
|
今後の研究の推進方策 |
2年目以降で,組込みソフトウェアの派生開発を支援するための「影響波及解析法」を考案するにあたっては,修正されたコードによって更新されたデータが伝搬される経路を特定できるように,(プログラム中の)関数どうしや変数どうしの関係を形式的に捉えることができるような表現法を定める.そして,その表現法のもとで解析できる手法を考案する. 加えて,実際の開発現場における派生開発の実情を,車載ソフト開発メーカーとの共同研究をつうじて把握しながら,必要とされる要件を明らかにしていく.さらに,考案した解析法を開発現場で試用してもらい,改良に努めてる.
|