{'fraction_non_alphanumeric': 0.025889967637540454, 'fraction_numerical': 0.0, 'mean_word_length': 5.381443298969073, '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}}
Formal specification of program slicing

Program slicing is a well-known technique that has been used in a variety of software engineering areas, such as comprehension, understanding, maintenance, debugging, testing, reuse, metrics, etc. This paper discusses how the formal specification language Z schema calculus may be used to specify program slicing. General aspects of program slicing are considered, i.e. dependence graphs and program slicing algorithms. This formalization could help in the correct understanding of program slicing and also the correct application of a desired slicing regime in a rigorous way.