1. A computer program product for identifying universal resource locator rewriting rules, the computer program product comprising: a non-transitory computer readable storage medium including computer executable program code stored thereon, the computer executable program code comprising: computer executable program code for receiving input of universal resource locators of an application, to form received universal resource locators; computer executable program code for representing the received universal resource locators in a graph; computer executable program code for applying analysis algorithms and heuristics to properties of the graph; computer executable program code for identifying universal resource locator rewriting patterns using the graph to form detected patterns, including if a switch has a complexity value greater than a predetermined value “Q”, grouping identified switches into Left Switches and Right Switches according to a connection set; and computer executable program code for generating rewrite rules corresponding to the detected patterns.
1. A computer program product for identifying universal resource locator rewriting rules, the computer program product comprising: a non-transitory computer readable storage medium including computer executable program code stored thereon, the computer executable program code comprising: computer executable program code for receiving input of universal resource locators of an application, to form received universal resource locators; computer executable program code for representing the received universal resource locators in a graph; computer executable program code for applying analysis algorithms and heuristics to properties of the graph; computer executable program code for identifying universal resource locator rewriting patterns using the graph to form detected patterns, including if a switch has a complexity value greater than a predetermined value “Q”, grouping identified switches into Left Switches and Right Switches according to a connection set; and computer executable program code for generating rewrite rules corresponding to the detected patterns. 6. The computer program product of claim 1 , wherein computer executable program code for generating rewrite rules corresponding to the detected patterns further comprises: computer executable program code for generating a regular expression string for each rewrite rule data structure in an optimized list of rewrite rules wherein generating the regular expression string uses a formula of S L D L ([^D 1 D 2 . . . D N ]+)D P1 ([^D 1 D 2 . . . D N ]+)D P2 ([^D 1 D 2 . . . D N ]+) . . . D PM ([^D 1 D 2 . . . D N ]+) where S L represents a left switch characteristic and D Pi are the delimiters that separate nodes of the rewrite rule connection path.