{'fraction_non_alphanumeric': 0.01680672268907563, 'fraction_numerical': 0.0, 'mean_word_length': 5.441441441441442, '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}}
Feature Oriented Programming: A step towards flexible composition of modular programming

Feature Oriented Programming is the study of feature modularity, a way of implementing a product lines. Software product lines (aka program families) generate families of programs and not monolithic software. In FOP a feature is a unit of functionality that satisfies a requirement. From a set of features, many different software systems can be generated that share common features and differ in other features. This paper focuses on the technical aspects of FOP by modifying the reusability concepts through interfaces, objects and lifters. Lifters are generalization of inheritance comprising the reusability of features.