outgoing from the node P. On the other hand, a reg-
ulatory statement of prohibition says that we are not
allowed to execute Q on any path. ¬ Q should con-
tinuously be true on any node of every path outgoing
from P, i.e. Q is always false for every path. If there
exists a path where Q is eventually true, Q is permit-
ted to be executed. If there exists a path where Q is al-
ways false, we are exempted from executing Q. Note
that CTL has binary temporal operators based on un-
til and we can represent with these operators time in-
tervals such as the deadline when an obligation keeps
on holding. For simplicity, we will not refer to them
throughout this paper but we can deal with them in
the same way.
In the cases of permission and exemption, al-
though the regulatory statement is not true on an in-
formation system, we cannot say that it violates the
regulation. For example, if “P → EF Q” (permission
of Q) is not true, there are no paths where Q can be ex-
ecuted. Even though the act Q is permitted, we don’t
always need to execute Q and non-execution of Q is
not a regulatory violation. Thus we can have some
categories of the cases where logical formulas of reg-
ulations are not true. In the above example, we can
have two categories: regulatory violation and regula-
tory non-violation. The details of these categories will
be discussed as a typology of regulatory vulnerability
in the next sub section.
We continue to discuss how to represent a regula-
tory statement with a CTL formula, using as an ex-
ample the Article 18, No. 1 of Act on the Protection
of Personal Information, mentioned in the beginning
of this sub section. This article claims the obligation
of the acts “announce” or “notify”. The situation part
and the act one in a regulatory statement can be de-
scribed with logical combinations of case frames as
shown in (Saeki and Kaiya, 2008). The technique
of case frames was originated from Fillmore’s Case
Grammar to represent the semantics of natural lan-
guage sentences. A case frame consists of a verb and
semantic roles of the words that frequently co-occur
with the verb. These semantic roles are specific to a
verb and are called case. For example, the case frame
of the verb “get”, having the cases “actor”, “object”
and “source”, can be described as “get(actor, object,
source)”, where “get” denotes the acquisition of the
thing specified by the object case. The actor case rep-
resents the entity that performs the action of “get” and
that will own the thing as the result of the “get” action.
The source case denotes the entity from which the ac-
tor acquires the object. By filling these case slots with
the words actually appearing in a sentence, we can ob-
tain its semantic representation. In the example of the
sentence “an entity handling personal information ac-
quires from a member her personal information”, we
can use the case frame of “get” and have “get(entity
handling personal information, personal information,
member)” as its intermediate semantic representation.
Finally, we can represent the example statement of
Article 18, No.1 using case frames and CTL as fol-
lows;
get(x, Personal information, y)
∧ ¬ announce(x, Purpose of use)
∧ aggregation(y, Personal information)
∧ handle(x, Personal information, Purpose of use)
→ AF (notify(x, Purpose of use, y)
∨ announce(x, Purpose of use))
Note that the identifiers of lower case characters such
as “x” and “y” stand for variables, and we can fill
them with any words. In this sense, the formula can
be considered as a template.
2.2 Regulatory Vulnerability
We can classify regulatory vulnerability into the fol-
lowing categories using the four modalities of regula-
tions.
Type 1: The entity (an information system) may not
execute the acts that are made obligations by reg-
ulations, or the entity can execute the acts that are
prohibited by regulations.
Type 2: The entity cannot execute the acts that are
permitted by regulations, or the entity is obligated
to execute the acts that are exempted by regula-
tions
Type 3: The misuse cases (wrong or malicious us-
ages) of the entity are permitted by or made obli-
gations by regulations.
The regulatory vulnerability of type 1 is a regula-
tory violation and this type of vulnerability is a seri-
ous problem. On the other hand, the vulnerability of
type 2 is not a regulatory violation, as mentioned in
section 2.1. However, if the information system will
not have the function to execute the act permitted by a
regulation, it may have a disadvantage to competitors’
products having this function in the market. More-
over, there is a possibility that its users may accuse
it of inconvenience because they cannot use the func-
tion. Type 3 is not also a regulatory violation. This
type may be considered as the weakness of the regu-
lations and therefore they should be improved. Since,
however, it takes much longer time to improve them
and enforce their improved version officially, rather
we select a way of redesigning the underlying busi-
ness process from technical and/or management as-
pects so as to mitigate these misuse cases. The risk of
DETECTING REGULATORY VULNERABILITY IN FUNCTIONAL REQUIREMENTS SPECIFICATIONS
107