{'fraction_non_alphanumeric': 0.013412816691505217, 'fraction_numerical': 0.0, 'mean_word_length': 5.188940092165899, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Automated reengineering of industrial HMI screens by static analysis

The interface between human operators and industrial control systems (HMI, Human Machine Interface) is a key component for operating and configuring industrial machines and facilities, which have grown in terms of functionality and complexity. However, HMI software in industrial operation tends to have a longer lifespan than desktop or office software. Besides growing maintenance cost over time, it might also happen that the capability or lifecycle of the base technologies render the adaption to new requirements extremely difficult if not impossible. Quite frequently, HMI software targeting a specific application domain is then completely rebuilt from scratch on the base of a new or heavily altered base technology. In our work, we support the reengineering of HMIs by static analysis of its source code and the extraction of key information to an implementation technology independent model. In a subsequent step these models shall be the starting point to generate at least parts of the HMI based on a new technology. This paper describes the motivation, requirements and challenges that inhere in this task. In addition, we provide a short insight into first findings based on the analysis of a real world HMI source code from the domain of injection moulding.