{'fraction_non_alphanumeric': 0.021258503401360544, 'fraction_numerical': 0.0, 'mean_word_length': 5.26063829787234, '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}}
Uncovering data-flow anomalies in BPMN-based process-driven applications

Process-Driven Applications flourish through the interaction between an executable BPMN process model, human tasks, and external software services. All these components operate on shared process data, so it is even more important to check the correct data flow. However, data flow is in most cases not explicitly defined but hidden in model elements, form declarations, and program code. This paper elaborates on data-flow anomalies acting as indicators for potential errors and how such anomalies can be uncovered despite implicit and hidden data-flow definitions. By considering an integrated view, it goes beyond other approaches which are restricted to separate data-flow analysis of either process model or source code. The main idea is to merge call graphs representing programmed services into a control-flow representation of the process model, to label the resulting graph with associated data operations, and to detect anomalies in that labeled graph using a dedicated data-flow analysis. The applicability of the solution is demonstrated by a prototype designed for the Camunda BPM platform.