Internship Experience in Queen’s University, Canada

IMG_5474

My name is Patanamon Thongtanunam. I’m a first-year Ph.D student of Software Design and Analysis Laboratory (SDLAB) in NAIST.  Recently, I have a great opportunity to visit Queen’s University in Canada for 9 months (from September 2014 to April 2015). This internship is supported by NAIST Global Initiatives Program 2014. Today, I am pleased to share my experience of my internship on NAIST Edge.

Queen’s university is a public research university located in the peaceful city of Kingston, Ontario, Canada. Similar to Nara, Kingston is a city that close to many famous cities such as Toronto, Montreal, and Ottawa. The university is also located near the lake Ontario, which is one of the five great lakes of North America. Therefore, it would be no doubt that the view and the weather in summer time is really nice but I still have to say that the winter season here is extremely cold :)

IMG_5475

During my internship, I am doing research under supervision of Professor Ahmed E. Hassan of Software Analysis and Intelligence Laboratory (SAIL) at Queen’s University. The main research topic of SAIL is to investigate approaches and create techniques to support practitioners who are producing, maintaining and evolving in large scale software systems. Since the research area of SAIL is similar to my current research studies in SDLAB, it is not so difficult for me to extend my research under the same topic. In my opinion, SAIL is a highly-active research laboratory in software engineering. Every SAIL’s student enthusiastically does high-impact research and publish their research in the top venues. This environment encourages me to be more energetic as well. Moreover, SAIL is a multi-cultural working environment. There are many visitors from Japan, Brazil, and Singapore working in SAIL. It’s a good chance  to connect people not only from Canada but also from other countries around the world. Interestingly, SAIL is located in a house instead of a building!! This is quite surprised me as you know that NAIST’s laboratories are often in buildings. Working in a house is a kind of new experience for me. I think that it makes me feel like I am working at my home rather than working in an office.

IMG_5480

Although NAIST gives us valuable knowledge and research skills, we can open our vision in other aspects as well as globalize our thinking system by collaborating with other people and doing internship abroad. During my internship at SAIL, I have learned how do they work and think, which is a good example that I should follow and improve myself. I wish that I can share my experience more when I come back to NAIST.

Last but not least, I would like to thanks to my supervisors, Iida-sensei and Ichikawa-sensei who always kindly support and give me this great opportunity. I would like to thanks to NAIST Global Initiatives Program 2014 for their financial support as well. Without them, I would not be able to gain this precious experience.

Thank you very much.

3Dプリンタを活用した研究(ロボティクス研究室)

3Dプリンタを活用した電動義手-「Finch」と「リアル電動義手(仮)」

何らかの理由により手を失った方は,手の機能を代替する義手を使用します.当研究室では,3Dプリンタを活用した2種の電動義手を開発しています.一つは「Finch」と呼ばれる電動義手で,対向に配置された3指によって高い作業性を実現するものです.もう一つは,「リアル電動義手(仮)」と呼ばれる電動義手で,市販の装飾義手(把持機能はないが外観がリアルな義手)の外観のまま,簡易な把持機能を付加した義手です.いずれも3Dプリンタをフルに活用して,人体とのインタフェースであるソケットも含めて開発しています.

3Dプリンタで義手を開発するメリットは,1)ユーザが少ない義手でも少量から製作できる,2)3DCADを用いて自由度の高い設計ができる,3)短時間で試行錯誤できる,4)少量ならば金型を作るよりも安い,5)サイズ変更が容易,6)一か所で製作可能,8)部品が壊れてもすぐに再製作が可能,9)設計データを共有しやすいなど,多数あります.

反面,強度面や安全性での懸念はあります.ただし,3Dプリンタの性能向上は日進月歩であり,強度が高く人体との接触を考慮した安全な材料を使用できる機種も現れてきていますので,これらの課題は徐々にクリアされるでしょう.また,既存の補装具としての扱いが制度上難しいなどの課題もありますが,これも3Dプリンタ有用性が認知されるにつれて状況は変わってくると思っています.3Dプリンタを活用した支援機器がユーザに届く日まで,根気よく開発を行っていきます.

義手の写真

3Dプリンタと市販デバイスを利用した安価な見守りデバイス

日本は世界的に見ても高齢化が最も進んでいる国の1つであり,加齢や疾患による要介護者数の増加が大きな問題となっている.特に運動機能の低下による転倒や転落はより大きな身体的ダメージを引き起こす要因となるため,転倒転落の観測や解析が研究されている.医療機関や福祉施設などにおける転倒転落防止においては,転倒転落が発生する可能性の高い単独行動,すなわちベッドからの離床を検出することが重要であると考えられている.

現状では,患者の衣服とベッドをクリップ型のセンサで繋ぎ離床を検出するシステムや,ベッド上に圧力センサを多数敷き詰めて離床や危険状態を検知するシステムなどが利用されている.しかし,クリップ型センサでは患者がセンサを外してしまい離床検出が出来なかったり,接触型センサでは寝返りなどの別の動作で反応してしまったりと誤作動が多いという問題が残っている.また,患者やベッドに物理的に取り付けるセンサでは衛生面や耐久性,設置にコツが必要であるなどの問題などが残されている.

一方,患者に非侵襲なシステムとして非接触型のセンサを用いた患者見守りシステムへの期待が高まっており,いくつかの製品が提案されている.これらのシステムでは離床だけでなく患者の姿勢なども計測可能であるため,より多くの情報が取得可能であるが,次のような問題を抱えている.

  1. 初期設定やベッド移動に伴う機器調整など導入・運用に手間がかかる.
  2. 従来のシステムに比べて高価である.
  3. 患者の映像を取り扱う(何をしているかわかってしまう)ためプライバシーの問題がある.

本研究では,医療機関や福祉施設などにおける実用化を目指した高信頼な見守りシステムの開発を目的としている.我々はこれまでに,ベッドからの離床を高い信頼度で検出することを目的とした低価格でメンテナンス性の高い見守りデバイスの開発を行っている.これまで,市販のハードウェアを組み合わせることによって誰でも低価格にデバイスの構築が可能であることを示し,ソフトウェアをコンポーネント思考で開発することによってメンテナンス性が高く,ベッド位置の変化などに頑健なアルゴリズムを提案している.

今後も動作検出アルゴリズムの改良やデバイスの改善を続けていく予定である.

MIMAMORIsystem

PhD Studies in Intelligent System Control Lab

Hello, I’m Takamitsu Matsubara, an assistant professor in the Intelligent System Control Laboratory. We study on system control, machine learning, reinforcement learning, intelligent robotics, signal processing, and sensing intensively. This article introduces some of our research topics by two PhD students.

If you are further interested in details, please visit our lab’s website: http://genesis.naist.jp/?lang=en

Lorlynn Asuncion Mateo (D1): 
Originally from the Philippines, I moved to Japan to join the Intelligent System Control laboratory of NAIST as a research student about 3 years ago. From there, I entered and finished the Master course, then proceeded to enter the doctoral course immediately after graduation. Currently, I am a first year doctoral course student in the said laboratory, undertaking theoretical research on two-degree-of-freedom (2DOF) control.
Initially, my chosen research theme gained much attention in control engineering because of its interesting conception in the biological field. Several years back, Kawato et al. established that biological motor control is achieved by the brain and central nervous system by using a 2DOF structure with a learning law. In this structure, a feedforward (FF) mechanism makes use of feedback (FB) error to achieve accurate motion. This scheme is popularly known as feedback error learning (FEL). To illustrate, a simple figure below shows how the human body functions using this 2DOF structure. In the figure, the controlled object is the pair of limbs used to achieve the motor task, e.g. grabbing an item. Feedback control can be achieved with the help of human vision, while the inverse model and learning law are considered in the human brain. What’s interesting is, deviating from the biological perspective, this idea for adaptive control is very promising and can be applied to any other type of control problem, as done in a lot of existing literature on the subject.

2DOF_intuitive

In my PhD study, we design 2DOF control schemes for single-input, single-output (SISO) and multi-input, multi-output (MIMO) plants (model of controlled object). It is known in control theory that the 2DOF configuration enables us to design independently FB and FF control laws for stabilization and response shaping, respectively. FEL is promising in the sense that FF control is tuned on-line and hence can give good response without modeling. For instance, in an experimental work by a former student of our laboratory, an FEL scheme was applied for motion control of a two-link manipulator to write different one-stroke characters. Below, the figure on the left shows the numerical simulation result for writing “8”, while the photo on the right shows the experimental result using the two-link manipulator.
simulation_before-afterLearningexp_before-afterLearning

Some FEL schemes turned out to be effective under certain assumptions on the plant; however, if the plant model is plagued by finite zeros, then the conventional scheme cannot overcome the difficulties involved, i.e., risk of over-parameterization and consideration of non-commutative matrix multiplication. This is where my research topic comes in. We propose 2DOF control schemes to deal with the presence of finite zeros in the plant.

Under the guidance of Prof. Kenji Sugimoto, we have published several articles addressing the said topic. One proposed approach is the use of Polynomial Matrix Fractional Representation from the modeling of the MIMO plant to the derivation of the control law to address the presence of finite zeros. Evaluation of the proposed approach is then done via numerical simulation. Based on the evaluation, results prove that the proposed approach is effective and successfully treats the difficulties mentioned above. Aside from this example, other studies, such as the treatment of SISO plants with zeros, are also currently being studied. After evaluating the performance of these feedforward learning schemes, evaluation via experimentation will be explored. One possible application is for vibration control of a flexible link manipulator (shown below) for accurate position control.

writeup_naistEdge_v3


Yunduan Cui (D1):
My PhD life in Intelligent System Control Laboratory (ISC lab), NAIST started from October 2014. After finishing Master course, I chose NAIST as my next step because it is a top research university in Japan,that provides me a wonderful research environment. Now I am enjoying challenging research and interesting laboratory life in the peaceful campus every day. My research focuses on develop a new Reinforcement Learning algorithms applicable for high-dimensional and complex robotic systems.

What is Reinforcement Learning? Imaging that we hope one robot to throw a baseball to the target without knowing how to control it. In Reinforcement Learning, we let the robot throw the ball according to its current knowledge (motor skill) firstly (it is obvious that the ball cannot hit the target at the beginning), then we tell the robot how good its performance is (the closer to the target, the better performance) and let it updates its knowledge. In the next iteration, the robot tries to throw the ball again and determine its actions according to the new knowledge. Following this way, after several iterations, the robot will be able to get a quite good knowledge to throw the baseball to the target. This is an overview of RL for robotic systems: making a robot to discover an optimal behavior through trial and error interactions with its environment autonomously.

RLv2

Unlike conventional control methodologies, we do not tell the robot how to do but teach it how to learn by itself. The robot tries to explore an unknown world and learn how to take the action that avoid punishment and get more reward. This process looks like some real animals’ behaviors very much and therefore help us to discover artificial intelligence in a nature way. Thanks to the new advanced machine learning theories and the improved computation ability, RL technologies are progressively popular and practical. They have been applied in more and more complex robotics systems in recent years and had very impressive performance.

In our lab, RL is applied in several challenging tasks with complex robot systems. Different high dimensional robots are trained by RL to solve problems that may be very difficult for other control methods. For examples, helping people put on their cloth, learning something’s shape though touching and even playing table tennis with real people and improving its performance by learning opponents’ behaves.

Robotv2RL also provides us a possible way to let the robot to “understand” the real world and therefore becomes more intelligent. Such an amazing feature attracts me so much and encourage me to be a PhD student in NAIST. What we are doing is to make the robot acts like a real animal but not only a cold machine. During my doctor course here, I hope to learn how to be a real researcher with a deep understanding of this field and then make some contributions to it.

cuiv2

ネットワークシステム学研究室2014の振り返り

ネットワークシステム学研究室は、変復調、信号処理、ワイヤレス通信やセンシング、組み込みシステムといった、いつでも・どこでも・何でもが繋がるユビキタスネットワークのための基盤技術の実現と評価に関する研究を行っています。情報科学研究科の中では比較的物理層に近い研究分野です。それではネットワークシステム学研究室の2014年の研究テーマなどを振り返ってみたいと思います。(特任助教 侯)

1. ワイヤレス給電システムの研究

近年、スマートフォン、携帯電話、電動歯ブラシ、コードレス電話などの電気デバイスを置くだけで充電できる充電器が出現しました。これらの今あるシステムでは、受電器である電気デバイスはあまり移動しませんが、今後の人間生活の更なる利便性を目指すために、移動中の電気デバイスや電気自動車、産業用ロボットなどにワイヤレスで給電できるシステムは必要と考えられます.

現在、主流のワイヤレス給電システムは送電側コイルと受電側コイルで構成され、これらのコイル間の磁気結合を利用することで、電力をワイヤレスで伝送しています。このシステムは、あまり移動しない電気デバイスへの給電は可能ですが、広域なエリアで移動する電気デバイスへの給電には展開が困難となります。なぜならば、その際、受電器の広い移動エリアにたくさんの送電側コイルを配置しなければならないからです。

Fig2

広域なワイヤレス給電の応用例

そこで、本研究は、受電器のモビリティへの対応を目指し、広域な給電エリアを展開できる新方式を提案しています。本提案では、図3に示すように、送電側のアンテナとしてコイルを用いずに、送電線2本で構成する平行2線路を用いることで給電エリアを簡易に拡大できています。高周波電源に接続した平行2線の周囲に磁界が発生するため、この磁界を受電側コイルで結合することで、ワイヤレス給電を可能にしています。その有効性を確認するために、電車模型を用いたワイヤレス給電デモを以下の動画でご覧いただけます。

Fig3NetworksystemLab2014

平行2線路を用いたワイヤレス給電の原理

動画:『NAIST ネットワークシステム学研究室 ワイヤレス給電デモ』

https://www.youtube.com/watch?v=diHCFyDdsSQ

上記の動画では、平行2線路により広域なワイヤレス給電が可能であることは明らかになりました。実用化までには以下のような課題を解決する必要があります。

  • 伝送効率の向上:高い効率で電力伝送を行うためには、受電側コイル形状・配置の工夫やインピーダンス整合などが必要となります。
  • 受電器の移動に対する受電電力の安定化:受電器が移動する時、電源から見た平行2線路のインピーダンスが変化するため、受電電力は変化します。受電デバイスを正常に動作させるために、受電電力の安定化が必要です。
  • 複数デバイス給電時の電力分配:複数デバイスへ給電する際、1つのデバイスが電力を取り過ぎると、他のデバイスは所望電力を受電できなくなるので、適切な電力分配が必要不可欠です。

上記以外、他に課題はまだ残されますが、本提案を用いることで、広域なエリアへのワイヤレス給電が可能と期待できます。また、本研究について、岡田実教授がNEジャパン・ワイヤレス・テクノロジー・アワード2014を受賞しました。(博士研究員:Duong Quang Thang)

2. 光ファイバ無線システムの研究結果

ネットワークシステム学研究室ではRoF (Radio over Fiber: 光ファイバ無線) に関する研究も行っています。RoFとは,同軸ケーブルと電流の代わりに光ファイバとレーザー光を使って無線信号を伝送する技術です。光の強さを無線信号の形に変調してアナログ信号として伝送します。光ファイバは信号を劣化させずに長い距離を伝送できるので、ケーブルテレビの信号を送ったり、たくさんのアンテナから信号を集めて1箇所の制御局で処理したりする用途に用いられます。一方で、光ファイバを使った通信というと光のON, OFFを切り替えて0, 1のデジタルのデータを伝えるものがあります。このような方法でデータを送る信号はOOK (On-Off Keying) 信号と呼ばれます。これはイーサネットなどで使われ,皆さんのパソコンもこのOOK信号を使ったインターネットで世界中とやりとりできています。RoFとOOK信号を送るためには普通それぞれに1本ずつで2本の光ファイバが必要ですが、本研究室ではこのRoFの信号とOOK信号を1本のファイバで送る方法を光OOK重畳ファイバ無線 (RoOOOK: Radio on Optical OOK) として提案し研究しています。同時に送るとき問題となるのは2つの信号の干渉で、この干渉を抑圧する方法をEEE COMS 関西チャプタ学生研究発表会で発表しBest Student Presentation Awardを受賞し、さらに抑圧効果を上げる方法をカンボジアで開かれた国際学会APSIPA ASC 2014で発表しBest Paper Awardを受賞しました。(M2:金子)

Fig4NetworksystemLab2014

 光OOK重畳ファイバ無線システム

本研究室では他にもRoFに関する研究を行っています。RoFの伝送において複数の無線信号を送ろうとすると相互変調歪 (IMD: Intermodulation Distortion) という邪魔な信号が発生してしまうことがあります。無線通信においてたくさんの人が一度に通信できるのは使っている周波数が異なるからです。ですが、AさんBさんCさんが通信しているときに、AさんとBさんの2つの信号から生まれた相互変調歪がCさんの使っている周波数を妨害してしまうことがあります。こうなるとCさんは通信できなくなってしまいます。相互変調歪が現れる周波数には規則があるので、相互変調歪ができない周波数にCさんの周波数を割り当てればよいのですが、今度はAさんとCさんの相互変調歪がDさんの周波数を妨害して……というようにたくさんの人が通信しようとすると大変です。このように無計画には周波数を割り当てられないので、たくさんの人が使う時でも可能な限りみんなが最大のデータを通信できるような周波数の組み合わせで周波数配置する方法を研究しています。さらに、この研究では、相互変調歪を弱めるためにプリディストーション (pre-distortion) という方法も導入しています。元々の無線信号は電気の信号ですが、これを光信号に変える変調器や、信号を強める増幅器の非線形性がこの相互変調歪を作っています。入力の電気信号に対して出力の光信号が全く同じ形でなく少し歪んでしまうことが相互変調歪の原因です。そこで、入力する電気信号を変調器の歪み方とは逆に歪ませることで、結果的に出力から歪みを無くします。あらかじめ前もって歪ませるのでプリディストーションと言います。以上のように、本研究室では周波数の配置とプリディストーションを使ってRoFにおける相互変調歪の影響を最小にして通信パフォーマンスを向上させるという研究も行っています。(D1:Withawat)

 3.デジタルテレビシステム

2012年から、日本では、世界の三大デジタルテレビ(DTV: digital television)規格の一つである統合サービスデジタル放送(ISDB-T)と呼ばれるサービスが導入されました。これにより、映像・音声・文字情報・静止画情報など、すべてをデジタル信号でまとめて1つの電波で放送するという新しい放送サービスの提供が始まりました。ISDB-Tは、モバイルと固定のテレビ受信機で高精細テレビを提供することだけではなく、1セグメント技術を使用して、ハンドヘルド受信機でTV受信が可能となります。

モバイルTV受信の場合には、放送局とテレビ受信機との間のチャネル(伝搬路)の特性は、急速に変化します。したがって、これらのチャネル特性の推定は、受信信号の良好な品質を達成するために非常に重要です。受信信号の品質と効率を向上させるために、本研究の一部として圧縮センシング(CS: compressed sensing)法に基づくチャネル推定法を検討しています。

圧縮センシング法は、わずかな測定値を使用して、スパース信号の回復を可能とする新しい技術です。無線チャネル推定、医療用画像処理、センサネットワークなど異なる用途で広い範囲において使用されています。本研究室では、CS法に基づき、1つのセグメントのモバイルTV受信端末においてチャネル推定のアルゴリズムを研究開発しています。提案法は既存法よりも高精度に伝搬路特性を推定でき、計算量の削減も達成しました。

Fig5NetworksystemLab2014

Example of a multipath wireless channel

また、電子制御導波器アレーアンテナ(ESPAR:electronically steerable passive array radiator)、或いはエスパアンテナと呼ばれる、特別なアレーアンテナ応用を研究開発しています。小型化かつ低消費電力など優れた特性を持つエスパアンテナは車載DTVシステムの受信端末において受信電力倍増などができ車載アンテナとして非常に適しています。発振器を調整して、周期的にエスパアンテナの放射パターンを変更し、更に信号処理技術を用いることで、信号品質を大きく改善できることが確認できます。本研究室では、エスパアンテナをテレビ受像機として使用し、CS法によるチャネル推定法を検討しています。

Fig6NetworksystemLab2014

 7-素子 ESPAR アンテナ

本研究室では、単に理論的な分析ではなく、ソフトウェア無線(SDR)のハードウェアおよびフィールドプログラマブルゲートアレイ(FPGA)を使って、上記のエスパアンテナを用いたISDB-T受信機のハードウェア実装を目指します。さらに、信号処理技術により、より効率的かつ低消費電力のハードウェアアーキテクチャを作成することを研究開発しています。(D2:Diego、D1:Rian、M2:Ryan)

4. 漏洩同軸ケーブルを基づくMIMOシステムの構築

近年、電波不感エリアにおける新しい無線通信基盤として漏洩同軸ケーブル(LCX)が着目されています。このLCXは外部導体に空けられた放射孔から電波が漏れ出すことにより、給電線とアレーアンテナの2つの特性を持つという特徴があります。もともとLCXは災害用の無線通信基盤として地下街やトンネル、無線通信による車両管理システムの利用を目的として新幹線の沿線などに敷設され古くから利用されており、近年ではオフィス用の無線通信システム等にも用いられており、このようなリニアセル通信環境の実現手段として漏洩同軸ケーブル(LCX)を用い、その高機能化と空間多重度を向上させる、高精度な無線端末位置検出研究開発を行っています。

LCXを用いたリニアセル無線システムと利用シーン

本研究では、開発したLCX-MIMO技術により、1本のLCXを2アンテナ相当として利用するMIMO伝送システムの構成を検討しています。従来は、1本のLCXでは1アンテナ相当の機能にとどまっています。今回開発した技術では、LCXから放射される電波が指向性を持つ性質を利用して、1本のLCXの両側から異なる信号系列を有する無線周波数帯の信号を同時に入力します。これにより、既存のMIMO伝送システムで2本のアンテナを使用して送信した場合と同様に、受信側ではそれぞれに入力された信号が異なる伝搬路を経由して受信されるため、MIMO伝送が可能となります。本LCX-MIMO技術を適用することにより、従来の2倍のスループットを安定して実現可能なことを伝送実験により確認しました。さらに、2本のLCXを近接して設置し4アンテナ相当としてMIMO伝送に利用可能なことを基礎実験により確認しました。提案したLCXによるMIMOシステムは、コスト削減効果と設置スペース制約条件が緩和できる特長から、リニアセルへの実用展開が期待されます。 このテーマについては、2014年10月に行われたIEEE Consumer Electronics Society 主催の国際会議(IEEE GCCE2014)で、「4-by-4 MIMO channel using two leaky coaxial cables (LCXs) for wireless applications over linear-cell」というタイトルで研究発表を行い、最優秀研究賞を頂いました。(特任助教:侯)

また、LCXによるMIMOシステムは高精度な無線端末位置検出ができます。昨年度は1本のLCXを利用してケーブルの長手方向について位置検出を行っていましたが、今年度はそのシステムを拡張させたLCX-MIMOシステムでの位置検出を行っています。このシステムはLCXとMIMO技術を組み合わせたもので、端末から送信された信号がLCXの両端に到達する時間差を利用して、より高精度な端末位置検出が可能になります。また、昨年度はシステムを全てシミュレーションによって構築していましたが、今年度はATRによって行われた実験データを元に位置検出を行い、より実践的に研究を進めています。

このテーマについて、2014年12月に行われたスマートインフォメディア(SIS)研究会で、「LCX-MIMOシステムにおけるMUSIC法を用いた高精度端末位置検出」というタイトルで研究発表を行い、若手研究優秀賞を頂きました。(M2:沖)

いかがでしょうか、2014年度のネットワークシステム学研究室の研究の様子が少しでも伝わっていればと思います。

ネットワークシステム学研究室の最新情報はこちらから

http://agano.naist.jp/hp/index.html

ソフトウェア工学研究室2014

ソフトウェア工学研究室では、ソフトウェア開発に関わる様々な問題を研究しています。幅広い問題に取り組むため、国内外の研究者との連携に力を入れています(ソフトウェア工学研究室2013)。今回は現在取り組んでいる研究課題をいくつか紹介します。

ソフトウェア開発者の作業改善支援
本研究では、Personal Software Process(PSP)というソフトウェア開発者の作業を改善手法の研究に取り組んでいます。PSPでは開発者の作業履歴を記録し、実装(プログラミング)、テスト、ソフトウェア設計、会議といった個々の開発作業にどれだけの時間を費やしているか分析し、効率の改善やプロセス改善に役立てます。

我々はこのPSPに用いられるソフトウェア開発者の作業履歴を自動計測するためのツールTaskPitを開発しています。TaskPitでは、あらかじめPC上で動作するアプリケーション(例えば,Eclipse,Visual Studio,Word,Excel,SQLサーバ,コマンドプロンプトなど)とタスク(例えば,文章編集,表計算,実装,テストなど)を紐付けて、アプリケーションのアクティブ/非アクティブ状態を検知することで各タスクに費やした時間や作業量(クリック数、タスク数)を計測できます。

estimate

また、PSPでは「開発作業」という単位での作業記録が必要であるため、文書編集,表計算といったタスクを,その前後のタスクの実施状況から判断して「実装」「テスト」「設計」等の開発作業に自動的にマッピング(推定)する研究にも取り組んでいます。

人的リソースから見るオープンソースソフトウェアの健全性評価
オープンソースソフトウェア(OSS)は、ソースコードが無償で公開されている、だれでも改良や再配布が可能なソフトウェアです。OSSの普及に伴い、OSSを導入する企業が増加しています。企業がOSSを導入するメリットとして、経費を大幅に削減できるという点があります。しかし一方で、ボランティアが有志で開発を行っているというOSSの性質上、バグがすぐに修正されないという問題や、開発が突然打ち切られるというリスクがあります。そのため、企業は健全性の高いOSSを導入する必要があります。我々は人的リソースの観点からOSSの健全性を測ろうと試みています。

homebrew

次の図は、OSSプロジェクトの貢献者を、コメントやバグ報告などの議論を行う貢献者とコーディングを行う貢献者に分けて、貢献者の分布を人口ピラミッドで表したものです。このように可視化することで、プロジェクトが貢献者の獲得・維持ができているかが分かりやすくなります。

脳血流計測装置を用いたプログラム理解難度の測定
ソフトウェア開発において、プログラムのソースコードや設計書を読み、そのふるまいを理解すること(プログラム理解)は重要な作業のひとつです。たとえば、

  • ソフトウェアから欠陥を取り除く(デバッグ)ため
  • ソフトウェアの改良を行うため
  • 他者の書いたプログラムを再利用するため

などの工程において、開発者はプログラム理解を行う必要があります。

開発者がプログラム理解をうまく行えるかどうかは、対象となるプログラムの複雑さ開発者の能力などにかかっています。
したがって、経験年数が短い場合や新しい分野での開発において、開発者はしばしばプログラム理解が困難な状況に直面します。

このような開発者に対しては、適切なタイミングで手助けや教育を施したり、現在の仕事の割り振りを見直すことで作業の効率を上げることが出来る可能性があります。
また、プログラムが万人にとって理解しづらいようであれば設計を見直す必要があるとも考えられます。
しかしながら、プログラム理解とは開発者の頭の中で行われる処理であり、「困難な状況にある開発者」を見つけることはそう簡単ではありません。時によっては、開発者が困難を抱えているときに管理者が「開発者はうまく仕事に取り組んでいる」と勘違いするようなこともあるでしょう(図1)。

intro1

図1. プログラム理解に取り組む開発者の内心を知ることは難しい

本研究ではこの問題に取り組むため、プログラム理解を行う開発者の脳活動を観察するという率直なアプローチを採用しました。我々は、ウェアラブルNIRS(Near-InfraRed Spectroscopy; 近赤外分光法)装置(図2)と呼ばれる小型軽量な脳活動計測装置を用い、プログラム読解中の脳活動の推移や難度ごとの差を見ることで、プログラム理解の困難さを測定出来るのではないかと考えています。

intro2

図2. NIRS装置と原理

NIRS装置は、頭表面に向かって近赤外光のレーザーを射出し、その反射を捉えることで脳内の血中酸素濃度を測定し、そこから脳活動を推定する装置です。fMRIやPETのような他の脳活動計測機器と比べて精度は落ちますが、計測時の手間や身体動作への制約が少なく、また長時間の計測にも耐えうるという特徴があり、本研究に採用されました。

現在我々は、様々なレベルの難読化(プログラムをわざと理解しにくくするための処理)を施したプログラムをプログラミング経験者に読んでもらい、その理解中の脳活動を測定するという実験を行っています。実験の途中ではありますが、開発者にとって極端な困難が生じている間プログラム理解中の脳活動が強く活発化する傾向が確認できています。

Automated framework for bug report categorization

This Automated framework focuses on reducing the amount of human effort required to obtain information from bug reports.

While bug report categorization can greatly help in understanding software development and improving its process, it is a daunting task because of the required amount of human effort to complete this task.

We propose a framework of automatic bug report categorization. It first applies topic modeling techniques to discover “topics” in the collection of bug reports, and then classifies them with the features of existing topics.

Result from our experiments demonstrated that our framework could automatically categorize bug reports with good results and much less human effort.

国際会議IWESEP2014を主催

10806318_852020818164601_5971084601057743100_n

実証的ソフトウェア工学(ソフトウェア開発における開発者の経験・ノウハウを観測し、将来のソフトウェア開発にフィードバックすることを目的とした学問)に関する研究を対象に、研究分野の発展や若手研究者育成を目指す国際会議International Workshop on Empirical Software Engineering in Practice (IWESEP) 2014を開催しました。若手研究者がオーガナイズする本会議は今年で6回目を迎えます.本研究室からも中川さん(D1)がChairメンバーの一人として活躍しています。また、本研究室から2件の論文発表(Limsetthoさん(D2)、伊原助教)、ポスター発表(湯月さん(M2)、藤原さん(M1)、藤野さん(M1)、若本さん(M1)、Jiarpakdeeさん(研究生)、伊原助教)があり、藤野さんらのポスターはBest Poster Awardを受賞しています!

10268412_852023471497669_667558884949701036_n

サミットMSR Asia Summit 2014を主催

35fb3ec8b65b475989f24f9cfd77c1d9

ソフトウェア工学分野において注目されているマイニングソフトウェアリポジトリ(MSR: ソフトウェア開発中にデータベースに蓄積される開発資産をデータマイニングし、開発者の感や経験に依存しない知識を見出すことを目的とした学問)分野で活躍するスーパースターを多数招聘し、プレゼンテーション、議論を通して日本のMSR研究の発展を目指すサミットです。ソフトウェア工学研究室の伊原助教、NAIST修了生の亀井助教(九州大学)がオーガナイザーとなり開催されています。今年で2回目の開催となるMSR Asia Summit 2014は、世界5カ国から研究者を招聘し、世界最先端の研究を学び、ソフトウェア工学の未来について思いを馳せました。

6230296cfe6a42dd9694d7364703cb0e

ソフトウェア工学研究室の最新情報はこちらから
http://se-naist.jp/
https://www.facebook.com/selabnaist