## 2 Related Work
Similarly, researchers have considered testing software in systems with stringent reliability requirements, such as digital control systems integrated into nuclear plant safety software, as discussed in [23], and proposed building a real platform and a specific testing strategy. Testing embedded software is also important, especially in safety-critical domains such as automotive or aviation, as discussed in [24]. Testing embedded systems should consider limited memory, CPU usage, energy consumption, real-time processing, and the strong interaction between hardware and software. Finally, ref. [25] proposes a framework that allows test suites to detect synchronization faults in testing embedded systems. Testing communication protocols is an important process and has been the subject of many papers [11; 26; 27; 28; 29]. Formal specifications, which often use an extended finite state machine model, can be used to design protocol testing, as described in [26]. However, to detect syntactic and semantic errors and validate the protocol design, both the control and data flow of the protocol must be considered. In [27], testing of communication protocols designed according to the OSI (open systems interconnection) model is discussed. The paper demonstrates that efficient test case generation algorithms are essential for successful testing. The importance of conformance testing in the context of the rapid development of communication protocols, which may generate many incompatible implementations, is emphasized in [28]. The paper also suggests that while automation of the testing process is desirable, it is difficult to achieve for complex models. Ref. [29] presents a survey concerning the testing of communication protocols, highlighting the importance of conformance testing,as implementations derived from the same protocol standard can be very different. The paper also discusses the difficulty of generating suitable test suites and sequences, particularly in real-life testing. Additionally, the paper points out that the number of states of a complex protocol implementation could be vast, making exhaustive testing impractical. As a result, many testing environments/frameworks have been implemented and reported in various studies to allow more efficient, reliable, and flexible testing and evaluation of communication protocols. The issue of test case generation in communication protocol testing is also discussed in [30]. The paper analyzes and experiments with several testing methods to evaluate quality indicators such as fault detection capability, applicability, complexity, and testing time. A survey concerning the testing of control and data flows and the time aspects of communication systems is presented in [31], which also covers the generation of test suites that can detect the maximum number of errors at a minimum cost. Various research papers have discussed the testing of specific communication protocols [32; 33; 34]. In [32], the focus is on testing communication protocols used between the charging equipment and the battery management system of an electric car. In this case, the primary concern is the consistency of communication between the two devices mentioned above. In [33], the paper presents the testing of the LIN (local interconnect network) protocol used for interconnecting vehicles' electronic systems. The article examines the issues related to the conformance testing of the LIN protocol, some of which are also applicable to other link layer protocol testing. Additionally, in [34], the testing of industrial communication protocols is considered, and the paper evaluates some of the most commonly used industrial communication protocols from the software perspective. Several researchers have also considered the testing of communication protocols in challenging wireless communication systems. In [35], the testing of military systems and applications in different communication scenarios is discussed, including changing network conditions and data flow parameters.