Verifying Business Rules Using Model-Checking Techniques for Non-specialist in Model-Checking

Yoshitaka AOKI  Saeko MATSUURA  

IEICE TRANSACTIONS on Information and Systems   Vol.E97-D   No.5   pp.1097-1108
Publication Date: 2014/05/01
Online ISSN: 1745-1361
DOI: 10.1587/transinf.E97.D.1097
Type of Manuscript: Special Section PAPER (Special Section on Knowledge-Based Software Engineering)
model checking,  UPPAAL,  Eclipse,  

Full Text: PDF(2.6MB)>>
Buy this Article

Software programs often include many defects that are not easy to detect because of the developers' mistakes, misunderstandings caused by the inadequate definition of requirements, and the complexity of the implementation. Due to the different skill levels of the testers, the significant increase in testing person-hours interferes with the progress of development projects. Therefore, it is desireable for any inexperienced developer to identify the cause of the defects. Model checking has been favored as a technique to improve the reliability earlier in the software development process. In this paper, we propose a verification method in which a Java source code control sequence is converted into finite automata in order to detect the cause of defects by using the model-checking tool UPPAAL, which has an exhaustive checking mechanism. We also propose a tool implemented by an Eclipse plug-in to assist general developers who have little knowledge of the model-checking tool. Because source code is generally complicated and large, the tool provides a step-wise verification mechanism based on the functional structure of the code and makes it easy to verify the business rules in the specification documents by adding a user-defined specification-based model to the source code model.