The complexity of most computer programs and programming languages is one of the Unsolved problems in software engineering. The current applications are complex to the extent that when programmers leave, companies fail, if those companies have no one else who understands what the programmers have done. A great deal of research has been performed by researchers in an attempt to develop metrics which adequately capture the complexity and reduce complexity of the software.