Abstract

In this paper, we proposed a lightweight framework for correctness of software development based on B formal method. The purpose of this framework is to transform requirement documents described by natural language to executable codes. During the process, at first, the elements and relations of the target system are acquired through natural language analysis from requirement documents. Then modules are elicited from the entities and relationship based on the composition clauses in B method, and then the elicited modules are described by B specification which can be refined into B implementation, and finally the B implementation is translated into executable codes. Moreover, the correctness of the final software is guaranteed through the analysis of each phase in the process. Keywords-Correctness of software development; B method I. INTRODUCTION Software correctness determines the success or failure of software design. Many researchers devoted to the research about correct software development. Formal methods come along such activities. Owing to its powerful mathematical theory basis, formal method provides confidence in the correctness of software development. Moreover, formal method is used to improve the correctness and reliability of software and greatly decrease maintenance cost. At present, formal methods are usually used for reliable or critical software development, aim to produce zero-defect software. Formal methods are not widely used in generic software development. There are 2 major reasons: (1) Formal methods are difficult to use because of complex notations and mathematical proof. (2) Formal methods are not combined with software process well. Most of formal methods focus on the representation and validation of requirements. The requirements can be proved consistent and unambiguous. Whereas, how to get these requirements or how to translate these requirements into executable code? Since the mistakes can be taken into software design in each phase of the software life cycle. To design correct software, all the activities in software process must be standardized and elaborated. Therefore, reliable framework for software process is needed. In order to take different software development phases into consideration and develop the virtues of formal methods, we propose a formal method based framework for current software development. Our framework covers from natural language requirement analysis to executable code generation. In this paper, B method is adopted to assist correct software design. Thus, A B method based (B-based) framework for correct software development is presented. In Section 2, the related works of correct software development are presented. In addition, the background of our method is introduced. Section 3 gives an overview of B formal method. Section 4 presents our B-based framework. It also describes the different design phases in this framework in detail. In section 5, the correctness of the B-based framework is simply analyzed. Finally, in the last section both the open problems and the future developments of the B-based framework are discussed.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call