ソフトウェア開発に役立つOSSのツール群

 ベンダーが体系的なツール群を提供しているプロプライエタリな開発環境とは対照的に、オープンソースの世界では個々の開発ツールがそれぞれの開発者たちにより開発されているため、ツール間の連携は緩やかである。それゆえ、それらを利用する開発者には使いこなしのノウハウが要求されることになるが、その代わりオープンソースの開発ツールの中には、かゆいところに手が届く小粋なツールも数多く存在する。そこでここでは、コーディング・テスト・デバッグに役立つオープンソースのツール群を紹介する。

AppChecker――Linux Foundationからリリースされた新世代の開発支援ツール 2008年08月11日
 Linux関連の開発作業で最も負担と感じるものは何かという質問を独立系ソフトウェアベンダ(ISV)に対して行った場合、その返答としては、 SUSEだのRed HatだのUbuntuだの様々なディストリビューションの対応製品を際限なく準備しなくてはならない点だという不満が返ってくるだろう。この種の不満は ISVに限らずLinux関連のプログラマであればおそらく誰でも感じているはずのものだが、そうした負担を大幅に軽減してくれるのが、Linux Foundationから先日ベータ版がリリースされたばかりのLinux Application Checker(AppChecker)という新機軸のプログラムなのだ。 [記事全文]

AJAXを活用したWebインタフェースの作成ツール ZK 2008年07月25日
 Webブラウザー上で動作するユーザー・インタフェースが、デスクトップ・アプリケーションでイベント駆動インタフェースを作るときと同じように簡単に作れたら――この夢を実現するために作られたのがAJAXツールキット ZK だ。 ZKが作るユーザー・インタフェースはXMLを使って定義し、Javaを使ってWebアプリケーションの機能を実装する。データバウンド・コントロールに対応しているため、Javaオブジェクトを変更したからといってユーザー・インタフェースのフォームを変更する必要はない。 [記事全文]

sysprofでシステム全体の動作をプロファイリングする 2008年06月03日
 アプリケーションのプロファイリングを行うと、どの関数が最もCPU時間を消費しているかがわかる。つまり、最適化の労力はそうした部分のコードの高速化に集中させればよいわけだ。 sysprof を使えば、マルチスレッド化またはマルチプロセス化されたアプリケーションや、複数の部分から成る込み入ったサーバアプリケーションなど、マシンで実行中のすべてのアプリケーションをプロファイリングできる。sysprofは、それらアプリケーションの実行時にどれほどの時間がそれぞれのライブラリや関数に使われているかという情報を収集してくれる。 [記事全文]

さまざまな作業に対応するオープンソースのテストツール群 2008年04月30日
 ソフトウェア開発プロジェクトの大小を問わず、テストは開発プロセスにおいて重要な役割を果たす。しかし、すべての組織や開発者が専用のテストツールを利用しているわけではない。そうしたツールは何百ドル、場合によっては何千ドルもするからだ。幸いにして、豊富なオープンソースのソフトウェアテストツールが無料で入手できるおかげで、そうした高価なツールの必要性は薄れつつある。 [記事全文]

GWT――Web構築に新機軸をもたらす開発ツール 2008年01月23日
 ページの再読込み不要でスムースな移動のできるGoogle Mapsや洗練されたGmailのルックアンドフィールに魅了されてしまったユーザは多いが、あなたもその1人ではないだろうか? そして、こうしたGoogleのユーザフレンドリな諸機能を織り込んだ独自のWebサイトを自分で作成してみたいが、必要なプログラミング作業を考えると気が滅入るという心理状態の方がおられたら、Google Web Toolkit(GWT)の利用を検討してみてはいかがだろう。 [記事全文]

GDB/GDBserverによるクロスターゲットのリモートデバッグ 2007年11月30日
 Linuxベースの組み込みシステムで動くアプリケーションのデバッグは厄介な仕事だが、理論上はGDB(GNU デバッガ)を使えば、ゆとりで片付けられるはずである。だが実際には、そのためのGDBのセットアップがやや難関となる。現実に作業が発生するし、克服すべき技術的な障害も存在するからだ。とはいえ、当て推量に頼らずプログラムを一定の方法で系統的にデバッグすることのメリットは、この作業にかかる手間を補って余りある。この作業で生ずる困難を軽減するヒントをいくつか紹介しよう。 [記事全文]

petardfsでアプリケーションをテストする 2007年09月25日
 petardファイルシステム(petardfs)は、エラーだけを生成するように設計されたファイルシステムである。ただし、エラーを生成する条件と期待されるエラーの姿を任意に指定できる。このため、 petardfsはシステムテストと単体テストに便利である。たとえば、ファイルを開くのに失敗した場合やファイルを5000バイト読み込んだところで読み込みエラーが起きた場合に、アプリケーションから正しいエラーメッセージが表示されることを確認できる。 [記事全文]

zzufを使ったファズテスト 2007年07月30日
 ソフトウェアにランダムな入力を与えてバグを見つけだすファズテスト(fuzz testing)は、ITセキュリティにおいてかなり前から非常に大きな関心事になっていた。だが、zzufという小さいながらも素晴らしいプログラムのおかげで、今では迅速かつ容易に自前でファズテストを実行できるようになっている。 [記事全文]

ハウツー:Vimをbash用IDEとして利用する 2007年06月13日
 Vimはそのままでもシェルプログラミング用の非常に優れたエディタだが、ほんの少し調整するだけで、スクリプトを書くための本格的なIDEに変身もする。Vimの調整は自分で行なうことも可能だが、Fritz Mehner氏によるBash Supportプラグインをインストールすれば手軽に行なうことができる。 [記事全文]

FirebugによるWebコードのデバッグ 2007年03月12日
 Webサイトの開発は、世紀の変わり目となった7年前の頃ほど単純な作業ではない。新たなツール、テクノロジ、開発方法論の氾濫により、もはやWebページはかつての単純なHTMLコードの列ではなく、各種のスタイルシート、マークアップ言語、スクリプトが複雑に入り混じったものになっている。だが、こうした複雑なブレンドものをデバッグするのは容易ではない。そこで登場するのが、WebブラウザFirefox用のオープンソースのアドオンFirebugだ。このアドオンを使えば、CSSおよびJavaScriptの単純なテンプレートから複雑なAjaxアプリケーションに至るまでのすべての編集とデバッグを行うことができる。 [記事全文]

CscopeとSilentBobによるソースコードの解析 2007年03月13日
 よく知らないプロジェクトのソースコードは、プログラムの構造や、そのプロジェクト独特の関数、クラス、ユニットの意味を知らないまま見ていくことになる。タグを使ってそれぞれの定義を参照できるものの、すべての定義をひとつひとつ検分していくだけで全体像を把握するのは難しい。こうした馴染みのないソースコードの解析に役立つのが、CscopeとSilentBobという2つのツールだ。 [記事全文]