An investigation of the approach to specification-based program review through case studies

Software review is an effective means to enhance the quality of software systems. However, traditional review methods emphasize the importance of the way to organize reviews and rely on the quality of the reviewers' experience and personal skills. In this paper we propose a new approach to rigorously reviewing programs based on their formal specifications. The fundamental idea of the approach is to use a formal specification as a standard to check whether all the required functions and properties in the specification are correctly implemented by its program. To help investigate the effectiveness and the weakness of the approach, we conduct two case studies of reviewing two program systems that implement the same formal specification of "A Research Management Policy" using different strategies, and present the evaluation of the case studies. The results show that the review approach is effective in detecting faults when the reviewer is different from the programmer, but less effective when the reviewer is the same as the programmer.

[1]  A. Jefferson Offutt,et al.  SOFL: A Formal Engineering Methodology for Industrial Applications , 1998, IEEE Trans. Software Eng..

[2]  HuberAndy Peer reviews in software , 2002 .

[3]  Harlan D. Mills,et al.  Cleanroom Software Engineering , 1987, IEEE Software.

[4]  Michael E. Fagan Design and Code Inspections to Reduce Errors in Program Development , 1976, IBM Syst. J..

[5]  Jin Song Dong,et al.  An Object Semantic Model of SOFL , 1999, IFM.

[6]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[7]  John Dawes,et al.  The VDM-SL Reference Guide , 1991 .

[8]  Shaoying Liu,et al.  An approach to specifying and verifying safety-critical systems with practical formal method SOFL , 1998, Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193).

[9]  Shaoying Liu,et al.  A formal operational semantics for SOFL , 1997, Proceedings of Joint 4th International Computer Science Conference and 4th Asia Pacific Software Engineering Conference.