stub
「stub」の意味
「stub」とは、主に物体の短く切り取られた部分や、何かの残りの部分を指す言葉である。また、チケットや領収書などの切り取られた部分を指すこともある。さらに、コンピュータプログラミングにおいては、未完成のコードや機能を一時的に代替するために使用される簡易なコードを指すことがある。「stub」の発音・読み方
「stub」の発音は、IPA表記では/stʌb/であり、IPAのカタカナ読みでは「スタブ」となる。日本人が発音するカタカナ英語では「スタブ」と読む。「stub」の定義を英語で解説
A ""stub"" refers to a short, truncated part of an object or the remaining part of something. It can also refer to the torn-off part of a ticket or receipt. In computer programming, a stub may refer to a simple piece of code used to temporarily replace incomplete code or functionality.「stub」の類語
「stub」の類語には、以下のような言葉がある。1. remnant
「remnant」は、何かの残りの部分や断片を意味する。2. fragment
「fragment」は、破片や小さな断片を意味する。3. residue
「residue」は、残留物や残りの部分を意味する。「stub」に関連する用語・表現
「stub」に関連する用語や表現には、以下のようなものがある。1. ticket stub
「ticket stub」は、チケットの切り取られた部分を指す。2. cigarette stub
「cigarette stub」は、タバコの吸い殻を指す。3. method stub
「method stub」は、プログラミングにおいて、未完成のメソッドを一時的に置き換えるための簡易なコードを指す。「stub」の例文
1. He stubbed out his cigarette in the ashtray.(彼は灰皿にタバコの吸い殻を押しつぶした。) 2. I found an old ticket stub in my wallet.(財布の中に古いチケットの切れ端を見つけた。) 3. The tree was cut down, leaving only a stub.(木が切り倒され、切り株だけが残った。) 4. The programmer created a stub for the incomplete function.(プログラマーは未完成の機能のためにスタブを作成した。) 5. She tore off the receipt stub and handed it to him.(彼女は領収書の切れ端を切り取って彼に渡した。) 6. The broken pencil left only a small stub.(折れた鉛筆は小さな切れ端だけが残った。) 7. The candle burned down to a stub.(ろうそくが切れ端まで燃え尽きた。) 8. The developer used a stub to test the software.(開発者はスタブを使ってソフトウェアをテストした。) 9. He found a stub of chalk in the classroom.(彼は教室でチョークの切れ端を見つけた。) 10. The stub of the pencil was too short to write with.(鉛筆の切れ端は短すぎて書くことができなかった。)スタブ
スタブとは、大規模なシステム開発の際に、完成済みのプログラムの動作を検証するための、完成していないプログラムの代用となるプログラムのことである。または、外部プログラムとの細かなインターフェース制御を引き受けるプログラムのことである。
大規模なシステム開発では、一般的に、プログラムの開発状況は機能ごとに異なってくる。そこで、全体の開発工程に影響を与えないように、正規の機能を持たないプログラムを使い、先行しているプログラムの基本動作に問題が無いことを確認しておくことがある。このような代用プログラムのことをスタブと言う。スタブは、連携するプログラムが完成すると、正規のプログラムに置き換えられる。
スタブ
(stub から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/04/15 02:44 UTC 版)
スタブ(stub)とは、コンピュータプログラムのモジュールをテストする際、そのモジュールが呼び出す下位モジュールの代わりに用いる代用品のこと[1]。下位モジュールが未完成でも代わりにスタブを用いることでテストが可能になる。逆に上位モジュールの代わりに用いる代用品をドライバ(ソフトウェアの場合)またはコントローラ(ハードウェアの場合)と呼ぶ。ただし、仮のモジュールではなく正規のモジュールについてもドライバまたはコントローラと呼ばれることがあるので、区別するために「テストドライバ」や「サンプルドライバ」などと呼ぶことも多い。
なお、stubの原義は使い残し、半券、切り株といった意味である[2]。
概要
呼び出す側(上位)のモジュールを検査する場合に、呼び出される側(下位)の部品モジュールが未完成であることがある。このとき、呼び出される側の部品モジュールの代用とする仮のモジュールを、「スタブ」と呼ぶ。スタブモジュールは設計仕様に定義されている全ての関数を実装してあるが、関数内部は正規の動作をせず、定数を返すだけという作りになっていることが多い。下位モジュールの関数の戻り値によって、上位モジュールの動作が分岐する場合は、その分岐パターンを満たすための最低限のいくつかの定数を返す、複数のスタブを作る場合もある。あるいは(その関数が引数をとる場合は)与えられる引数によって(正規の処理とは関係ない、最低限の分岐処理だけを実装し)、それらの値を返すスタブを作ることもある。
たとえば複数人でプログラミングをするときなどでは、初めはモジュールごとにプログラムを作成し、後で各モジュールを結合(リンク)して、全体としてうまく動作するかどうかをテストする。この結合テストの前段階で、個々のモジュールは、あらかじめ正当性を検査しておくことが望ましい。その場合、呼び出す部品モジュールがまだ完成していないときには、スタブが用いられる。スタブは、単純で何もしないようなものであってもよく、テストしたい部分とリンクして動作させるのに十分であればよい。
また、このようなスタブは、モジュールの仕様設計の段階で作られる事がほとんどである。とりあえず設計段階で中身のないスタブモジュールを書くことによって、モジュール間の結合の設計に問題がないかを具体的に確かめながら仕様設計ができるからである。また、スタブモジュールのみを作成することもまずありえない。スタブモジュール作成によって工数を消費することはデメリット以外何物でもないからである。
一般にテストする対象が上位階層のモジュールであって下位の部品が未完成の場合、その代用となる仮の下位階層モジュールを、「スタブ」と呼ぶ。
いずれの場合も、全体のプログラムテストを飛躍的に効率よくする役割を果たす。
組み込みシステム
組み込みシステムのソフトウェアを開発する際には、コンパイラなどの開発ツールを動かすコンピュータ(ホストコンピュータ)と、開発対象となるコンピュータ(ターゲットコンピュータ)は全く異なるものであることが多い。この時、プログラムを実際に動かしながら動作を確かめるデバッガは、ユーザインタフェースを必要とする本体部分をホストコンピュータ上で動作させ、ターゲットコンピュータ上では本体部分から通信線による指示を受けてCPUやメモリの状態を読み書きする小さなプログラムを動かしておくという構成になることが多い。この、ターゲット上の小さなプログラムを「スタブ」と呼ぶ。
このようなデバッガのスタブは、当然のことながらターゲットコンピュータのCPUに強く依存したものになり、しばしばアセンブリ言語を用いて作成される。スタブが行なわなければならない主な内容は、次のようになる。
- ホストコンピュータとの通信回線を初期化する
- 任意のメモリ内容を読み出して通信回線に送り出す
- 任意のメモリ内容を通信回線から受けたデータで書き換える
- CPUの内部状態(レジスタ)を整えて、実行コードの任意の位置に制御を移す
- 実行コード中にソフトウェア割り込み命令を埋め込みターゲットソフトウェアの実行を一時的に停止させスタブに制御を戻す
- 上記のソフトウェア割り込み発生時にCPUの内部状態を読み取って通信回線に送り出す
組み込みシステム用ソフトウェア開発においては、このスタブを早い段階で安定動作させることができるかどうかが、その後の開発作業がスムーズに進むかどうかに大きく影響する。なお、スタブ自身のデバッグ作業には、一般にはハードウェア的にCPUの動作を制御するインサーキット・エミュレータを用いる。このインサーキット・エミュレータは比較的高価な装置であるため、開発人員全員の分を用意すると、開発コストが高くなってしまう。このため、スタブを開発する際やソフトウェアデバッガではどうしても検出できない事象を確認する際などの要所にのみインサーキット・エミュレータを用い、それ以外はスタブを活用して開発作業を進めることになる。
脚注
- ^ bit 編集部『bit 単語帳』共立出版、1990年8月15日、111頁。ISBN 4-320-02526-1。
- ^ weblio『stub』 2016年9月29日閲覧
関連項目
外部リンク
- stubのページへのリンク