assertionが書かれているが実際には実行されていないテストを見つける.

本論文ではまずタイトルにもある腐った緑テストの悪影響を力説している. 確かにこういったテストは盲点であり,発想がとても凄い. 腐った緑テストとは実行されないassertionを含むテストをさす. 腐った緑テストは次のような悪影響がある.

検出には静的解析と動的解析を組み合わせて行う. 実行されていないassertを見つけるだけなので簡単だと思ったが,意外と条件が多い. 例えば,テストの中には,例外が起きないか等を確かめるためだけのassertionを行わないテストもある(Smoke Test と呼ばれるらしい). これは簡単に見つけることができるが,他にも条件がある. helper method と呼ばれる,自身はassertionを含まず,他のassertionを含むメソッドを呼び出すメソッドや,そういう場面で呼び出される側のメソッドもある. これらを考慮した上で腐った緑テストを検出する手法を提案している.

実験も行なっており,結果として多数の腐った緑テストが検出されており,この問題の根深さを証明した.

着眼点が面白く,検出する必要性も検出した際の効果も大いにあって良い研究だと感じたが, 対象としていた言語がSmalltalk系のPharoというマイナーな言語だったので,Javaなどのメジャーな言語でやればよかったのにと感じた.