
Digital twins (DT) of industrial processes have become increasingly important. They aim to digitally represent the physical world to help evaluate, optimize, and predict physical processes and behaviors. Therefore, DT is a vital tool to improve production automation through digitalization and becomes more sophisticated due to rapidly evolving simulation and modeling capabilities, integration of IoT sensors with DT, and high-capacity cloud/edge computing infrastructure. However, the fidelity and reliability of DT software are essential to represent the physical world. This paper shows an automated and systematic test architecture for DT that correlates DT states with real-time sensor data from a production line in the forging industry. Our evaluation shows that the architecture can significantly accelerate the automatic DT testing process and improve its reliability. A systematic online DT testing method can significantly detect the performance shift and continuously improve the DT's fidelity. The snapshot creation methodology and testing agent architecture can be an inspiration and can be generally applicable to other industrial processes that use DT to generalize their automated testing.
HTML sanitization is an essential security feature for web services that incorporate user-generated content, removing the ability of malicious actors to perform injection attacks such as cross-site scripting. Exercising additional scrutiny when choosing such filters is prudent, as any insufficiencies in their design or implementation may lead to widespread exploitation of vulnerabilities. This work presents an approach for applying combinatorial security testing, which offers the unique capability to provide mathematically guaranteed coverage of the language defined by an attack grammar, to HTML sanitizers.
Test case prioritisation (TCP) is a critical task in regression testing to ensure quality as software evolves. Machine learning has become a common way to achieve it. In particular, learning-to-rank (LTR) algorithms provide an effective method of ordering and prioritising test cases. However, their use poses a challenge in terms of explainability, both globally at the model level and locally for particular results. Here, we present and discuss scenarios that require different explanations and how the particularities of TCP (multiple builds over time, test case and test suite variations, etc.) could influence them. We include a preliminary experiment to analyse the similarity of explanations, showing that they do not only vary depending on test case-specific predictions, but also on the relative ranks.
This paper presents a novel method for locating combinational hardware Trojans (HT) based on fault location approaches used in combinatorial testing. This method relies exclusively on the combinatorial properties of the executed test vectors and the results of test execution. Under specific assumptions, the method is guaranteed to locate all combinational HTs with trigger patterns of length $\ell $ or less, with the location process itself consuming negligible time. We give a description of our method by devising suitable algorithms and provide the links to combinatorial fault location. Furthermore, we demonstrate our approach in a concrete case study where we locate HTs embedded in a circuit that implements the AES symmetric-key encryption algorithm with 128 bits key length. In these experiments, we demonstrate how any HT that is activated by a trigger pattern of length $\ell \leq 8$ can be located in an effective way. Our method compares particularly well against randomized approaches. Although instantiated for a specific circuit in our case study, the proposed approach is generic, due to its algorithmic description, and can be applied for testing other (cryptographic) circuits. We believe that our work presents an important first step in the development of more general logic testing methodologies for HT location using combinatorial testing methods.
Mutation analysis is being extensively used for testing from a finite state machine (FSM); it consists in seeding a fault in the model using a mutation operator. There is still a lot that we need to know about mutation fault for FSM so that we can adequately use them in software testing or in software testing experiments. In this paper, we report on results from an empirical experiment during which we compared different mutation operators used to generate mutants from an FSM. We randomly generated multiple FSMs along with all the possible mutants from a relatively complete set of mutation operators. We then generated test suites using transition trees which are then executed on the FSM and its mutants to measure the mutation score for each mutation operator using different types of oracles. In doing so we report on how easy or difficult mutants generated from specific mutation operators can be. We have developed a tool that automates the whole process of this experiment.