ソフトウェア工学は、品質の高いソフトウェアを、予算の範囲内でできるだけ効率よく開発する方法を考える学問分野です。 全体としては、何を作るべきかを正しく捉える方法、どのように作るかを設計する方法、誤りなくプログラムを記述する方法、できあがったプログラムが設計通りかを確認する方法、目的を達成しているかをテストする方法などから構成されています。
奈良先端大ソフトウェア工学研究室は、その中でも、ソフトウェア開発・プログラミングを効率的に行うための環境、道具や手順を考えるところに注力する研究室です。
ソフトウェアの開発や利用における新たな基盤技術の確立をめざし、ソフトウェア開発の現在の実践方法を分析し、新しい開発支援技術や方法論を構築する研究開発に取り組んでいます。
研究の素材は、ソフトウェアに関するあらゆるデータです。ソースコードを軸として、テストやデバッグといった実行時の情報、ソフトウェアについて書かれたドキュメント、
ソースコードの編集や読解のような開発者の活動、そして、ソフトウェアの開発や利用に携わる個人・コミュニティ間でのコミュニケーションといったビッグデータがあります。
これらのデータに対して、ソースコードの構文解析や意味解析、動的解析といったプログラミング言語に由来する技術と、
機械学習、自然言語処理、ゲーム理論、社会学、神経科学といった多様な技術を組み合わせて、ソフトウェア開発を支援する新しいツールや、開発データの分析を実施し、
得られた成果をソフトウェアに関わる企業やオープンソースソフトウェアコミュニティに提供しています。
ソフトウェア工学とは何だろうというのが漠然と気になる人には、以下のような情報源があります。
具体的な個別の研究内容についてはこちらの表を参照してください。 学生ごとに、研究の背景、やったこと、結果、どのように対外発表を行ったかをまとめています(順次追加中です)。
NTTデータ、富士通研究所、株式会社ギブリー等との共同研究と、NEC、有人宇宙システム株式会社、SAPの技術者らとの連携を通じて、実社会で役に立つ技術の開発や、研究室で培った技術の実証実験に取り組んでいます。 教員だけでなく学生も、研究テーマの関連性や興味に応じて、これらの研究に参加しています。
ソフトウェアという目に見えない対象を扱うため、形のないものを記号や絵で表現する数学的な考え方が重要になります。また、具体的に調査する事例から全体の状況を推測する、統計学の知識があると便利です。
プログラミング活動自体を研究対象とする性質上、プログラミングに関する技術や知識があると非常に役立ちます。ただし、研究を始めるにあたって特別な技術や知識が必要というわけではありません。
当研究室に来てから初めてプログラミングについて深く学び始めたという学生もたくさんいます。
研究室では、研究成果をソフトウェアとして実装し、社会に提供することも重要な活動と考えています。完全遠隔授業システム C2Room(開発時名称:カメレオン)や、入出力例から SQL を合成するシステム PATSQL、複数回の同一修正を自動化する DevReplayなどが、研究で得られた知見を外部に提供しているものの一例です。 プログラミングが好き、得意という学生には、社会、企業に直接影響を与えることのできる機会として、積極的に関わってもらえればと考えています。
ソフトウェア開発・利用に関する専門家として、複数の開発者が協力して活動するための方法論やツール、ソフトウェア品質の評価方法といった知識を身につけることができます。 また、ソフトウェア開発に関する最新動向についての議論を通じて、多様な開発プロセスや開発環境、プログラミング言語それぞれの意義についての実践的な知識を得ることができます。
D3
D3
D2
D2
D1
D1
M2
M2
M2
M2
M2
M2
M2
M2
M2
M2
M2
M2
M1
M1
M1
M1
M1
M1
M1
M1
M1
M1
既存の理論・手法に学生の好奇心や柔軟な思考をうまく組み合わせていくことで、これまでにないブレークスルーが実現すると考えています。 研究テーマの設定においては、これまでの研究の取り組みや現在の課題を幅広く教員から提示したうえで、学生の希望や興味、アイデアをもとに相談して決定しています。 とにかく新しいものを作り出すのが良いか、それとも企業との共同研究のような実践的なテーマが良いか、データの分析と新しい手法の提案のどちらを中心にするかなど、 大きな方向性のレベルでの希望だけから議論が始まる場合もあれば、学生が持ち込んできた具体的な研究テーマから研究が始まることもあります。 教員と議論し、内容をブラッシュアップしていくことになりますので、気軽に相談してください。
週に1回、研究室全体でのミーティングを行います(10分〜1時間程度)。
このミーティングではニュースや困ったこと、教員と学生で共有しておくべきお知らせ等を相互に伝えます。
論文の提出完了をお祝いしたり、海外からの来客による特別講演の予定を知らせたり、学会発表に向けた発表練習の予定を決めたりと、雑多な話を扱います。
ミーティングでは日本語と英語を併用しています。
全員がいつもきれいに言いたいことを言えるわけではないので、複数人で簡単な言い回しで言い換えて確認したり、チャットツールによる文章での説明を併用したりといった工夫をしています。
伝えるべきことを相手にきちんと伝える姿勢を持つことが大事であると考えています。
個別の研究テーマについては、指導教員と週に1回程度の研究ミーティングを行います。 実施ペースは人や作業状況で変動し、通常は方針を決める打ち合わせや実験の相談等で週に1回程度の頻度で実施していますが、 論文執筆中、特に締切直前は短時間のやり取りを頻繁にやることが多くなります。 ミーティングの日時は、平日の10時から17時ぐらいの範囲で、参加メンバーの予定に応じて随時決定しています。
研究室にコアタイムの設定はありません。各々好きな時間に来て作業をしています。
そのため、自分のペースで作業を進めることが出来ます。その分、次のミーティングまでに何をするか、何ができそうか、しっかり考えて計画、行動することが大事になります。
読んでみた論文の内容が良くわからなかったり、予定していた実験がうまくいかなかったり、急病になったりと、研究には予定外のことも多くありますので、行動の優先順位や研究に対して使える時間の量を、率直に議論するというのも重要になります。
研究室内で何か用事があるときは、教員・学生のどちらも、直接相手の席に行って声をかけることが基本となっています。
教授室・准教授室・事務室のいずれも、来客等の特別な用事がないときはドアを開けていて、学生の居室と相互に人がよく行き来しています。
研究室としては、学生の対外発表の経験は非常に重要であると考えています。そのため、能力や興味、研究の進行状況に応じて、国内外で開かれる学会等に学生の参加を促しています。 また、海外に長期滞在しての研究や、プログラミングコンテスト等への参加、長期の個人的な旅行など、学生のやりたいことを尊重するようにしています。
ソフトウェア工学研究室では、主に本学へ入学を検討・予定されている学生・社会人の方を対象に、随時、研究室および研究設備の見学を受け付けています。
入学前に研究内容や研究室の雰囲気を知る良い機会になりますので、当研究室に少しでも興味のある方は下記「いつでも見学会」にお気軽にお申込ください。教員・学生一同歓迎いたします。
本学の受験では、取り組みたい研究内容・計画を小論文として執筆するため、参考文献として引用する資料などが必要となります。ソフトウェア工学分野が面白そうだと感じたが、小論文に記載するような具体的な研究テーマの絞りこみが難しいという方や、研究計画と聞いて具体的な文章のイメージが浮かばない方は、研究室教員との対話の機会をぜひご利用ください。
直接の訪問は難しいが研究室のことを詳しく知りたいという場合も、カメラとマイクの付属したノートパソコンやタブレットをお持ちであれば、テレビ会議の形でお話をすることが可能です。
いつでも見学会の申込みとしてご連絡をいただく際に、その旨を記載していただければ対応いたします。
このような見学会に1人で参加するのは気後れするという場合は、複数人での訪問をご希望いただいてもかまいませんし、日程は限られますが、多数の方の同時参加となるオープンキャンパスの機会をご利用いただくこともできます。
また、メールのみでのやり取りというのも可能です(教員のメールアドレスはこちらに掲載されています)。
〒 630 – 0192
奈良県生駒市高山町 8916-5 情報科学領域棟
B棟 3F ソフトウェア工学研究室
キャンパスマップ
Tel :0743-72-5318 (内線: 5312)
Fax:0743-72-5319