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