Facebookがモバイルコード用のデバッガInferをオープンソース化

16724650199_76465b19f9_o

Facebookが今日(米国時間6/11)、Inferをオープンソースにする、と発表した。Inferは、同社が発表前のモバイルコードのバグを見つけるために使っているスタティックな(==非実動時)プログラムアナライザで、これまで同社はこのツールを使ってAndroidやiOS、Facebook Messenger、Instagramなど用のFacebookアプリを分析していた。

Facebookによると同社は、Inferのおかげで毎月何百ものバグを見つけることができている。このツールはコードをスキャンして、NULLポインタへのアクセスや、メモリなどのリソースのリーク、等々の問題点を指摘する。いずれも、アプリが確実にクラッシュしてしまうほどの、プログラムの深刻な欠陥だ。

fbinfer

Facebookは自社製アプリの開発がはやいことで知られているが、バグの修復もWebアプリケーションならはやくて簡単だが、モバイルではそうは行かない。デバッグしたアプリを、ユーザがダウンロードしてアップデートしなければならないからだ。

FacebookはInferを主に、AndroidのJavaコードとiOSのObjective-Cをチェックするために使ってきたが、CやJavaのコードならiOS/Androidに限らずなんでも調べられる。実際にFacebookは今、Inferを使える環境と対応言語を広げようとしている。

FacebookではInferの起動は自動化されていて、デベロッパがソースコードをちょっとでも書き変えると動き出し、見つけた問題をコード中にコメントとして書き込む。

このツールの技術的な詳細はFacebookのブログ記事を読めば分かるが、ここではInferが“分離論理(separation logic)”と呼ばれる概念を利用していることを、挙げておこう。分離と言ってもそれは、conscious uncouplingとは無関係だ。それは分析者が、アプリケーションの全体ではなく小さな部分を見ていくための理論だ。Inferはこれを使うことによって、コードの変更の分析を多くの場合10分以内で完了する。さらにInferは、コードの、前回とは変わった部分だけを見ることによって、デバッグをスピードアップする。このようなテクニックを駆使しなければ、大きなコードのスタティックな分析はほぼ不可能だ。

Inferは、ここで入手できる。

[原文へ]
(翻訳:iwatani(a.k.a. hiwa

投稿者:

TechCrunch Japan

TechCrunchは2005年にシリコンバレーでスタートし、スタートアップ企業の紹介やインターネットの新しいプロダクトのレビュー、そして業界の重要なニュースを扱うテクノロジーメディアとして成長してきました。現在、米国を始め、欧州、アジア地域のテクノロジー業界の話題をカバーしています。そして、米国では2010年9月に世界的なオンラインメディア企業のAOLの傘下となりその運営が続けられています。 日本では2006年6月から翻訳版となるTechCrunch Japanが産声を上げてスタートしています。その後、日本でのオリジナル記事の投稿やイベントなどを開催しています。なお、TechCrunch Japanも2011年4月1日より米国と同様に米AOLの日本法人AOLオンライン・ジャパンにより運営されています。