A Systematic Inspection Approach to Verifying and Validating Formal Specifications based on Specification Animation and TraceabilityA Systematic Inspection Approach to Verifying and Validating Formal Specifications based on Specification Animation and TraceabilityAA12746425
Writing formal specifications has been suggested to be effective in helping developers understand user’s requirements and in enhancing the quality of the requirements documentation.However, like the other activities in software development, the construction of formal specifications is usually error-prone in practice. In order to effectively detect the defects in the formal specification, in this paper, we propose a novel and practical inspection approach for specification verification and validation.In this approach, an animation method is adopted as a reading technique to guide the reviewer to read the specification. It dynamically presents the specification to the inspector by means of “executing” it in a step-by-step manner. In each step of the animation, the inspector is required to check a group of formal specification items related to the ”execution” based on a traceability-based checklist.The traceability is presented by relations between the formal specification items and their original requirements described in the informal specification, which is used to document the user’s requirements using a structured natural language. In the checklist, the relations are used to raise specific questions to examine each formal specification item to check the consistency between the informal and formal specifications. A prototype supporting tool it built to support specifications construction and the inspection process. An experiment is conducted to evaluate the performance of our inspection approach, and the experiment results indicate that our inspection approach can help inspector find more bugs than the traditional checklist-based animation, especially the bugs that affect the consistency between the informal and formal specifications due to the usage of traceability-based checklist.