森崎修司の「どうやってはかるの?」:ITmediaオルタナティブ・ブログ (RSS) 森崎修司の「どうやってはかるの?」

計測できそうでできない多くのこと。エンピリカル(実証的)アプローチで。

"What Type of Defects are Really Discovered in Code Reviews?"というタイトルの論文がIEEE Transaction on Software Engineeringに掲載されている。分量の多い論文(2段組で20ページ弱、参考文献が70件以上)だが、示唆も多い。視点は実務に近いように思う。

論文は、ここ(IEEE digital library)から購入できる。また、ここ(Helsinki University of Technology)からダウンロードできる。詳細は原典を参照いただければと思う。

functionalityとevolvabilityは論文で提案されている欠陥分類。700件超のコードレビュー指摘結果と過去の研究結果とを踏まえて、大まかに2種類に分類していて、次のとおり。

  • functionality欠陥
    機能欠陥の指摘。いわゆる潜在的バグの指摘。たとえば、予約システムにおいて「『予約の有効期間をすぎた場合には、1時間の猶予期間をもって予約を取り消す』仕様が実装されておらず、猶予期間なしに即時に予約エントリが消去されている」といったものだ。放置すると今回のリリースで問題となる点を指摘したものであり、短期的視点での欠陥といえる。
  • evolvability指摘
    今後の保守・拡張性の問題となる指摘。たとえば、Cプログラムにおいて「入力バッファを確保するための配列buffer[256]に直接数字(256)が使われているが、定数宣言して一括変更できるようにしておくべき」といったものだ。バグには直結しないが今後のバージョンアップや流用において、問題となり得る点の指摘であり、長期的視点での欠陥といえる。

論文では、ある企業の商用開発での388件のコードレビューの指摘結果、ある大学でのコードレビューの学生実験での371件の指摘結果の2つを調査結果として報告している。調査結果では75%の指摘がevolvabilityに関するものだったそうだ。

調査結果は広範囲な調査とは言うには少し物足りないが、個人的には多くのソフトウェア開発にあてはまる傾向を表していると思う。

特に、今後の拡張性よりも、今回のリリースでの品質を上げることのほうが優先順位が高いプロジェクトでコードレビューを実施する際には、evolvabilityよりもfunctionalityに関する指摘をするよう、レビューアにあらかじめ伝えておき、レビュー実施中もレビューア間でそのことを共有する必要があるといえる。逆にevolvabilityを重視したい場合には、特に指定はしなくともコードレビューは効果的に働くといえるだろう。

ここを読まれている方々にも、functionalityが重視される場合には要件、設計レビューを、evolvabilityが重視される場合にはコードレビューを、と暗黙的に使い分けされているのではないだろうか?私が検討をご一緒した企業の方からも同様の話を聞くことが多い。紹介した論文はそれを整理、明示したものとして価値が高いように思う。

森崎

Special

- PR -
コメント

コメントを投稿する
メールアドレス(必須):
URL:
コメント:
トラックバック

http://app.blogs.itmedia.co.jp/t/trackback/77444/20994335

トラックバック・ポリシー


» このブログのTOP

» オルタナティブ・ブログTOP



プロフィール

森崎修司

森崎修司

ソフトウェア開発に携わる方に気づきを提供することを目指し、ソフトウェア開発の定量化/効率化/高品質化の動向を国内・海外、実務・研究から多面的に紹介し、研究者の視点、自身の業務経験をふまえた視点から考察します。現在、静岡大学 助教

詳しいプロフィール

カレンダー
2012年5月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
カテゴリー
エンタープライズ・ピックアップ

news094.gif ストレス社会との付き合い方
政府がメンタルヘルス検査の義務化を検討しています。しかしうつになった後だけではなく、なる前の予防も大切なのではないでしょうか。(5/24)

news094.gif 「思いやり経営」のススメ
産学・NPO連携の民間団体が先頃、「思いやり経営」という観点で評価した指標や企業ランキングを発表した。企業のマネジメント力を知る手立てとして注目されそうだ。(5/24)

news094.gif テレワークが労働者のマインドを変える
テレワークが普及すると、労働者の評価は従来の「時間×生産性」から「成果」へと変化する。時間や場所を自分の裁量でコントロールできる変わりに、成果を最大化するために労働をマネジメントする能力とマインドが労働者には必要になる。(5/23)

news094.gif 求む、クックパッド男子
高身長も高学歴も高収入もいらない。私が男性に求めるのは「料理の腕」だけです。(5/18)

news094.gif 37歳の常識――我々は一生学び続ける
学び続けなければ衰退するのみだ。(5/18)

オルタナティブ・ブログは、専門スタッフにより、企画・構成されています。入力頂いた内容は、アイティメディアの他、オルタナティブ・ブログ、及び本記事執筆会社に提供されます。

Special

- PR -

サイトマップ | 利用規約 | プライバシーポリシー | 広告案内 | お問い合わせ