Figure 9: Assigning a function to the scenario. 
4 DISCUSSION AND 
CONCLUSIONS 
This paper presented an experiment on the 
verification of security requirements for the source 
code of an existing system. The experiment showed 
that we could verify whether the existing system 
satisfied the security requirements. Generally, source 
code verification is difficult and time consuming. 
There are several different approaches to source 
code verification (
Beyer
 et al., 2004, 
Thompson
 et al., 
2008). A tester needs to analyze the details of the 
target source code and insert assertion statements. In 
this case, requirements specification implementation 
will be dependent on the document. 
To optimize the approach shown in Figure 1, we 
solved the following problems through 
experimentation: 
•  RA Models are an effective approach for 
specifying functional requirements. Security 
requirements are a kind of non-functional 
requirement related to functional 
requirements; they can be specified through 
the systematic method shown in Figure 3. It 
is important to design and manage concepts 
such as Cross-Cutting Concerns and Context 
Awareness modularly so that we can formally 
verify them. Furthermore, such designs need 
to be implemented in a clear and consistent 
manner for the duration of the project. 
•  In this paper, RA Models were defined 
manually. We are planning the development 
of a support tool for these manually defined 
RA Models to improve their 
comprehensiveness and accuracy. 
•  Several problems impede the creation of a 
correspondence table through static analysis 
of the source code. Various different 
technologies such as programming languages, 
platforms, and application frameworks are 
used to implement a software system. 
Because analysis methods depend on the 
technologies used, an analysis tool can be 
very expensive to develop. It is also common 
that developers do not comply with standard 
coding conventions during the project and 
team members can vary during the course of 
the project. This causes inconsistency in 
definition of operations and fields. 
REFERENCES 
OMG, “UNIFIED MODELING LANGUAGE”, 
http://www.uml.org/ 
Y. Aoki and S. Matsuura, Verifying Security 
Requirements using Model Checking Technique for 
UML-Based Requirements Specification, Proc. of 1st 
International Workshop on Requirements Engineering 
and Testing, pp.18-25,  September,2014. 
Y. Aoki, S. Ogata, H. Okuda and S. Matsuura, Data 
Lifecycle Verification Method for Requirements 
Specifications Using a Model Checking Technique, 
Proc. of The Eighth International Conference on 
Software Engineering Advances (ICSEA 2013), 
pp.194-200, 2013. 
UPPAAL, http://www.uppaal.com/, 2016. 
S. Ogata and S. Matsuura, “A UML-based Requirements 
Analysis with Automatic Prototype System 
Generation,” Communication of SIWN, Vol. 3, 
pp.166-172, 2008. 
Common Criteria, “CC/CEM v3.1 Release4”, 
http://www.commoncriteriaportal.org/cc/ 
Y. Aoki, S. Matsuura, “Verifying Business Rules Using 
Model-Checking Techniques for Non-specialist in 
Model-Checking.” IEICE TRANSACTIONS on 
Information and Systems, Vol. E97-D,   No. 5, 
pp.1097-1108, May, 2014. 
S. Matsuura, Y. Aoki, and S. Ogata, Practical Behavioral 
Inconsistency Detection between Source Code and 
Specification using Model Checking, ISSRE 2014, 
pp.124-125, 2014. 
LUMINOUS, https://lmns.sayo.se.shibaura-it.ac.jp/ 
D. Beyer, T.A. Henzinger, R. Jhala, and R. Majumdar, An 
Eclipse Plug-in for Model Checking, Proceedings. 
12th IEEE International Workshop on Program 
Comprehension, pp. 251-255, 2004. 
S. Thompson and G. Brat, Verification of C++ Flight 
Software with the MCP Model Checker, Aerospace 
Conference 2008 IEEE, pp.1-9, 2008.