PAAL TA.
Our method starts with the design model that is
specified as UPPAAL TA, verified UPPAAL TRON ap-
plied for conformance testing thereafter.
We used our mutation generator tool which im-
plements a set of mutation operators applied on the
test model for the purpose of online testing. In or-
der to reduce the number of trivial invalid models and
also increase the efficiency of testing, we defined a
set of verification rules for each mutant. We verified
whether the generated mutants are deadlockfree and
if the mutation part of each mutant is reachable. If
both of these criteria are satisfied, then we select the
mutant as a valid mutant. We used UPPAAL TRON
for executing all of the mutation models against the
system under test.
We presented our approach with an experimental
study on Hotel Booking System as a case study. The
Web services are implemented in REST architectural
style and with timing constraints. Our hotel booking
case study has been designed and validated with UP-
PAAL test model and also the testing evaluated with a
series of mutation in the source code of the case study.
The results showed that from a total 1346 gener-
ated mutants, 393 were found to be valid mutants that
were usable for testing. After running the test, 40 of
the mutants were found to identify 3 hidden faults in
the implementation of the IUT. The experiment indi-
cates that our approach of specification mutation test-
ing was effective to reveal inconsistency between the
specification and the implementation under test.
The primary results of this study showed that our
method in robustness testing a valid approach in im-
proving the quality of web service implementations,
by detecting faults not detected by the traditional
MBT process.
Our experiments also showed that some of the ex-
isting mutation operators for time automata are more
efficient than the others at finding faults.
There are some research directions that certainly
improve the current approach. The next work will be
running more experiments, on different case studies in
different application domains. More experiments help
us to gain more information about mutation operators
and correlations between the type of the case study
and the common faults.
Another improvement will be to investigate how
to detect equivalent mutants. Automation of this pro-
cess of the approach reduces the errors and increases
the scalability of the target applications.
Moreover, we plan to apply mutation selection and
mutation reduction techniques to increase the proba-
bility of fault detection. Defining new mutation op-
erators, categorizing the mutants, etc., will be investi-
gated in our future work.
ACKNOWLEDGMENTS
We would like to thank prof. Andreas Zeller from
University of Saarland, Germany for his valuable
comments and anonymous reviewers for their useful
suggestions.
REFERENCES
Aboutrab, M. et al. (2012). Specification mutation analysis
for validating timed testing approaches based on timed
automata. In 36th Annual IEEE Computer Software
and Applications Conference, COMPSAC 2012, Izmir,
Turkey, July 16-20, 2012, pages 660–669.
Aichering, B. et al. (2013). Time for MutantsModel-Based
Mutation Testing with Timed Automata. In Tests and
Proofs, pages 20–38. Springer.
Alur, R. et al. (1990). Model-checking for real-time sys-
tems. In Logic in Computer Science, 1990. LICS’90,
Proceedings., Fifth Annual IEEE Symposium on e,
pages 414–425. IEEE.
Beharmann, G. et al. (2004). A tutorial on uppaal. In For-
mal methods for the design of real-time systems, pages
200–236. Springer.
Belli, F. et al. (2016). Model-based mutation testingap-
proach and case studies. Science of Computer Pro-
gramming, 120:25 – 48.
Bozkurt, M. and other (2010). Testing web services: A sur-
vey. Department of Computer Science, King’s College
London, Tech. Rep. TR-10-01.
Budd, T. A. and Gopal, A. S. (1985). Program test-
ing by specification mutation. Computer Languages,
10(1):63 – 73.
Cambronero, M. E. et al. (2011). Validation and verifica-
tion of web services choreographies by using timed
automata. Journal of Logic and Algebraic Program-
ming, 80(1):25–49.
Dıaz, G. et al. (2007). Model checking techniques applied to
the design of web services. CLEI Electronic Journal,
10(2).
Gargantini, A. and Heitmeyer, C. (1999). Using model
checking to generate tests from requirements specifi-
cations. In Software EngineeringESEC/FSE99, pages
146–162. Springer.
Hessel, A. et al. (2008). Testing Real-time Systems Using
UPPAAL. In Hierons, R. M., Bowen, J. P., and Har-
man, M., editors, Formal Methods and Testing, pages
77–117. Springer-Verlag, Berlin, Heidelberg.
Jia, Y. and Harman, M. (2011). An analysis and survey of
the development of mutation testing. Software Engi-
neering, IEEE Transactions on, 37(5):649–678.
Larsen, K. et al. (2005a). Testing real-time embedded soft-
ware using UPPAAL-TRON: an industrial case study.
In Proceedings of the 5th ACM international confer-
ence on Embedded software, pages 299–306. ACM.
On Mutating UPPAAL Timed Automata to Assess Robustness of Web Services
25