最終更新時刻:2008年10月7日(火) 20時16分

-

ソースコード検索エンジンgonzuiとは

公開日時:
2004/11/16 09:02
著者:
umeda

[ゲスト] 高林 哲 Satoru Takabayashi
11月15日(月)〜11月18日(木)までの間、梅田望夫さんの代わりに高林哲さんがゲストブロガーとして登板します。

高林さんのプロフィール:産業技術総合研究所研究員。2004年 IPA未踏ソフトウェア創造事業開発者。1997年に全文検索システムNamazuを開発。以来、多数のフリーソフトウェアを開発している。趣味はバッドノウハウ

 ・高林哲のWebサイト
 ・いやなブログ

昨日未踏ソフトウェア創造事業の概要を紹介した。今日は、未踏ソフトのプロジェクトとして現在私が取り組んでいるソースコード検索エンジンについて述べたい。

ソースコード検索エンジンとは

ソースコード検索エンジンとは、その名の通り、ソースコードの検索エンジンである。なぜそんなものが必要かといえば、プログラムを書いていると、他の人が書いたソースコードを参考にしたいときがよくあるからだ。

プログラミングという作業は調べものの連続である。「ここをこうするにはどのライブラリを使えばいいのか、このライブラリのAPIはどうなっているのか」など、そういったことを調べながらコツコツとコードを書いていく。マニュアルを調べ、コードを書く。しかし、いくらマニュアルを読んでも、参考になるコードがないと理解に苦しむときがある。

たとえば (突然込み入った例になってしまうが)、 Unixのiconvという関数の使い方はなかなかややこしく、サンプルコード (使い方の例) が載っていないマニュアルを読んで理解するのは容易ではない。このようなときは、他人のソースコードを参考にするのが手っ取り早い。

しかしながら、Google で iconv を検索しても、iconv ライブラリのページや、iconv のマニュアルばかりがヒットして、ソースコードはなかなか出てこない。通常の検索エンジンは一般的な文書を主な対象としているためである。そこで、ソースコードの検索に焦点を絞った検索エンジンが必要となる。ソースコード検索エンジンは、オープンソースのソフトウェアに蓄積されたノウハウを活かし、ソフトウェア開発に生産性の向上をもたらす。

以上のようなことを未踏ソフトウェア創造事業への提案書に書いた。現在は開発がある程度進んできた段階にあり、11月6 日に京都で中間発表を行った。そのときの発表資料をウェブ上で公開している。

ソースコード検索エンジン gonzui

今回のプロジェクトで開発するソースコード検索エンジンの名前はgonzuiに決めた。ゴンズイはナマズ目の海水魚で、毒を持っている。全文検索システムNamazuの仲間という意味合いを込めて名づけた。

今年の6月から7月にかけて既存のシステムの調査や要素技術のテストを行い、7月末から本格的な開発を始めた。9月の頭に未踏ソフトのプロジェクトマネージャーである石田亨教授とミーティングを行い、最初のバージョンを公開する目標を 11月29日と定めた。

このようなスケジュールでgonzuiの開発を進めていたところ、今月の始め頃にKodersというソースコード検索エンジンのサービスが始まった (詳しくはKoders.com:(オープン)ソースコードの高速検索を参照)。 Kodersの目的は、私のプロジェクトと同様に、参考となるソースコードを探し出すことである。さきほどのiconv関数をKodersで検索すると、大量のソースコードが見つかる。

と、あっけなく Kodersに先を越されてしまったが、これはソースコード検索エンジンを開発するという目標が正しかった証としてみることができる。比較対象ができたことで開発がしやすくなったというメリットもある。先月にはIBMがJavaコード専用検索エンジン「Prospector」を開発中というニュースもあった。ソースコード検索エンジンの開発はいつのまにか小さなブームになっているようである。

プロジェクトの発端

ところで、ソースコード検索エンジンを作ろうと最初に言い出したのは、実は私ではなく、現在、開発協力者としてプロジェクトを手伝ってもらっている田中哲氏である。氏はプログラミング言語とライブラリの専門家であり、日夜、いかにしてプログラミングをより生産的な活動にできるか考えている。田中氏が「ソースコードの検索エンジンがあったらいいよねー」と話しかけてきたとき、一瞬何のことを言っているのかわからなかったが、しばし間を置いてからアイディアの秀逸さに気づき、「それはすごい。作らないと!」と反応したことを覚えている。

しかし、ちょうどこの頃、田中氏はソースコードのデータマイニングという研究プロジェクトに一段落をつけていたところで、「しばらく大量のソースコードは扱いたくない」との返事だった。「それなら私がメインで作るので手伝ってください」と田中氏にお願いし、ほどなくして未踏ソフトウェア創造事業に向けて提案書を書き始めた。本プロジェクトはこのようにして始まった。

明日は、ソースコード検索エンジンについてもう少し掘り下げ、この話題のまとめとしたい。

※このエントリは CNET Japan ブロガーにより投稿されたものです。シーネットネットワークスジャパン および CNET Japan 編集部の見解・意向を示すものではありません。

このエントリーへのコメント

ブログにコメントするにはCNET_IDにログインしてください。

この記事に対するTrackBackのURL: 

このブログについて

ブロガープロフィール

アーカイブ

カテゴリ

  • 未分類

ブログネットワーク

アルファブロガー

外資系エグゼクティブの日々I am Jamming!
外資系エグゼクティブの日々
村上敬亮 情報産業の未来図ネットワーク型産業構造への衣替え?
村上敬亮 情報産業の未来図
クロサカタツヤの情報通信インサイトグッバイ、レバレッジ!(1)
クロサカタツヤの情報通信インサイト
末吉隆彦 ロケーションウェアの「空」と「実」9月イベントお知らせ
末吉隆彦 ロケーションウェアの「空」と「実」
ケータイ時代のスタンダードiPhonista Nightの事後報告
ケータイ時代のスタンダード
江島健太郎 / Kenn's Clairvoyance新サービスをローンチしました
江島健太郎 / Kenn's Clairvoyance
鈴木健の天命反転生活日記パラレルワールドとしての電脳コイル
鈴木健の天命反転生活日記

読者ブロガー

WEB製作者の為のSEO対策スパム
WEB製作者の為のSEO対策
オープンソースCMS GeeklogがWEBの標準になる日OSC2008Tokyo/Fallで勉強会大集合開催
オープンソースCMS GeeklogがWEBの標準になる日
インターネットの裏側を探しましょ月5000円を得るための代償
インターネットの裏側を探しましょ
ネットのニュース.logiPhone2.2では、絵文字に対応?
ネットのニュース.log
それでも開発は続くよすでに土砂降りのIT業界
それでも開発は続くよ

企画特集

エンタメCGM「gooメーカー☆メーカー」エンタメCGM「gooメーカー☆メーカー」
【第1回】開発者に訊く!各機能と開発の狙いとは
KDDI「SaaSソリューション」KDDI「SaaSソリューション」
〜社内コミュニケーションの課題への解決策とは〜

新着コメント

> 完全な「食の安全」社会は、大変高価な食料品の世界である。 現代は、とい......
「食の安全」の幻想
投稿者:shin-ya
>日本でセカンドライフブームが起きたことは、ある種当然である。そして、そ......
本当にセカンドライフは「過去の思い出」になったのだろうか(2)
投稿者:he
なに、iPhone? いらねーよ。 ベンダー・ロックインされて喜ぶなよ。...
PCがメインだって?だったらiPhone買ってみな!
投稿者:アロン
Eatta さんのような、詳しい方のご意見をぜひ伺いたいと思っておりました。 ......
車の両輪が私有地に接地した状態でないと走行できない公道(架空の例)
投稿者:sumimotoshohei
国土調査前の土地の図面(旧字図)は、縮尺ことあるが精度は無いに等しいもので......
車の両輪が私有地に接地した状態でないと走行できない公道(架空の例)
投稿者:Eatta

ブログネットワークとは?

CNET Japan ブログネットワークは、元はCNET Japanの一読者であった読者ブロガーと、編集部の依頼により執筆されているアルファブロガーたちが、ブログを通じてオンタイムに批評や意見を発信する場である「オピニオンプレイス」、また、オピニオンを交換するブロガーたちが集うソサエティです。

広い視野と鋭い目を持ったブロガーたちが、今日のIT業界や製品に対するビジョンや見解について日々熱く語っています。

あなたもブログを書いてみませんか?

CNET Japanやその他サイトが提供するITニュースやコンテンツへの意見や分析、 ビジネスやテクノロジーに対するビジョンや見解について語っていただける方を 募集しています。ご応募はこちらから

ブログの投稿・管理

ブログの投稿はこちらから(※ブロガー専用)

ブログアワード2007開催決定!

今年最も活躍したブロガーを表彰します。詳細はこちらから

αマークって?

これは、CNET Japan 編集部の依頼に基づいて執筆されているCNET Japan アルファブロガーによるブログの印です。

Good!って?

CNET Japan ブログネットワーク内で拍手の代わりに使用する機能です。ブログを読んで、感激した・役に立ったなど、うれしいと思ったときにクリックしてください。多くGood!を獲得した記事は、より多くの人に読まれるように表示されます。

レビュー

[レビュー]2011年画質を備えた高画質、多機能Blu-ray--ソニー「BDZ-X95」
ソニーのBlu-ray Discレコーダー新製品が登場した。2007年から引き継がれる「やりたいことから選ぶ」シリー
今週の新製品総チェック:よりモバイルPCとして進化した「Let's note」が登場
松下電器産業の「Let's note」、デルのデスクトップPCとPC新製品が数多く登場した。Let's noteは9時間駆動
今週の新製品総チェック:フルサイズCMOS搭載のキヤノン「EOS 5D Mark II」が登場
キヤノンからもフルサイズCMOSセンサを搭載した「EOS 5D Mark II」が登場した。合わせてコンパクトデジカメ
今週の新製品総チェック:第4世代iPod nano登場、ソニー「α」、松下「LUMIX」に新機種も
デザインを一新したiPod nano、容量増されたiPod touchなど、新iPodファミリーが登場した。その後を追うよ