1. A method of distinguishing a business rule from a non-business rule in a computer program, the method comprising the steps of: a computer identifying a first rule in the computer program based on a conditional statement within the first rule; the computer determining whether the first rule performs an underlying operation of the program, the underlying operating being independent of a business function of the program, by determining whether the first rule includes a first key word which indicates the underlying operation, which is a housekeeping process, exception handling, error checking, data validation, parameter cleanup, a reservation of computer memory, or a buffer setup; the computer determining whether a sequence of program steps in the first rule matches a predetermined sequence of program steps indicative of the underlying operation of the program independent of the business function of the program; if the first rule includes the first key word or the sequence of program steps in the first rule matches the predetermined sequence of steps indicative of the underlying operation of the program independent of the business function of the program, the computer determining the first rule is a non-business rule, or if the first rule does not include the first key word and no sequence of program steps in the first rule matches the predetermined sequence of program steps indicative of the underlying operation of the program independent of the business function of the program, the computer: searching the first rule and metadata of the first rule for a second key word which indicates part of a business transaction with a customer of a business using the computer program; determining whether a sequence of program steps in the first rule matches a predetermined sequence of program steps indicative of a business rule; and if the first rule includes the second key word, the metadata of the first rule includes the second key word, or the sequence of program steps in the first rule matches the predetermined sequence of program steps indicative of the business rule, determining the first rule is the business rule, or if the first rule and the metadata of the first rule do not include the second key word and no sequence of program steps in the first rule matches the predetermined sequence of program steps indicative of the business rule, determining the first rule is not classifiable as the business rule or the non-business rule; the computer receiving a first set of one or more semantic tags specifying a first candidate business rule in the computer program, the first candidate business rule being initially not classifiable as a first actual business rule or a first actual non-business rule; based on the first set of one or more semantic tags, the computer determining the first candidate business rule is specified by a pattern expressed in a context-free grammar for a programming language of the computer program, the pattern specifying a code structure included in the first candidate business rule, the pattern being included in a class of an ontology, and the class identifying a concept of the programming language; the computer determining that a confidence level of the pattern is less than a first threshold, the confidence level indicating how likely the first candidate business rule is the first actual business rule, and the ontology associating the pattern with the confidence level; based on the confidence level being less than the first threshold, the computer determining a lack of confidence in the first candidate business rule being the first actual business rule; the computer receiving other sets of one or more semantic tags specifying other candidate business rules, each of the other sets of one or more semantic tags being identical to the first set of one or more semantic tags, and each of the other candidate business rules being not classifiable as an actual business rule or an actual non-business rule; based on the other sets of one or more semantic tags being identical to the first set of one or more semantic tags, the computer determining the other candidate business rules are specified by the pattern that also specifies the first candidate business rule; based on the other candidate business rules being specified by the pattern that also specifies the first candidate business rule, the computer determining that the other candidate business rules include the code structure specified by the pattern; the computer determining a count of candidate business rules among the first candidate business rule and the other candidate business rules that include the code structure specified by the pattern; the computer determining that the count of the candidate business rules exceeds a second threshold; based on the count of the candidate business rules exceeding the second threshold, the computer increasing the confidence level of the pattern which indicates an increase in a likelihood that the candidate business rules are actual business rules; the computer updating the ontology to associate the pattern with the increased confidence level; the computer determining the increased confidence level of the pattern is greater than the first threshold; subsequent to the step of determining the increased confidence level is greater than the first threshold, the computer receiving a second set of one or more semantic tags specifying a second candidate business rule in the computer program or in another computer program; the computer determining that the second candidate business rule includes the code structure specified by the pattern and determining that the second set of one or more semantic tags matches the first set of one or more semantic tags; and based on the second candidate business rule including the code structure specified by the pattern, the second set of one or more semantic tags matching the first set of one or more semantic tags, and the updated ontology associating the pattern with the increased confidence level, the computer automatically determining that the second candidate business rule is a second actual business rule, without a manual classification of the second candidate business rule as the second actual business rule by a human expert; and the computer displaying the second candidate business rule as the second actual business rule.