Design by Contractというプログラムの責任を契約として定義する概念では,ある処理の呼び出し側と呼び出される側の責任を,契約として明確に分けることにより不具合が発生したときの修正箇所を明確にできる.契約とソースコードとの間に矛盾がないかを検査器などで検査することでソフトウェアの信頼性を測ることもできる.このような手法を用いることにより,契約記述が付加きれたプログラムの正しさを保証し,ソフトウェアの品質の向上を図ることができる.しかしながら,実際に契約記述がソフトウェアの品質に影響を与えるかについて調査をした研究は報告されていない.そこで,契約記述の存在するソフトウェアに対してリポジトリマイニングを行ない,ソフトウェアの品質に影響を与えているかについて調査する.具体的には,契約記述のあるファイルと無いファイルで不具合の修正傾向があるのかを調査した.その結果,不具合の修正頻度と最後の修正から不具合の修正にかかる時間に関しては,契約記述の存在による優位性があるとはいえなかった.
展开▼