{'fraction_non_alphanumeric': 0.02925104468016715, 'fraction_numerical': 0.0019286403085824494, 'mean_word_length': 5.721382289416846, '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}}
Project Description 1 Introduction and Motivation

Dynamic analyses, such as testing and profiling, play a key role in state-of-art approaches to software quality assurance (QA). With rare exception, these analyses are performed in-house, on developer platforms, using developer-provided input workloads. A benefit of in-house analyses is that programs can be instrumented and analyzed at a fine-grained level of detail since QA teams have unrestricted access to the software. The shortcomings of focusing on in-house QA efforts alone are severe, however, including (1) increased cost and schedule for extensive QA activities and (2) misleading results when the input test-cases and workload differs from actual workloads or when the in-house system or execution environment differ from that found in the field. While existing in-house analysis techniques may be adequate for some systems, they are increasingly ineffective for performance-intensive infrastructure software, such as that found in High-performance computing systems, such as those that support distributed database servers, financial transaction processing, and scientific visualization. Distributed real-time embedded systems that monitor and control real-world artifacts, such as avionics mission-and flight-control software and automotive braking systems. The operating systems, middleware, and language processing tools that support high-performance computing systems and distributed real-time embedded systems. These types of performance-intensive software systems are increasingly to subject to the following trends: 1. Demand for user-specific customization. Since performance-intensive software pushes the limits of technology, it must be optimized for particular run-time contexts and application requirements. Consequently, general-purpose, one-size-fits-all software solutions are often unacceptable. 2. Severe cost and time-to-market pressures. Global competition and market deregulation are shrinking budgets for in-house infrastructure software development and QA, since performance-intensive users are unable or less willing to pay for specialized proprietary software. The net effect on infrastructure software developers is that they have fewer resources to spend on software development and validation activities. 3. Distributed development. Today's development processes often involve developers distributed across geographical locations, time zones, and even business organizations. The goal of distributed development is to reduce cycle time by having developers work simultaneously, with minimum direct inter-developer coordination. Distributed development can increase churn rates in the software base, however, which in turn increases the need to identify faulty changes quickly. As these trends increase and continue to converge, they present substantial challenges to developers of performance-intensive software systems. Some of the most vexing challenges include: Software configuration space explosion. To support the customization demanded by users, performance-intensive software must run on many hardware and OS …