2013 Volume 30 Issue 3 Pages 3_187-3_193
Design by Contract (DbC) is one of key concepts of software development. According to the concept, designers explicitly define each class or method specification as assertion to be satisfied. It has the following advantages. First, it helps to understand the software specification and to verify the program. Secondly, sufficient description of assertion for a method helps users understand behavior of the method without the details of the implementation. Finally, it enhances information hiding and modularity. Defect that description of assertions is insufficient or inconsistency between specification and implementation, however, sometimes counteracts these advantages. This study proposes a method to detect and to help users find defects of specifications described by JML (Java Modeling Language). Our method utilizes Alloy Analyzer. An application experiment has been performed on a ware-house management program, which is the famous common problem for software development. As a result, eight defects of the assertion were detected. We can thus sure the effectiveness of this method was confirmed.