Research / 研究テーマ

研究内容

 ソフトウェア工学は、品質の高いソフトウェアを、予算の範囲内でできるだけ効率よく開発する方法を考える学問分野です。 全体としては、何を作るべきかを正しく捉える方法、どのように作るかを設計する方法、誤りなくプログラムを記述する方法、できあがったプログラムが設計通りかを確認する方法、目的を達成しているかをテストする方法などから構成されています。

 奈良先端大ソフトウェア工学研究室は、その中でも、ソフトウェア開発・プログラミングを効率的に行うための環境、道具や手順を考えるところに注力する研究室です。 ソフトウェアの開発や利用における新たな基盤技術の確立をめざし、ソフトウェア開発の現在の実践方法を分析し、新しい開発支援技術や方法論を構築する研究開発に取り組んでいます。
 研究の素材は、ソフトウェアに関するあらゆるデータです。ソースコードを軸として、テストやデバッグといった実行時の情報、ソフトウェアについて書かれたドキュメント、 ソースコードの編集や読解のような開発者の活動、そして、ソフトウェアの開発や利用に携わる個人・コミュニティ間でのコミュニケーションといったビッグデータがあります。 これらのデータに対して、ソースコードの構文解析や意味解析、動的解析といったプログラミング言語に由来する技術と、 機械学習、自然言語処理、ゲーム理論、社会学、神経科学といった多様な技術を組み合わせて、ソフトウェア開発を支援する新しいツールや、開発データの分析を実施し、 得られた成果をソフトウェアに関わる企業やオープンソースソフトウェアコミュニティに提供しています。

ソフトウェア工学とは何だろうというのが漠然と気になる人には、以下のような情報源があります。

  • 書籍
    • 人月の神話: ソフトウェア工学の古典、経験談を収集した書籍。「進捗が遅れているソフトウェアプロジェクトに人を追加すると、プロジェクトがさらに遅れる」という話で有名。
    • Making Software: 伝統的なソフトウェア工学研究を幅広く紹介した書籍。
    • Software Engineering at Google: 実践的なソフトウェア工学アプローチを紹介。
  • Webサイト

主なトピック

Paradigm / バグを防ぐ

Human / プログラマの能力・活動を調べる

Ecosystem / 製品を蓄積・活用する

Community / 共同作業を促進する

これまでの研究テーマ(学生別)

具体的な個別の研究内容についてはこちらの表を参照してください。 学生ごとに、研究の背景、やったこと、結果、どのように対外発表を行ったかをまとめています(順次追加中です)。

企業との連携

 NTTデータ、富士通研究所、株式会社ギブリー等との共同研究と、NEC、有人宇宙システム株式会社、SAPの技術者らとの連携を通じて、実社会で役に立つ技術の開発や、研究室で培った技術の実証実験に取り組んでいます。 教員だけでなく学生も、研究テーマの関連性や興味に応じて、これらの研究に参加しています。

研究活動に必要な能力

 ソフトウェアという目に見えない対象を扱うため、形のないものを記号や絵で表現する数学的な考え方が重要になります。また、具体的に調査する事例から全体の状況を推測する、統計学の知識があると便利です。
 プログラミング活動自体を研究対象とする性質上、プログラミングに関する技術や知識があると非常に役立ちます。ただし、研究を始めるにあたって特別な技術や知識が必要というわけではありません。 当研究室に来てから初めてプログラミングについて深く学び始めたという学生もたくさんいます。

研究としてのソフトウェア開発

 研究室では、研究成果をソフトウェアとして実装し、社会に提供することも重要な活動と考えています。完全遠隔授業システム C2Room(開発時名称:カメレオン)や、入出力例から SQL を合成するシステム PATSQL複数回の同一修正を自動化する DevReplayなどが、研究で得られた知見を外部に提供しているものの一例です。 プログラミングが好き、得意という学生には、社会、企業に直接影響を与えることのできる機会として、積極的に関わってもらえればと考えています。

本研究室で身につく能力

 ソフトウェア開発・利用に関する専門家として、複数の開発者が協力して活動するための方法論やツール、ソフトウェア品質の評価方法といった知識を身につけることができます。 また、ソフトウェア開発に関する最新動向についての議論を通じて、多様な開発プロセスや開発環境、プログラミング言語それぞれの意義についての実践的な知識を得ることができます。

資料

Members / メンバー

Faculty Members / 教員

Students / 学生

Doctoral Students / 博士後期課程

Rungroj Maipradit

D3

Rungroj Maipradit
(Ice)

Pattaraporn Tulathum

D3

Pattaraporn Tulathum
(Fon)

Supavas Sitthithanasakul

D2

Supavas Sitthithanasakul
(Elf)

Ifraz Rehman

D2

Ifraz Rehman

Supatsara Wattanakriengkrai

D1

Supatsara Wattanakriengkrai
(Asia)

曾我 遼

D1

曾我 遼
(Ryo Soga)

Master Course Students / 博士前期課程

Tao Xiao

M2

Tao Xiao

Noppadol Assavakamhaenghan

M2

Noppadol Assavakamhaenghan
(Tor)

Vittunyuta Maeprasart

M2

Vittunyuta Maeprasart
(Aom)

Kanchanok Kannee

M2

Kanchanok Kannee
(Mai)

Tattiya Sakulniwat

M2

Tattiya Sakulniwat
(Tatt)

Yuto Murata

M2

村田 優斗
(Yuto Murata)

Kazuki Fukushima

M2

福島 和希
(Kazuki Fukushima)

Fumiya Sato

M2

佐藤 郁弥
(Fumiya Sato)

Keita Uchida

M2

内田 啓太
(Keita Uchida)

Daigo Imamura

M2

今村 大吾
(Daigo Imamura)

Tetsuya Kitaoka

M2

北岡 哲哉
(Tetsuya Kitaoka)

Yusuke Yamato

M2

大和 祐介
(Yusuke Yamato)

Ani Hovhannisyan

M1

Ani Hovhannisyan

Youmei Fan

M1

Youmei Fan
(Freya)

Ruskit Rojpaisarnkit

M1

Ruskit Rojpaisarnkit
(Mek)

Hathaichanok Damrongsiri

M1

Hathaichanok Damrongsiri
(Ploy)

Koki Okai

M1

岡井 光輝
(Koki Okai)

Kazuki Senda

M1

千田 一輝
(Kazuki Senda)

Shinnosuke Tanaka

M1

田中 慎之佑
(Shinnosuke Tanaka)

Wong Ho Yin

M1

Wong Ho Yin
(Gabriel)

Atsuhito Yamaoka

M1

山岡 厚仁
(Atsuhito Yamaoka)

Ryotaro Shinohara

M1

篠原 遼太郎
(Ryotaro Shinohara)

Collaborator / 共同研究者

平尾 俊貴

共同研究者

平尾 俊貴
(Toshiki Hirao)

Dong Wang

共同研究者

Dong Wang

Life / 研究室の様子

指導方針

 既存の理論・手法に学生の好奇心や柔軟な思考をうまく組み合わせていくことで、これまでにないブレークスルーが実現すると考えています。 研究テーマの設定においては、これまでの研究の取り組みや現在の課題を幅広く教員から提示したうえで、学生の希望や興味、アイデアをもとに相談して決定しています。 とにかく新しいものを作り出すのが良いか、それとも企業との共同研究のような実践的なテーマが良いか、データの分析と新しい手法の提案のどちらを中心にするかなど、 大きな方向性のレベルでの希望だけから議論が始まる場合もあれば、学生が持ち込んできた具体的な研究テーマから研究が始まることもあります。 教員と議論し、内容をブラッシュアップしていくことになりますので、気軽に相談してください。

日々の活動

 週に1回、研究室全体でのミーティングを行います(10分〜1時間程度)。 このミーティングではニュースや困ったこと、教員と学生で共有しておくべきお知らせ等を相互に伝えます。 論文の提出完了をお祝いしたり、海外からの来客による特別講演の予定を知らせたり、学会発表に向けた発表練習の予定を決めたりと、雑多な話を扱います。
 ミーティングでは日本語と英語を併用しています。 全員がいつもきれいに言いたいことを言えるわけではないので、複数人で簡単な言い回しで言い換えて確認したり、チャットツールによる文章での説明を併用したりといった工夫をしています。 伝えるべきことを相手にきちんと伝える姿勢を持つことが大事であると考えています。

 個別の研究テーマについては、指導教員と週に1回程度の研究ミーティングを行います。 実施ペースは人や作業状況で変動し、通常は方針を決める打ち合わせや実験の相談等で週に1回程度の頻度で実施していますが、 論文執筆中、特に締切直前は短時間のやり取りを頻繁にやることが多くなります。 ミーティングの日時は、平日の10時から17時ぐらいの範囲で、参加メンバーの予定に応じて随時決定しています。

研究室の雰囲気

 研究室にコアタイムの設定はありません。各々好きな時間に来て作業をしています。 そのため、自分のペースで作業を進めることが出来ます。その分、次のミーティングまでに何をするか、何ができそうか、しっかり考えて計画、行動することが大事になります。 読んでみた論文の内容が良くわからなかったり、予定していた実験がうまくいかなかったり、急病になったりと、研究には予定外のことも多くありますので、行動の優先順位や研究に対して使える時間の量を、率直に議論するというのも重要になります。
 研究室内で何か用事があるときは、教員・学生のどちらも、直接相手の席に行って声をかけることが基本となっています。 教授室・准教授室・事務室のいずれも、来客等の特別な用事がないときはドアを開けていて、学生の居室と相互に人がよく行き来しています。

 研究室としては、学生の対外発表の経験は非常に重要であると考えています。そのため、能力や興味、研究の進行状況に応じて、国内外で開かれる学会等に学生の参加を促しています。 また、海外に長期滞在しての研究や、プログラミングコンテスト等への参加、長期の個人的な旅行など、学生のやりたいことを尊重するようにしています。

開発の様子
指導の様子
2021年度研究室旅行の様子
歓談している学生たち
くつろいで論文を読んでいる様子

受験を考えておられる方へ

 ソフトウェア工学研究室では、主に本学へ入学を検討・予定されている学生・社会人の方を対象に、随時、研究室および研究設備の見学を受け付けています。 入学前に研究内容や研究室の雰囲気を知る良い機会になりますので、当研究室に少しでも興味のある方は下記「いつでも見学会」にお気軽にお申込ください。教員・学生一同歓迎いたします。 本学の受験では、取り組みたい研究内容・計画を小論文として執筆するため、参考文献として引用する資料などが必要となります。ソフトウェア工学分野が面白そうだと感じたが、小論文に記載するような具体的な研究テーマの絞りこみが難しいという方や、研究計画と聞いて具体的な文章のイメージが浮かばない方は、研究室教員との対話の機会をぜひご利用ください。
 直接の訪問は難しいが研究室のことを詳しく知りたいという場合も、カメラとマイクの付属したノートパソコンやタブレットをお持ちであれば、テレビ会議の形でお話をすることが可能です。 いつでも見学会の申込みとしてご連絡をいただく際に、その旨を記載していただければ対応いたします。
 このような見学会に1人で参加するのは気後れするという場合は、複数人での訪問をご希望いただいてもかまいませんし、日程は限られますが、多数の方の同時参加となるオープンキャンパスの機会をご利用いただくこともできます。 また、メールのみでのやり取りというのも可能です(教員のメールアドレスはこちらに掲載されています)。

Access / アクセス

住所・所在地

〒 630 – 0192
奈良県生駒市高山町 8916-5 情報科学領域棟
B棟 3F ソフトウェア工学研究室
キャンパスマップ

Tel :0743-72-5318 (内線: 5312)
Fax:0743-72-5319

ページのトップへ戻る