{'fraction_non_alphanumeric': 0.016069221260815822, 'fraction_numerical': 0.0, 'mean_word_length': 5.639344262295082, '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}}
Collecting traces in dynamic binary translation based virtual prototyping platforms

Bugs or inefficiencies appearing in MPSoC platforms can have a very broad range of sources. However, due to the huge number of possible execution interleavings, reproducing the conditions of occurrence of a given error/performance issue is very difficult. One solution to this problem consists of tracing an execution for later analysis. This paper details the challenges and issues behind the production of a "well formed" trace in a transaction accurate virtual prototyping environment that uses dynamic binary translation as processor simulation technology. We propose a solution which requires modification of the dynamic compilation process, but stays non-intrusive, and demonstrate its feasibility on several examples.