第21回 SRA-KTL Technology Seminar
SRA グループの研究開発機関である(株)SRA 先端技術研究所(SRA-KTL)では、様々な先端技術に関するセミナーを定期的に開催しております。
今回は、インクリメンタル開発をテーマに「軽量」「シンプル」「組み合わせ易さ」という3つのポイントに着目した開発支援技術をご紹介します。 近年のハードウェア/ソフトウェア環境の激変や、多様化する開発ニーズに合わせて、コードクローン検出技術、コード検索、ライブラリ、それぞれの開発支援技術も変容を遂げています。 セミナーでは、各技術研究分野で10年以上の開発経験をもつ3人の講演者から、それらの変容の経緯と発展について、具体的なツール解説と共にご講演いただきます。
ご多忙とは存じますが、是非ご参加をいただきたくご案内申しあげます。 (PDF版案内状)
テーマ: 『インクリメンタル開発を支援する技術と環境』 講演者: 神谷年洋氏(産業技術総合研究所),
葉雲文(SRA),
西中芳幸(SRA先端技術研究所)日時: 2009年10月14日(水) 14:00 〜 17:00 受付 13:30〜 場所: 全国情報サービス産業厚生年金基金 「JJK会館」7階会議室(地図) 参加費: 無料 定員: 70名(定員に達し次第、申し込みを締め切らせていただきます) 申し込み方法: 必要事項をご記入の上 10月9日(金曜日)までに、 こちらからお申し込みください。申込み順で70名までとさせていただきます。(申し込みは締め切らせていただきました)
本セミナーは入場無料ですが、会場の定員や準備の都合もありますので、参加希望の方はあらかじめ申し込みをお願いしております。 受付は先着順ですが、申し込み多数の場合には満員になり次第締め切らせていただきますのでご了承ください。問合せ先: (株)SRA先端技術研究所 セミナー受付担当(seminar21@sra-ktl.co.jp)
講演概要
『コードクローン研究の進化と支援技術の展開』
神谷年洋 氏 / (独)産業技術総合研究所
コードクローン(CC: Code Clone=プログラム中の重複するコード)を検出することで、保守作業を効率的に進めることが可能となります。従来、検出処理の精度と高速化など実行性能が求められたCC検出ツールには、他のツールとの連携や新たなニーズに対応し易い柔軟な構造なども求められるようになってきました。本講演では、CC研究の第一人者として世界的に著名な講師に、このようなニーズや環境の変化に伴って、開発言語や開発形態、開発設計時の優先順位づけの判断などが、どのように変化してきているかを事例を交えてご講演いただきます。
<講師紹介> 神谷年洋氏(産業総合研究所)は、コードクローン検出ツール "CCFinderX" (http://www.ccfinder.net/index-j.html) の開発者であるとともに、この分野の世界的権威です。 神谷氏はこの功績により、今春 "第1回マイクロソフトリサーチ日本情報学研究賞" を受賞されました。
『検索駆動型ソフトウェア開発の支援環境』
葉雲文 / (株)SRA ニュービジネス戦略本部
現在開発中のコード検索エンジンCodepot(仮称)は、ソースコードの文脈検索、シグネチャ検索、類似コード断片の曖昧検索、それらの複合検索など、高度・高速な検索機能により、膨大な量のソースコードから目的のコードを迅速に見つけ出します。また、初期コストがかからない組織横断的なソースコードの再利用や、派生開発で構築されているシステム群などの一括管理ツールとしても利用できます。さらに、コードへのメモ添付機能により、ライブラリAPIの協調学習、コードの理解と活用、システム保守知識の長期的な蓄積と共有の支援なども可能です。
<講師紹介> 葉雲文(SRA)は、「Java開発者のオンデマンド・ラーニングを支援するソシオテクニカル環境」で2006年のIPA SECジャーナル優秀論文賞を受賞しました。 また、本分野の研究者として関連論文 "Metadesign: Guidelines for Supporting Domain Experts in Software Development" がIEEE Software 2009年9-10月号に掲載されました。 現在チーフアーキテクトとして、検索駆動型開発支援環境を開発中です。
『ライブラリの軽量化とユーザビリティ』
西中芳幸 / (株)SRA先端技術研究所
本講演では、“理解のし易さと導入のし易さ”という二つの観点から、ライブラリのユーザビリティを高めるMotR(Motley Reservoir)アプローチを紹介します。大規模高機能な一枚岩のライブラリを、依存性を考慮しながら単一機能の小規模ライブラリ群に分解する際の課題とその対処法、それらの小規模ライブラリ群を開発管理する際に必要となる運用方式や、小規模ライブラリのコンパイル・テスト・デプロイを短時間のサイクルで簡便におこなう環境などを説明します。また、そのようなライブラリエレメント群を利用していく際の支援環境への展望を論じます。
<講師紹介> 西中芳幸(SRA先端技術研究所)は、10年以上にわたって、三次元グラフィックスやマルチメディア用のオープンソースライブラリである「じゅん for Java」を開発しています。 また、現在はMotRアプローチを考案・実践し、「じゅん for Java」のモジュール化と開発支援および利用支援環境の構築を行っています。
補足情報
今回の『インクリメンタル開発を支援する技術と環境』をテーマにしたセミナーの目玉として、産業総合研究所の神谷先生に『コードクローン研究の進化と支援技術の展開』 という講演をお願いしていますが、ここで取り上げるクローン検出ツールは、以前のCCFinder-Xから更に進化したツールに変貌し、他ツールとの連携や新たなニーズに対応するために、Lightweight Languageによるモジュラー実装に進化ていて、最新の軽量言語による実用例としても参考になるようです。 また、他の2つの講演でも最新技術をインクリメンタル開発に活かすための、技術やノウハウをご紹介しますので、最新の応用事例としても参考になると思います。
コードクローンとは、ソースコード中の全く同一のコードの断片、または、類似したコード断片のことであり、開発者がソースコードをコピー&ペーストするなどの原因により、ソースコード中に作り込まれます。 このような重複したコードの点在は、修正漏れが生じやすいなどソースコードの一貫性のある修正を難しくし、品質を低下させ、再利用やリファクタリング作業を難しくします。 コードクローン検出技術は、ソースコードの品質評価以外にも、剽窃検出(GPLライセンス違反の防止)、アスペクトマイニング(同じ関心事に関わるコードを抽出する)などにも利用されています。