米Google、Javaに契約プログラミングの概念を実装するデバッグ支援ツール「Contracts for Java」を公開

 米Googleは2月4日、「Contracts for Java(cofoja)」をオープンソースとして公開した。オブジェクト指向プログラミング言語「Eiffel」に着想を得たツールで、Javaプログラミングにおけるデバッグ作業を容易にするという。

 Contracts for Javaは、Javaに契約プログラミング(契約による設計とも呼ばれる)の概念を実装するツール。「契約」と呼ばれる、事前条件や事後条件、変数条件といった利用条件をJavaのBoolean表現としてアノテーション内で追加し、JVM argumentで有効にすることでランタイムレベルで契約が満たされているかをチェックできる。これにより、問題の発見が容易になるという。

 同ツールは、勤務時間の20%を自分のプロジェクトに費やすGoogleの「20%ルール」から生まれたもので、同様に契約プログラミングをJavaに適用するJohannes Rieken氏の「Modern Jass」を土台としている。ライセンスはLGPL。

米Google
http://www.google.com/

Google Codeのプロジェクトページ
http://code.google.com/p/cofoja/