6 CONCLUSION
This paper adapted the transition tour test generation
strategy for timed FSMs, with the test purpose of de-
tecting output races in implementations. Such faulty
implementations can be represented by first order out-
put delay mutants of the specification TFSM. To es-
timate the fault coverage of the timed transition tour
against output race detection in distributed systems,
we performed a preliminary experimental study. In
particular, an SDN framework was considered as a
case study. As a result, we observed races between
the flow rules in the ONOS controller. The order
of the flow rule expiration in ONOS implementa-
tion can differ from the specified order and the timed
transition tour detects this difference. This work-in-
progress raises a number of research challenges. For
future work, we plan to further study how to properly
choose the timestamps in the timed transition tour.
The TTT test suite completeness should also be thor-
oughly studied, against races and other types of faults,
for various types of distributed systems. Finally, TTT
should be compared with other test generation strate-
gies with respect to performance and fault coverage,
and we plan to make such comparison as well.
REFERENCES
Baier, C. and Katoen, J. (2008). Principles of model check-
ing. MIT Press.
Benharrat, N., Gaston, C., Hierons, R. M., Lapitre, A., and
Gall, P. L. (2017). Constraint-based oracles for timed
distributed systems. In Testing Software and Systems
- 29th IFIP WG 6.1 International Conference, pages
276–292.
Bresolin, D., El-Fakih, K., Villa, T., and Yevtushenko, N.
(2021). Equivalence checking and intersection of de-
terministic timed finite state machines. Formal Meth-
ods Syst. Des., 59(1):77–102.
de Moura, L. M. and Bjørner, N. S. (2008). Z3: an efficient
SMT solver. In Tools and Algorithms for the Con-
struction and Analysis of Systems, 14th International
Conference, pages 337–340.
de Oliveira, R. L. S., Schweitzer, C. M., Shinoda, A. A.,
and Prete, L. R. (2014). Using mininet for emulation
and prototyping software-defined networks. In 2014
IEEE Colombian Conference on Communications and
Computing, pages 1–6.
El-Hassany, A., Miserez, J., Bielik, P., Vanbever, L., and
Vechev, M. T. (2016). Sdnracer: concurrency analysis
for software-defined networks. In Proceedings of the
37th ACM SIGPLAN, pages 402–415.
Li, A., Padhye, R., and Sekar, V. (2022). Spider: A prac-
tical fuzzing framework to uncover stateful perfor-
mance issues in sdn controllers. https://doi.org/10.
48550/arXiv.2209.04026.
Liu, H., Li, G., Lukman, J. F., Li, J., Lu, S., Gunawi, H. S.,
and Tian, C. (2017). Dcatch: Automatically detecting
distributed concurrency bugs in cloud systems. In Pro-
ceedings of the Twenty-Second International Confer-
ence on Architectural Support for Programming Lan-
guages and Operating Systems, pages 677–691.
Lu, G., Xu, L., Yang, Y., and Xu, B. (2019). Predictive anal-
ysis for race detection in software-defined networks.
Sci. China Inf. Sci., 62(6):62101:1–62101:20.
Lynch, N. A. and Tuttle, M. R. (1989). An introduction to
input/output automata. CWI quarterly, 2:219–246.
McClurg, J. (2021). Correct-by-construction network pro-
gramming for stateful data-planes. In SOSR’21: The
ACM SIGCOMM Symposium on SDN Research, Vir-
tual Event, pages 66–79.
McClurg, J., Hojjat, H., and Cern
´
y, P. (2017). Synchro-
nization synthesis for network programs. In Com-
puter Aided Verification - 29th International Confer-
ence, pages 301–321.
McKeown, N., Anderson, T. E., Balakrishnan, H., Parulkar,
G. M., Peterson, L. L., Rexford, J., Shenker, S., and
Turner, J. S. (2008). Openflow: enabling innovation in
campus networks. Comput. Commun. Rev., 38(2):69–
74.
Milner, R. (1980). A Calculus of Communicating Systems.
Springer.
Pereira, J. C., Machado, N., and Pinto, J. S. (2020). Test-
ing for race conditions in distributed systems via SMT
solving. In Tests and Proofs - 14th International Con-
ference, TAP@STAF 2020, pages 122–140.
Raducu, R., Rodr
´
ıguez, R. J., and
´
Alvarez, P. (2022). De-
fense and attack techniques against file-based TOC-
TOU vulnerabilities: A systematic review. IEEE Ac-
cess, 10:21742–21758.
Rouzaud-Cornabas, J., Clemente, P., and Toinard, C.
(2010). An information flow approach for prevent-
ing race conditions: Dynamic protection of the linux
OS. In Fourth International Conference on Emerging
Security Information Systems and Technologies, pages
11–16.
Vinarskii, E. (2023). Timed transition tour for race de-
tection in distributed systems. https://github.com/
vinevg1996/Timed-Transition-Tour.
Vinarskii, E. and Zakharov, V. (2020). On some properties
of timed finite state machines. System Informatics,
pages 11–20.
Vinarskii, E. M., L
´
opez, J., Kushik, N., Yevtushenko, N.,
and Zeghlache, D. (2019). A model checking based
approach for detecting SDN races. In Testing Soft-
ware and Systems - 31st IFIP WG 6.1 International
Conference, pages 194–211.
Vinarskii, E. M. and Zakharov, V. A. (2018). On the veri-
fication of strictly deterministic behavior of timed fi-
nite state machines. In Proceedings of ISP RAS, pages
325–340.
Wen, C., He, M., Wu, B., Xu, Z., and Qin, S. (2022). Con-
trolled concurrency testing via periodical scheduling.
In 44th IEEE/ACM 44th International Conference on
Software Engineering, pages 474–486.
ENASE 2023 - 18th International Conference on Evaluation of Novel Approaches to Software Engineering
620