{'fraction_non_alphanumeric': 0.02323503127792672, 'fraction_numerical': 0.0, 'mean_word_length': 5.120218579234972, 'pattern_counts': {'":': 0, '<': 1, '<?xml version=': 0, '>': 1, '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}}
A Case for Dynamic File Attributes

A file attribute is a user defined <key, value> pair associated with a file. We explore the idea of extending a file system to contain dynamic per-file attributes. This paper has two goals: first, it describes our implementation of an attribute file system overlay, in which the attribute functionality is provided as a user-level library and the system calls are modified to provide a seamless environment to users and applications. We compare the performance of our implementation under various scenarios, and we modify several applications to demonstrate the implications and benefits of customizable file attributes. Second, we explore the use of file attributes as a mechanism for approximating full file-content search. Our approach is to define a file-type-independent attribute format in which searchable data is stored, allowing for simple, type-agnostic indexing and search tools to be used. Preliminary performance and functionality tests indicate that this technique shows promise: searchable indexes may be built and searched with small disk-space and cpu-time overhead.