【学習センター機関誌から】デバッグ

鳥取学習センター客員教員/鳥取大学名誉教授
菅原 一孔
専門:計算機工学、信号処理工学

 

これまで約 40 年間にわたり電気系や情報系の学科で講義を担当してきました。その中ではプログラミング初心者の学生への入門的な講義も担当しました。入門的なプログラミング講義の最初の頃、学生たちは自分で書いたプログラムが正しく動作するものと思い込むあまり、それが思ったように動作しなかったり、ましてやエラーが生じたりしたときには、そのこと自体に驚いてしまい、その後どうすればよいのか途方に暮れているところをよく見かけたものでした。

ところで、表題のデバッグという言葉をお聞きになったことはありますか。プログラムを開発する際、一度でまともに動くプログラムが書けることは極めてまれで、いくら短いプログラムでもエラーなく最初から最後まで実行できるプログラムを書くのはなかなか難しいものです。
たとえ、できあがったプログラムが想定していた動作をしない場合でもです。そのようなプログラムは、エラーなく望む動作をするプログラムに修正していく必要があります。この作業をデバッグと呼びます。デバッグする前のプログラムには、俗に虫、バグ(Bug)が含まれているといい、その虫退治がデバッグ(Debug)作業というわけです。

前述の学生たちも講義が進みプログラミングに慣れてくると、最初に書いたプログラムが正常に動作することは期待せず、まず書くだけ書いてみてエラーが生じた場合にはそれに対応し、また動作が思ったものでなかった場合には、いろいろな入力を与えてみてプログラムの動作を調べ、どこに間違い(バグ)が潜んでいるのか見つけていく作業が“平然”とできるようになります。

講義ではバグを見つけやすくするために、一度にプログラム全体を書くのではなく、それで実現しようとする全体の機能をよく調べ、それをいくつかの小さな基本的な機能に分解し、それらの小さな機能の集合体としてプログラム全体を構成することを教授します。
例えば、全体で数百行からなるプログラムでも、個々の小さな機能を持つプログラム(通常、人の目が届く範囲の数十行のプログラム)に分解し、その相互呼出で全体を組立てる方法を教えるわけです。

大学入試に情報の科目が導入されたり、小学校でも情報に関する教科が取り入れられたりしています。そこでの狙いは、何かのプログラミング言語の習得のような単なるプログラミングテクニックの学習にあるのではなく、何かの現象を見たときにそれを成り立たせている基本的な要素を見極め、その集まりとして全体を理解する能力を育成することにあると思っています。
さらには、このことは情報関係の分野だけでなく我々の生活の中で生じる様々な現象に対しても成り立つ話で、そのような目で物事を見る癖がついているかいないかで世の中の物事に対する理解の度合いも変わってくるように思います。


鳥取学習センター機関誌「ぷりずむ」191号(2023年10月号)より転載

公開日 2024-01-23  最終更新日 2024-01-23

関連記事
インターネットで
資料請求も出願もできます!