{'fraction_non_alphanumeric': 0.007067137809187279, 'fraction_numerical': 0.0, 'mean_word_length': 5.296296296296297, '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}}
Adaptive Data Integrity through Dynamically Redundant Data Structures

This paper introduces a tool that allows designers to make use of adaptively redundant data structures with commodity programming languages such as C or Java. Designers using such tool can define redundant data structures in which the degree of redundancy is not fixed once and for all at design time, but rather it changes dynamically with respect to the disturbances experienced during the run time. Our approach attunes the degree of redundancy required to ensure data integrity to the actual faults being experienced by the system and provides an example of adaptive fault-tolerant software. We prove the effectiveness of our tool by showing that adaptive replication reaches the same effectiveness of static replication but consuming much less resources and computing time.