{'fraction_non_alphanumeric': 0.024342745861733205, 'fraction_numerical': 0.0, 'mean_word_length': 4.942196531791907, '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}}
Reasoning about many-to-many requirement relationships in spreadsheets

To help improve the reliability of spreadsheets created by end users, we are working to allow users to communicate the purpose and other underlying information about their spreadsheets, using a form of requirement specifications we call "guards." For large spreadsheets with replicated/shared formulas across groups of rows or columns, guards can only be practical if users can enter them across these groups of rows or columns. The problem is, this introduces many-to-many relationships, and it is not clear how the system should reason and communicate about them in a way that will make sense to end users. In this paper, we present the human-centric design rationale for our approach to how the system should reason about such many-to-many relationships. The design decisions are presented with their reasons gleaned from two design-time models - cognitive dimensions and attention economics -and from the users themselves in a small think-aloud study.