TwitterやInstagramなど、皆さんに馴染みのあるアプリ(=ソフトウェア)から、交通、電力、金融システムなど、私たちの生活を影で支えるものまで、今やありとあらゆる場面でソフトウェアシステムが利用されています。自動車の自動運転を実現するために搭載されるAI(人工知能)も、複雑で巨大なソフトウェアの塊です。たくさんの人間に利用されるソフトウェアは高機能であることはもちろんのこと、安全で安心して使えるように高品質であることが求められます。では、そのようなソフトウェアは一体誰がどのように作っているのでしょうか?
プログラミングの経験がある人ならある程度のソフトウェアは1人でも作ることができることを知っているでしょう。ただし、先に挙げたような複雑で巨大なソフトウェアを高品質な製品やサービスとして社会に提供するためには、時に数十人から数百人の開発者が協力して開発する必要があります。ところが、一人一人の開発者の能力には個人差がありますので、協力して効率よくソフトウェアを開発する事(=高い生産性)は簡単ではありません。また、人間は間違いを犯す動物ですのでバグのない完璧なソフトウェア(=高い品質)を実現する事も決して簡単ではありません。
和歌山大学システム工学部にはソフトウェア開発の生産性と品質の向上に関する技術を研究する学問「ソフトウェア工学」を専門とする教員が5名在籍しています。その中でも大平研究室では、過去の大量のソフトウェア開発データをAIに学習させる事で、開発者が協力して効率よくソフトウェア開発が行えるよう支援する技術や、ソフトウェアのバグを検出する技術、発見したバグを素早く修正できるよう支援する技術など、実際のソフトウェア開発において求められている技術を企業や他大学との共同研究を通じて精力的に研究しています。図1は、バグトリアージというタスク割り当ての最適化技術を適用した結果です。多人数での開発では優秀な開発者にタスクが集中しがちですが、我々の技術[1]を用いることでタスクを適切に分散させることができるため、チーム全体として効率的な開発を実現することができます。
[1] 柏 祐太郎, 大平 雅雄, 阿萬 裕久, 亀井 靖高, "大規模OSS開発における不具合修正時間の短縮化を目的としたバグトリアージ手法," 情報処理学会論文誌, Vol.56, No.2, pp.669-681, 2015年2月 [情報処理学会2015年度論文賞受賞]
掲載大学 学部 |
和歌山大学 システム工学部 | 和歌山大学 システム工学部のページへ>> |
私たちが考える未来/地球を救う科学技術の定義 | 現在、環境問題や枯渇資源問題など、さまざまな問題に直面しています。 これまでもわたしたちの生活を身近に支えてきた”工学” が、これから直面する問題を解決するために重要な役割を担っていると考えます。 |