Patent ID: 9477448
Filing Date: 2016-10-25
CPC Classification: G06F

Claim Text:
1. A method, implemented with a processor and a storage device having instructions stored therein, where the instructions when executed by the processor cause the processor to execute the method steps, comprising: identifying screens of a screen-oriented computing program; determining a starting point of the computing program based on the identified screens, wherein the identified screens are correlated with states of a finite state machine graph, and wherein the identified screens are represented as nodes in the finite state machine graph and a data flow is represented as edges of the finite state machine graph, and wherein the finite state machine graph comprises an entry node enabling access to an item database and a customer database, wherein the entry node is a virtual initial state and does not represent the identified screens; and refactoring the computing program based on the starting point, the identified screens, and the finite state machine graph, wherein the data flow and a control flow of the refactored computing program remain the same as the data flow and the control flow of the computing program without refactoring.