than a pure PBT approach, even when using minimal
schemas. Our first goal for future research is to ex-
plore whether we could further boost performance by
partitioning minimal schemas into several specialized
schemas that, as a whole, are equivalent to the current
schemas. Second, our approach to automatic schema
refinement via user-provided assumptions can be im-
proved. Many assumptions are only validated at run-
time in the current version, which wastes time in data
generation. Third, we will open up the implementation
to accept arbitrary, user-provided schemas, in addition
to properties. Finally, we also envision improvements
to the specification language, so as to support other
property patterns or full-blown state machines.
ACKNOWLEDGEMENTS
The research leading to these results has received fund-
ing support from the projects: ERDF - European Re-
gional Development Fund through the Operational Pro-
gramme for Competitiveness and Internationalisation
- COMPETE 2020 Programme; project PTDC/CCI-
INF/29583/2017 (POCI-01-0145-FEDER-029583) fi-
nanced by National Funds through the Portuguese
funding agency, FCT - Fundação para a Ciência e
a Tecnologia; “STEROID - Verification and Valida-
tion of ADAS Components for Intelligent Vehicles
of the Future” from the European Union Financial
Support (FEDER) under grant agreement No. 69989;
and “NORTE-06-3559-FSE-000046 - Emprego alta-
mente qualificado nas empresas – Contratação de Re-
cursos Humanos Altamente Qualificados (PME ou Co-
LAB)” financed by the Norte’s Regional Operational
Programme (NORTE 2020) through the European So-
cial Fund (ESF).
REFERENCES
Ammann, P. and Black, P. E. (1999). A specification-based
coverage metric to evaluate test sets. In HASE, pages
239–248. IEEE CS.
Arcaini, P., Gargantini, A., and Riccobene, E. (2013). On-
line testing of LTL properties for java code. In Haifa
Verification Conference, volume 8244 of LNCS, pages
95–111. Springer.
Black, P. E., Okun, V., and Yesha, Y. (2000). Mutation op-
erators for specifications. In ASE, pages 81–88. IEEE
CS.
Bloem, R., Fey, G., Greif, F., Könighofer, R., Pill, I., Riener,
H., and Röck, F. (2019). Synthesizing adaptive test
strategies from temporal logic specifications. Formal
Methods Syst. Des., 55(2):103–135.
Budd, T. A. and Gopal, A. S. (1985). Program test-
ing by specification mutation. Computer Languages,
10(1):63–73.
Chomicki, J. (1995). Efficient checking of temporal integrity
constraints using bounded history encoding. ACM
Trans. Database Syst., 20(2):149–186.
Delgado, R., Campusano, M., and Bergel, A. (2021). Fuzz
testing in behavior-based robotics. In ICRA, pages
9375–9381. IEEE.
Dwyer, M. B., Avrunin, G. S., and Corbett, J. C. (1999).
Patterns in property specifications for finite-state veri-
fication. In ICSE, pages 411–420. ACM.
Espinosa, C. V., Martin-Martin, E., Riesco, A., and
Rodríguez-Hortalá, J. (2019). FlinkCheck: Property-
based testing for Apache Flink. IEEE Access,
7:150369–150382.
Hughes, J. (2016). Experiences with QuickCheck: Testing
the hard stuff and staying sane. In A List of Successes
That Can Change the World, volume 9600 of LNCS,
pages 169–186. Springer.
Löscher, A. and Sagonas, K. (2017). Targeted property-
based testing. In ISSTA, pages 46–56. ACM.
MacIver, D., Hatfield-Dodds, Z., and Contributors, M.
(2019). Hypothesis: A new approach to property-based
testing. Journal of Open Source Software, 4(43):1891.
Michlmayr, A., Fenkam, P., and Dustdar, S. (2006).
Specification-based unit testing of publish/subscribe
applications. In ICDCS Workshops, page 34. IEEE CS.
Narizzano, M., Pulina, L., Tacchella, A., and Vuotto, S.
(2020). Automated requirements-based testing of
black-box reactive systems. In NFM, volume 12229 of
LNCS, pages 153–169. Springer.
OMG (2015). Data Distribution Service (DDS), Version 1.4.
Object Management Group (OMG).
Padhiyar, S. and Sivaramakrishnan, K. C. (2021). ConFuzz:
Coverage-guided property fuzzing for event-driven pro-
grams. In PADL, volume 12548 of LNCS, pages 127–
144. Springer.
Padhye, R., Lemieux, C., and Sen, K. (2019). JQF: coverage-
guided property-based testing in java. In ISSTA, pages
398–401. ACM.
Quigley, M., Conley, K., Gerkey, B. P., Faust, J., Foote, T.,
Leibs, J., Wheeler, R., and Ng, A. Y. (2009). ROS:
An open-source Robot Operating System. In ICRA
Workshop on Open Source Software.
Santos, A., Cunha, A., and Macedo, N. (2018). Property-
based testing for the robot operating system. In A-
TEST@ESEC/SIGSOFT FSE, pages 56–62. ACM.
Santos, A., Cunha, A., and Macedo, N. (2019). Static-time
extraction and analysis of the ROS computation graph.
In IRC, pages 62–69. IEEE.
Santos, A., Cunha, A., and Macedo, N. (2021). The high-
assurance ROS framework. In RoSE@ICSE, pages
37–40. IEEE.
Santos, A., Cunha, A., Macedo, N., and Lourenço, C. (2016).
A framework for quality assessment of ROS reposito-
ries. In IROS, pages 4491–4496. IEEE.
Tan, L., Sokolsky, O., and Lee, I. (2004). Specification-
based testing with linear temporal logic. In IRI, pages
493–498. IEEE SMCS.
Trab, M. S. A., Counsell, S., and Hierons, R. M. (2012).
Specification mutation analysis for validating timed
testing approaches based on timed automata. In COMP-
SAC, pages 660–669. IEEE CS.
Woodlief, T., Elbaum, S., and Sullivan, K. (2021). Fuzzing
mobile robot environments for fast automated crash
detection. In ICRA, pages 5417–5423. IEEE.
Schema-guided Testing of Message-oriented Systems
37