Nanyang Technological University, Singapore 研修体験記 (崔 恩瀞)

はじめに

大阪大学の海外インターンシッププログラムで、2013 年 1月 7日から 2013 年 3月 22日までの約70日間、シンガポールに あるNTU(Nayang Techlonogical University、南洋理工大学)において 研修を受ける機会を得ました。 ここでは、その体験についてご報告いたします。


(School of Computer Engineeringの建物)

NTU (Nanyang Technological University)での研修

NTUでは、School of Computer EngineeringのZhenchang Xing先生にお世話になりました。Xing先生はソフトウェア工学分野で 最も知られた若手研究者の一人であり、彼はソースコードの中でリファクタリングを検出するツールやFeature locationを行うツール など多彩なツールを開発されています。

今回の海外インターシップにおいて、どのような研究を行うのかとについてXing先生と話しあいました。 その結果、コードクローン(ソースコード中の類似または一致した部分)の一貫してない修正を防ぐための 既存のツールの支援は十分ではないということに意見が合いました。 それで本研修中の研究テーマとしてコードクローンの一貫してない修正を防ぐためにコードクローンのproactiveな 支援のするツールの開発するになりました。

研究テーマが決まった後にソースコード修正に対してのproactiveな支援、コードクローンの修正支援など に関する多くの既存研究の論文を読み、既存研究では解決できてないが、コードクローンの一貫してない修正を 防ぐために 集点をあてる必要がある次のような問題を見つけました。


(1)開発者に正確な情報を提示しなければならない。
(2)リアルタイムに近くにクローンを検出しなければならない。
(3)相互作用に開発者の作業を支援しなければならない。

この問題を解決するカギを見つけるために、実際に開発されたソースコードの中にどれぐらいコードクローンが 一貫性のない修正が行われているか、そしてどんなケースがあるかを探すのを目的にして実際開発されたソースコードの 履歴を確認しました。1000個以上のソースコードの開発履歴を見てコードクローンの一貫性のない修正が様々なケースで 行われていることがわかりました。見つかったケースの中の1つでは、4つのコードコードクローンであったコードが、 次の修正で四つのコードの中で2つのコードのみに命令語が加われました(残りの2つのコードには何修正も行われてなかったです)。 しかし、その次の修正で残された2つのコードにも同じ命令語が加われて、4つのコードはクローンの状態になりました。

ソースコードの履歴を確認する作業を通して、コードクローンの一貫性のない修正が実際に頻繁に行われていると確認することができました。 しかし、見つけたケースから得られる情報が小さくて、開発者がどんな理由でコードクローンに一貫性のない修正を行って、 どうやったら一貫性のないクローンの修正を防ぐことが出来るかに関する情報は得られませんでした。

その問題を解決するために引き続き研究を行い、コードクローンの一貫してない修正を防ぐためにコードクローンのproactiveな支援のするツールを解決し、その研究結果を国際会議に投稿することを最終的なゴールにして頑張ろうと思っています。


(シンガポールで住たHDB)


(Boon Lay MRT駅のショッピングセンター)

シンガポールでの生活

住むところはHDBと呼ばれる団地のようなところです。シンガポールでは人口に対して、住宅の供給が少ないのでハウスシェアは一般的に行われています。私もHDBと呼ばれるMaster room、Common room, キッチン、シャワー/トイレ、リビングで構成されているPioneer MRT駅のHDBでハウスシェアをしました。Master roomには部屋のオーナーさんが基本的に住んで、その部屋にはシャワーやトイレもありました。そこは中国人の夫婦が住みました。私は住宅うちの1部屋であるベッドとデスクなどの家具が付いているCommon roomを借りました。私が借りたCommon roomにトイレとシャワーなどは付いてなく、他のCommon roomに住んでいる人とトイレとシャワーを共有する形でした。他のCommon roomはMaster roomの夫婦の友たちが住みました。 他の人とハウスシェアすることは初めてだったので最初は緊張もしましたが、ハウスシェアする人たちみんな親切で私のシンガポールの生活に関して色々気遣ってくれたおかげで、楽しくすごくことができました。

Pioneer MRT駅は駅の前に安くて美味しいfood courtがあったり、次の駅のBoon Lay MRT駅に大きいなショッピングセンターがあったりして、生活に便利なところでした。また、 Pioneer MRT駅からNTUに行く大学の無料shuttle busがあったため、学校に行くのもすごく助かりました。


(ベトナム人との記念写真)

研修で感じたもの

シンガポールはインターナショナルが多くて、英語もどこでも通じたのですごく便利でした。最初はシンガポール人のSinglish(Singaporean English)を理解することが苦労もしたんですが、研修中に慣れて、最終的にはSinglishにはまりました。そして日本に戻った後もYoutubeなどでSinglishを忘れないように勉強しています。

シンガポールで中国、タイ、ベトナム、インドネシア、マレシーア、インド、パキスタンなど様々な国から来た人たちに会うことが出来ました。彼らとの出会いと通じて彼らの文化などに興味を持つことが出来ました。いつか彼らの国を旅したいと思いました。

おわりに

この海外インターンシップを通じて、日本では積むことのできない貴重な経験を数多く積むことができました。NTUでは様々な国から来た人たちに会うことができ、異文化コミュニケーションを通して、グローバルに視野を広げることができました。 またXING先生と一緒に共同することにより彼の研究に関する態度と研究を進む方法以外の様々なことをXING先生から学ぶ経験が出来ました。これらの経験は、今後の研究活動だけでなく、社会に出てからも生かせたいと思います。 最後に、このような貴重な機会をくださった大阪大学とNTUでお世話になったXING先生、 学生、スタッフの皆様に心よりお礼申し上げます。 >