アナログ鍵の失効リスト(3)
## その3 (11:28)
伊吹はAシステムの検証環境(試験やトラブル解析のために用意したしたシステム)にログインをしていた。今回の調査は、本番環境(顧客が実際に利用しているシステム)にて、原因不明のエラーが検出されたことから始まる。昨日の内に、顧客の利用には支障はないということが確認でき、緊急性はなかったが、放置をしておくわけにはいかない。このシステムはこれまで特に問題は起きていなかったため、入力データの問題であろうと仮説をたて、それを実証するためのテストデータ(想定される入力値を網羅的に用意したもの)を昨晩の内に検証環境に仕込んでおいた。結果を確認すると、エラーの再現ができていた――ビンゴだった。問題となったデータはこれまでは発生していなかった珍しい組合せのものであった。テスト時の確認漏れであるのは明白だった。
椅子に深くもたれかかり、今後の対処方針に関して思案をしていると、「すみません、ちょっとよろしいですか」と可憐な声で呼びかけられた。大量のプリントを持った咲舞が立っていた。
「昨日のエラーの件ですが、バグというでしょうか――問題の箇所が分かりました」
「えっ?分かった?どういうこと?」姿勢をただし、咲舞の顔を見上げる。
「えーと、そのままの意味ですけど」少し不満げに唇を尖らせている。
伊吹は昨日の記憶を思い出す。確かに昨日、ソースファイル(システムの動作を記述したもの)とログファイル(システムの動作結果を記録したもの)を咲舞に渡していた。良い勉強になると判断してのことだったが、実際に解明できるとは思っていなかった。
「昨日渡したファイルだけで分かったの?」
「ええ、分かりました。おそらくここの箇所の条件分岐が不足しています」
白い透き通るような指先が示した先は、伊吹が突き止めた場所と同じだった。咲舞は詳細な経緯を求めている伊吹のことを察して、「順を追って話しますね」と空いている椅子を引き寄せて、隣に座った――甘い香りがした。
「こちらのログファイルは読んでも全くわかりませんでした。よってこちらのソースファイルを自分なりに解読してみようと思ったのです。この言語はRubyと言うのでしょうか、この言語仕様は知らないので――実はどんなプログラム言語でも知らないのですけど」咲舞は照れるように微笑んだ。
「そうは言っても物事は進まないので、何となく読むことに決めたのです。まずは全てのソースファイルをざっと読みました――速読と同じ要領です。そうするとこのモジュールだけ、頭に入ってこなかったのです。違和感がありました」
「違和感?」
「そうです。細かな文法はわからないのですが、他のソースは新しい外国語を読む感じで、やりたいことは伝わりました。コメントが適切な量と明確にかかれていたのも理解の助けになったと思うのです。しかし、該当のモジュールはコメントの量が多いにもかかわらず、全く伝わってこないのです。例えばこのコメントなんて『システム日付を変数sys_dateに代入する』と書いてありますが、そんなの自明でしょう」
該当のソースは福永が新入社員の時に実装していたことを思い出した。それと同時に自明という言葉を使う女性を珍しく思った。
「そうなってくると、このモジュールが気になってきまいました。もう少し、深く読み込んでいると、さらなる違和感をこの条件分岐の記述感じました。ここの条件分岐は、否定やノットイークォルが多用されていますが、論理的に読みとくと、この条件の場合が抜けていることが分かります」
咲舞はそう言うと、メモに書いてある論理式を示した。伊吹は高度な論理式をすぐに理解することはできなかった。
「この論理式はコード上の記述からかなり飛躍があるけど、変換の途中はどうしたの?」
咲舞ははっとし表情を見せ「すみません、途中のメモはは無いんです。全て頭のなかで計算してしまいました。いろいろ簡素化できたものですから……」と申し訳無さそうに応えた。
伊吹は咲舞の顔をまじまじと見つめた。この才能は先天的なのか、後天的なのかは分からないが、いづれにせよ彼女の父親の影響であるものは間違いなかった。また、伊吹は持ち合わせていない能力だった――強い嫉妬心を覚えた。それは、一つの事象を複合的な観点から捉えるのではなく、一つの視点から突き進んでいき、ほとんどの人が処理限界から行き詰まってしまう壁を、悠々と飛び越えてしまうだけの才能があった。コンピュータで例えるならば、マシンのアーキテクチャが優秀なのではなく、ただ単純にCPUの処理性能がずば抜けているといえる。
「あの……先輩?何か間違えていましたか」不安そうな顔をした咲舞が答える。
「いや、何も間違っていない。君の解析で満点だ」――彼女の表情に笑みが戻った。
「もう、昼の時間だね。午後からでいいから、該当箇所を修正してくれ。テストはこちらでやるから――えーと、修正が終わったら、構成管理にコミットしておいてくれ」
「すみません、午後からは年末の掃除が有りましてすぐには取り掛かれません。それと……」
「そうか、じゃあ明日からでいいよ。原因がわかれば簡単だろう」と言うと同時に、原因がわかれば急ぐ話でもない、と自分にも言い聞かせた。
「いえ、実は先程も言ったとおりこの言語は初めてなので、教えてもらっても良いですか。それと、構成管理って何ですか。私は何に強く約束すれば良いのでしょう」彼女は少し困った表情で首をかしげている。
伊吹は自分の迂闊さに呆れた。この子は、天賦の才は持ってはいるが、システムエンジニアとしては一年足らずの新人であることを思い出した。今後の育成指導の中でプログラミングの比重を高めると同時に、社内で開催されているプロジェクト管理の研修に参加させようと思った。
この記事が気に入ったらサポートをしてみませんか?