スライド 1

デバイスからの異常注入が指定可能なCPUエミュレータ
東 誠 †,山本 哲男 ‡,早瀬 康裕†,石尾 隆†,井上 克郎†
†大阪大学 ‡立命館大学
問題:組込みソフトウェアをテストする際,
デバイスから受け取る入力を用いたテストが困難
•特定のタイミングで入力を受け取らせるのが困難
•テストの度に手動で入力を受け取らせると手間がかかる
例:携帯電話で着信時に終了キーを連続で押すと同じ着信履歴が表示されることがある
ソフトウェア
デバイスの入力読み取り
10/22 14:00
東誠
10/22 14:00
東誠
1
2
3
4
5
6
7
8
9
*
0
#
デバイス
提案手法:故障を発生させる可能性のある入力(異常)を注入する
機構をCPUエミュレータに加えることで,テストを自動化する
CPUエミュレータ
プログラム
LDR ADDR
ADD
MOV
・
・
・
・
・
・
アドレスから読み込み
異常注入機構
注入する
入力値
条件に従って,
異常注入を実行
•新しい入力値の計算
•割り込みの発生
入力値
メモリマップドI/Oの
アドレスに着目
1
2
3
4
5
6
7
8
9
*
0
#
異常注入の内容と,それを行う条件
設定ファイル
•異常注入の内容
•注入を行う条件
ユーザはソフトウェアの実行前に異常注入の設定を記述
•新しい入力値は,定数やプログラムの変数,現在の入力値を用いた数式で計算
•注入を行う条件に,デバイスや実行中の関数,前の注入からの経過時間を指定
用途:特殊な入力が必要なテストを行う
•デバイスで滅多に発生しない入力をソフトウェアに受け取らせる
•センサの検出結果がノイズの影響を受けた状況を模倣する
•連続でキー入力をソフトウェアに受け取らせる