
and comprehensibility by most verification engineers.
7 CONCLUSIONS
This paper presents GROOT, a methodology and
framework for automating synthesis and formal veri-
fication of RV monitors from structured English spec-
ifications, enhancing the accessibility and compre-
hensibility of RV for practitioners. It incorporates a
dual approach for functional and timing requirements.
This framework introduces TIMESPEC, a structured
English dialect to articulate timing constraints. Mon-
itors may be used during development and/or deploy-
ment. This approach bridges the often daunting gap
between formal methods and their practical use for
real-time embedded systems.
Future work will integrate several monitors, cov-
ering both functional and timing aspects, combined
with a “monitor of monitors”. We will also conduct a
comparative analysis of GROOT-generated monitors
with those from alternative methodologies.
ACKNOWLEDGEMENTS
This material is based upon work supported by the
National Science Foundation (NSF) under Grant No.
2123550. Any opinions, findings, and conclusions
or recommendations expressed in this material are
those of the author(s) and do not necessarily reflect
the views of the National Science Foundation.
REFERENCES
Alur, R. and Dill, D. L. (1994). A theory of timed automata.
Theoretical Comput. Sci., 126(2):183–235.
Baier, C. and Katoen, J.-P. (2008). Principles of Model
Checking. The MIT Press, Cambridge, MA, USA.
Baudin, P. et al. (2008). ACSL: ANSI/ISO C specification
language.
B
¨
uchi, J. R. (1990). On a Decision Method in Restricted
Second Order Arithmetic, pages 425–435. Springer.
Cimatti, A. et al. (2002). NuSMV 2: An open source tool
for symbolic model checking. In Comput. Aided Ver-
ification, pages 359–364, Berlin. Springer.
Cimatti, A. et al. (2019). NuRV: a nuXmv extension for
runtime verification. In Int. Conf. on Runtime Verifi-
cation, pages 382–392. Springer.
Clarke, E., Klieber, W., Nov
´
a
ˇ
cek, M., and Zuliani, P.
(2012). Model Checking and the State Explosion
Problem, pages 1–30.
Cuoq, P. et al. (2012). Frama-C: A software analysis per-
spective. In Proc. Int. Conf. Softw. Eng. and Formal
Methods, page 233–247, Berlin. Springer.
Duret-Lutz, A. et al. (2016). Spot 2.0 – a framework for LTL
and ω-automata manipulation. In Proc. Int. Symp. on
ATVA, volume 9938, pages 122–129. Springer.
Dwyer, M. B. et al. (1999). Patterns in property specifica-
tions for finite-state verification. In Proc. Int. Conf.
Softw. Eng., pages 411–420.
Falcone, Y. et al. (2021). A taxonomy for classifying run-
time verification tools. Int. J. Softw. Tools for Technol.
Transfer, 23(2):255–284.
Gadelha, M. R. et al. (2018). ESBMC 5.0: An industrial-
strength C model checker. In Proc. ACM/IEEE Int.
Conf. Automated Softw. Eng., page 888–891.
Giannakopoulou, D. and Havelund, K. (2001). Automata-
based verification of temporal properties on running
programs. In Proc. Int. Conf. ASE, pages 412–416.
Giannakopoulou, D., Pressburger, T., Mavridou, A., Rhein,
J., Schumann, J., and Shi, N. (2020). Formal require-
ments elicitation with FRET. In REFSQ Workshops.
Harrison, J. et al. (2014). History of Interactive Theorem
Proving, volume 9, pages 135–214.
Havelund, K. (2008). Runtime verification of C programs.
In Testing of Software and Communicating Systems,
pages 7–22. Springer.
Havelund, K. and Ros¸u, G. (2004). An overview of the
runtime verification tool Java PathExplorer. Formal
methods in system design, 24(2):189–215.
Khan, W. (2019). RuSTL: Runtime verification using Sig-
nal Temporal Logic. Master’s thesis, University of
Waterloo. Available at: https://uwspace.uwaterloo.ca/
handle/10012/14552.
Koymans, R. (1990). Specifying real-time properties with
metric temporal logic. Real-Time Syst., 2(4):255–299.
Leucker, M. et al. (2018). TeSSLa: Runtime verification
of non-synchronized real-time streams. In Proc. Ann.
ACM SAC, page 1925–1933.
Leucker, M. and Schallhart, C. (2009). A brief account of
runtime verification. The Journal of Logic and Alge-
braic Programming, 78(5):293 – 303.
Navabpour, S. et al. (2013). RiTHM: A tool for enabling
time-triggered runtime verification for C programs.
ESEC/FSE 2013, page 603–606.
Perez, I. et al. (2022). Automated translation of natural lan-
guage requirements to runtime monitors. In Tools and
Algorithms for the Construction and Anal. of Syst.,
pages 387–395, Cham. Springer.
Pinisetty, S. et al. (2017). Predictive runtime verification of
timed properties. J. of Syst. and Softw., 132:353–365.
Pnueli, A. (1977). The temporal logic of programs. In 18th
Annu. SFCS, page 46–57, USA. IEEE.
Rajhans, A. et al. (2021). Specification and runtime verifi-
cation of temporal assessments in Simulink. In Run-
time Verification, pages 288–296, Cham. Springer.
Rezvani, B. and Patterson, C. (2023). Differentiated mon-
itor generation for real-time systems. In Proc. IC-
SOFT, volume 1, pages 353–360. SciTePress.
The MathWorks Inc. (2023). Simulink: 10.7 (R2023a).
https://www.mathworks.com/products/simulink.html.
The MathWorks Inc. (2024). Adaptive cruise control
with sensor fusion. https://www.mathworks.com/
help/mpc/ref/adaptivecruisecontrolsystem.html.
ENASE 2024 - 19th International Conference on Evaluation of Novel Approaches to Software Engineering
570