[IT3-05] リポジトリ分析・コードリーディング演習

タイトル

[IT3-05] リポジトリ分析・コードリーディング演習

単位

2単位

目的

近年,ソフトウェアの保守や過去のソフトウェア資産を活用したシステム開発の重要性が高まっている.本演習ではプロジェクトの様々な活動が記録されたリポジトリの分析手法やソースコードリーディングによるシステムの理解手法について学習する

概要

本演習は下記の二部構成をとる.

なお,受入人数に余裕があれば,どちらか一方のみの受講についても許可することがあるが,その場合には単位は発行しない

募集時期

7月中(予定)

詳細

1.リポジトリマイニング演習

概要: 

近年、オープンソースソフトウェアのリポジトリに蓄積されている開発記録に対して、データマイニング技術を用いることで、将来に役立つ知見を抽出する研究(=リポジトリマイニング)が広く行われている。本演習では、リポジトリマイニングの専門家であるDaniel German准教授(カナダ・ヴィクトリア大学)の講義の受講、および分析演習を行う。また、希望者に対して、German准教授の講義の前に、事前知識の習得のための講義を行う。

目的:

 オープンソースソフトウェアのリポジトリ分析に有用なデータマイニングに技術を学習し、実際のソフトウェアリポジトリへの適用方法を講義および演習を通して習得する。

開講時期:

 事前知識の為の講義を10月19日(本学、5限)、Daniel German准教授の講義を10月26日(大阪大学中之島センター、10:00-12:00)に行う。本講義は、国際ワークショップIWESEP2012の一環として実施されるMSR School in Asiaを活用し、他大学の学生等も参加するが、本演習受講生は優先・無料で参加できる。また、往復の交通費実費を支給する。その後、事後の分析演習課題を告知する。課題の実施にあたっては随時、担当教員が提出締め切りは、11月26日を予定している。

言語:

  日本語、英語。ただし、Daniel German准教授の講義は、英語のみ(教員・TAによるサポートあり)。

受講対象・前提条件:

IT3履修生以外の受講を認める.構成管理ツールや統計処理に関する知識を持つことが望ましいが必須ではない(事前に講義予定)

募集人員:

5名程度

担当教員:

ソフトウェア設計学研究室 助教 吉田則裕

2.コードリーディング演習

概要:

ソフトウェアの保守や拡張では、多くの場合、他人が記述した膨大な既存プログラムコードが対象となる。そのため、ソースコードを読み解き、全体像を理解することは非常に重要な技術である。
本演習ではコードリーディングの意義・目的や、実践的テクニックについての講義を行う。さらに実際にリーディング演習課題をおこなう。講師には著名なオープンソースプログラマであり本学OBでもある(株)Redhatの大和正武氏を予定招聘。

目的:

ソースコードリーディングの目的と重要性を理解し、実践的な技術を身につける

開講時期:

2013年1月17,22,29日の三日間(1~4限)

場所:A206(計算機演習室)




1月 17日  11:00から12:00 はじめに
読解の環境
読解の対象
12:00から13:00 昼食
13:00から14:30 コードリーディングのモデル
ソースコード以外の情報源
14:30から14:45 休憩
14:45から16:15 コードリーディングの視点からのC言語復習
  コードリーディングに用いるツール
16:15から17:45 演習1、演習説明、質疑応答、29日の課題の説明
1月 22日  11:00から12:00 ビルド処理
12:00から13:00 昼食
13:00から14:30 効率の良いコードリーディング
「対」、「組」になった関数呼び出し
14:30から14:45 休憩
14:45から16:15 関数ポインタとコールバック関数
関数テーブル
構造体の重ね合せて関数テーブルを用いたオブジェクトの実現
16:15から17:45 演習2, 演習説明、質疑応答 
1月 29日 11:00から12:30 院生(のチーム)による課題発表((30分発表 + 15分質疑応答) * 2)
12:30から13:30 昼食
13:30から15:00 院生(のチーム)による課題発表((30分発表 + 15分質疑応答) * 2)
15:00から15:15 休憩
15:15から16:45 未定

言語:

日本語・英語。ただし講義は日本語で実施。

受講対象・前提条件:

IT3履修生以外の受講を認める.コードリーディング演習においてはC言語、テキストエディタ、Unixシェルの知識が必須である.

募集人員:

5名程度

担当教員:

ソフトウェア設計学研究室 教授 飯田元