A Framework for SOFL-based Program Review Yuting Chen, Shaoying Liu, and Fumiko Nagoya Faculty of Computer and Information Sciences Hosei University, Tokyo, Japan E-mail: {chenyt@st2., sliu@, fnagoya@st1.}k.hosei.ac.jp Abstract Program review is a practical and cost-effective method for detecting errors in program code. This paper describes our recent work aiming to provide support for revealing errors which usually arise from inappropriate implementa- tions of desired specifications. In our approach, the SOFL specification language is employed for specifying software systems. We provide a framework that guides reviewers to compare a code with its specification for effective detection of potential defects. Keywords: program review, specification, SOFL 1 Introduction Program review is a practical and cost-effective method for detecting errors in program code. Review was origi- nally introduced by Fagan [1][2], and it refers to examin- ing a product by a prescribed, systematic process that is in- tended to determine whether or not the product is fit for its intended use. Rigorous review has been used for static analysis of software under different names, such as inspec- tion, walkthrough, peer review, and technical review [3]. In this paper, we provide a framework for reviewing of systems developed using SOFL specifications. We choose SOFL (Structured Object-Oriented Formal Language) spec- ification language [4] as the target specification language, since SOFL combines the formal notation with comprehen- sible design notation, which offers an effective support for verification and validation of both specifications and their programs. Our framework provides guidelines for reviewers to read programs based upon SOFL specifications in a top-down manner, and it can be applied in different software devel- opment models, such as the waterfall model and the Clean- room approach. The framework includes integration review This work is supported by the Ministry of Education, Culture, Sports, Science and Technology of Japan under Grant-in-Aid for Scientific Re- search on Priority Areas (No.16016279). and unit review of programs, which are similar to integra- tion testing and unit testing, but they differ in the order of performing the activities: unit testing is usually conducted before integration testing, but it is the other way round for review in this framework. 2 A Framework for SOFL-Based Program Review The framework for SOFL-based program review, as Fig- ure 1 shows, includes two review phases: integration review and unit review of the program. 2.1 Integration Review During the integration review, we focus on the detection and elimination of structural consistency violations. Struc- tural consistency violations usually arise from inappropriate implementations of structures of desired specifications. Our approach is designed to detect and remove such violations, and ultimately to improve the following qualities of soft- ware systems: (1) the reliability and maintainability of pro- grams, and (2) the efficiency of verification and validation of program units. In our work, we derive a static view and a dynamic view from a SOFL specification , and derive a static view and a dynamic view from a program . A static view captures the system’s static structure using clas- sifiers (e.g., type and class) and their relations (e.g., aggre- gation and inheritance), and a dynamic view describes the behavioral features of the system. SOFL results from an appropriate integration of Petri nets, VDM-SL, and DFD (data ow diagram). In a SOFL specification, CDFD (Condition Data Flow Diagram) is a formalized DFD to describe the dynamic architecture of the entire system, while mathematically-based formal notation is used to define its components in the associated modules. CDFDs distinguish from the classical data ow diagrams in that they may use structures for controlling data ows con- ditionally. In our work, CDFD is used as the dynamic view Proceedings of the 10th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS’05) 0-7695-2284-X/05 $20.00 © 2005 IEEE