Programs use rules to dictate or constrain specific decisions or actions. These rules have typically been tested, revised, and updated continuously; therefore, they represent a substantial and valuable business or intellectual asset. These valuable rules too often are not reused because the legacy program code is the only valid source for these rules, and extraction of the rules from the legacy code is thought to be too difficult. This problem is further exacerbated when a reengineering project potentially involves rule recovery from multiple programs in multiple languages. This paper reviews the uses of mathematically based or mathematically formal approaches to business rule recovery and extraction. A simple framework for two different rule extraction approaches for an arbitrary program language is presented. These approaches are based on the mathematical assertions that programs are composed from language structures, and that extractable business rules can be functionally defined i...
Frederick V. Ramsey, James J. Alpigini