アプリ開発はバグとの戦い! 効率よく発見する方法を開発

バグのないプログラムは幻想?
アプリ開発、ソフトウエア開発の現場では、「いかにバグを減らすか」「どうすればバグを早期発見して素早く修正できるか」という課題が常にあります。開発には顧客に指定された納期があり、期限に間に合わせることが重要で、プログラムに100パーセントの確信が持てるまで作り込むことは困難です。また、実際の環境で使ってみるまで正しく動くかどうかわからないという事情もあります。
そのため、プログラマーは「怪しいところがあるかもしれないが、後で修正しよう」と考えて納品することが通例となっており、納品までのテスト期間をいかに短縮するかも重要です。
パターンを見つける
バグを見つけたいという現場のニーズを満たすための、ソフトウエア開発支援の研究が行われています。その一つがソースコードの解析です。ソースコードとは、コンピュータにどう動いてほしいかという命令をプログラミング言語で書いたものです。コードを分析して、バグが起きやすいコードのパターンの発見をめざしています。
プログラミング中にそのパターンを使ったツールを使えば、バグの可能性があるという警告を表示させたり、有効なコードの提案を受けたりできます。また、出来上がったプログラムの検証に使えば、早期にバグを発見し、修正できるのです。
AIとの共存は
近年は生成AIが普及し、AIにコードを生成させることもできるようになりました。しかし、AIがコードを生成する仕組みは「確率」に基づいています。開発者の意図、命令を理解してコードを生成しているのではなく、「この場合はこのコードを使う確率が高い」という計算に基づいて生成しており、バグが生じることがあるのです。
顧客の意向をくみ取り、仕様書の曖昧な日本語の「行間を読む」ことで正しいコードを書けるのは人間だけです。速く、大量に処理できるというAIの能力と、仕様書の内容やコードの意図を理解できる人間の能力を組み合わせたプログラミングがこれからの時代の理想と言えます。
※夢ナビ講義は各講師の見解にもとづく講義内容としてご理解ください。
※夢ナビ講義の内容に関するお問い合わせには対応しておりません。
先生情報 / 大学情報

龍谷大学 情報学部 ※2027年4月改組予定(設置構想中) 情報学科 准教授 山本 哲男 先生
興味が湧いてきたら、この学問がオススメ!
ソフトウエア工学先生が目指すSDGs
先生への質問
- 先生の学問へのきっかけは?
- 先輩たちはどんな仕事に携わっているの?



