statements for retrieving the ParameterMap or spe-
cific parameters from the request object. The second
parameter will be added only if there are statements
retrieving a Session from the request object and get-
ting values from there.
In our example, we have only calls of method
getParameter
on the
request
object, no
Session
object has been retrieved and used, thus the received
abstract message is:
ReceiveMessage HttpRequest (
("operation", op), ("name", name))
Each path leading to an exit point of the method
will end in a SendMessage statement, sending a mes-
sage of type HttpResponse. The parameters of this
sent message are: all the variables which are written
by the output Writer along this path, and session at-
tributes if they have been retrieved and handled in the
method body.
In our example, following SendMessage state-
ments are abstracted on the different paths:
SendMessage HttpResponse (delivResp)
SendMessage HttpResponse ("Order finished")
SendMessage HttpResponse ("Pay finished")
5 CONCLUSIONS
The goal of our work is to build a tool for the auto-
matic extraction of behavioral models from service
implementations. In order to cope with the diver-
sity of technologies and APIs which can be used
by service implementations, we propose an approach
for model extraction in two steps: a technology-
dependent preprocessing step, followed by the sta-
ble core step that implements a general method of
transforming the abstracted control flow graph into an
EFSM.
The kind of EFSM inferred by our approach is
suitable to be automatically translated into an entity
description in a formal security specification language
for distributed systems such as Aslan++, the language
used by the SPaCIoS tool. The security analyst will
have to add manually only the security-related proper-
ties of the communication channels, which cannot be
known from the implementation code, and to specify
the desired properties to be checked.
Having tools which extract behavioral models
from actual service implementations is an important
step towards enabling formal security validation tech-
niques to be applied on real systems at their imple-
mentation and deployment time.
ACKNOWLEDGEMENTS
This work has been supported by the FP7-ICT-2009-5
project no. 257876 SPaCIoS (”Secure Provision and
Consumption in the Internet of Services”)
REFERENCES
Alur, R.,
ˇ
Cern´y, P., Madhusudan, P., and Nam, W. (2005).
Synthesis of interface specifications for Java classes.
In Proceedings of the 32nd ACM SIGPLAN-SIGACT
symposium on Principles of programming languages,
POPL ’05, pages 98–109, New York, NY, USA. ACM.
Bertolino, A., Inverardi, P., Pelliccione, P., and Tivoli, M.
(2009). Automatic synthesis of behavior protocols for
composable web-services. In Proceedings of the the
7th joint meeting of the European software engineer-
ing conference and the ACM SIGSOFT symposium on
The foundations of software engineering, ESEC/FSE
’09, pages 141–150, New York, NY, USA. ACM.
Hossen, K., Groz, R., and Richier, J. (2011). Security vul-
nerabilities detection using model inference for ap-
plications and security protocols. In IEEE 4th Inter-
national Conference on Software Testing, Verification
and Validation Workshops, pages 534–536.
IBM (2010). T.J.Watson Libraries for Analysis (WALA).
Technical report, IBM T.J.Watson Research Centre.
Lorenzoli, D., Mariani, L., and Pezze, M. (2008). Auto-
matic generation of software behavioral models. In
Software Engineering, 2008. ICSE ’08. ACM/IEEE
30th International Conference on, pages 501–510.
Merten, M., Howar, F., Steffen, B., Pellicione, P., and
Tivoli, M. (2012). Automated inference of models for
black box systems based on interface descriptions. In
Margaria, T. and Steffen, B., editors, Leveraging Ap-
plications of Formal Methods, Verification and Vali-
dation. Technologies for Mastering Change, volume
7609 of Lecture Notes in Computer Science, pages
79–96. Springer Berlin Heidelberg.
Oheimb, D. and Modersheim, S. (2012). Aslan++ a
formal security specification language for distributed
systems. In Aichernig, B., Boer, F., and Bonsangue,
M., editors, Formal Methods for Components and Ob-
jects, volume 6957 of Lecture Notes in Computer Sci-
ence, pages 1–22. Springer Berlin Heidelberg.
Shoham, S., Yahav, E., Fink, S., and Pistoia, M. (2008).
Static specification mining using automata-based ab-
stractions. Software Engineering, IEEE Transactions
on, 34(5):651–666.
Vigano, L. (2012). Towards the secure provision and con-
sumption in the internet of services. In Fischer-
Hobner, S., Katsikas, S., and Quirchmayr, G., edi-
tors, Trust, Privacy and Security in Digital Business,
volume 7449 of Lecture Notes in Computer Science,
pages 214–215. Springer Berlin Heidelberg.
ExtractingBehavioralModelsfromServiceImplementations
231