A system and method are provided for dynamically updating a program. An anomaly related to a User Interface (UI) screen of a software application is detected, wherein the program is configured to extract information from a first spatial position on the UI screen. The information includes at least one of text, a computer icon or an image. It is determined, based on the software application, that the anomaly is caused by the information being moved from the first spatial position to a second spatial position on the UI screen. In response, the program is modified to cause the program to extract the information from the second spatial position. The modified program is deployed to extract the information from the second spatial position.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A system, comprising: a memory configured to store a program, wherein the program is configured to extract information from a first spatial position on a User Interface (UI) screen of a software application, wherein the information comprises at least one of text, a computer icon or an image; and a processor operatively coupled to the memory and configured to: detect an anomaly related to the UI screen by: comparing a first instance of the UI screen at a first time instant to a second instance of the UI screen at a subsequent second time instant; and detecting that the first instance of the UI screen does not match the second instance of the UI screen; determine, based on the software application, that the anomaly is caused by the information being moved from the first spatial position to a second spatial position on the UI screen; in response to the determining, modify the program to cause the program to extract the information from the second spatial position, wherein the modifying generates a modified program, wherein the modifying comprises: identifying at least one portion of the program affected by the moving of the information from the first spatial position to the second spatial position; and updating the at least one portion of the program to change at least one reference to the first spatial position to refer to the second spatial position, wherein the at least one reference to the first spatial position comprises spatial coordinates of the first spatial position; and deploy, in a test system, the modified program to extract the information from the second spatial position.
2. The system of claim 1 , wherein the processor is configured to detect that the first instance of the UI screen does not match the second instance of the UI screen by detecting that a first pattern related to the first instance of the UI screen does not match a second pattern related to the second instance of the UI screen.
3. The system of claim 1 , wherein the processor is further configured to detect the anomaly related to the UI screen by detecting that the information is no more accessible at the first spatial position on the UI screen.
4. The system of claim 1 , wherein the processor is configured to determine that the information has moved by: inspecting at least one of a model layer, view layer or a controller layer of the software application; and determining, based on the inspecting, that the UI screen has been changed to present the information at the second spatial position on the UI screen.
5. The system of claim 1 , wherein: updating the at least one portion of the program comprises changing each instance of the spatial coordinates of the first spatial position in the program to spatial coordinates of the second spatial position.
6. The system of claim 1 , wherein the processor is further configured to: validate that the anomaly is caused by an intentional change in at least one of a model layer, view layer or a controller layer of the software application, wherein the program is modified in response to the validating.
7. The system of claim 1 , wherein each of the first spatial position and the second spatial position comprises a two-dimensional (2D) positional coordinate or a cluster of 2-D positional coordinates.
8. The system of claim 1 , wherein the processor is configured to deploy the modified program by: validating results of the deploying in the test system; and deploying the modified program in a production system in response to a successful validation.
9. The system of claim 1 , wherein the program comprises a Robotic Process Automation (RPA) Robot (BOT) program.
10. A method for managing a program, comprising: detecting an anomaly related to a User Interface (UI) screen of a software application, wherein the program is configured to extract information from a first spatial position on the UI screen, wherein the information comprises at least one of text, a computer icon or an image, wherein the detecting comprises: comparing a first instance of the UI screen at a first time instant to a second instance of the UI screen at a subsequent second time instant; and detecting that the first instance of the UI screen does not match the second instance of the UI screen; determining, based on the software application, that the anomaly is caused by the information being moved from the first spatial position to a second spatial position on the UI screen; in response to the determining, modifying the program to cause the program to extract the information from the second spatial position, wherein the modifying generates a modified program, wherein the modifying comprises: identifying at least one portion of the program affected by the moving of the information from the first spatial position to the second spatial position; and updating the at least one portion of the program to change at least one reference to the first spatial position to refer to the second spatial position, wherein the at least one reference to the first spatial position comprises spatial coordinates of the first spatial position; and deploying, in a test system, the modified program to extract the information from the second spatial position.
11. The method of claim 10 , wherein detecting that the first instance of the UI screen does not match the second instance of the UI screen comprises detecting that a first pattern related to the first instance of the UI screen does not match a second pattern related to the second instance of the UI screen.
12. The method of claim 10 , wherein detecting the anomaly related to the UI screen comprises detecting that the information is no more accessible at the first spatial position on the UI screen.
13. The method of claim 10 , wherein determining that the information has moved by: inspecting at least one of a model layer, view layer or a controller layer of the software application; and determining, based on the inspecting, that the UI screen has been changed to present the information at the second spatial position on the UI screen.
14. The method of claim 10 , wherein: updating the at least one portion of the program comprises changing each instance of the spatial coordinates of the first spatial position in the program to spatial coordinates of the second spatial position.
15. The method of claim 10 , further comprising: validating that the anomaly is caused by an intentional change in at least one of a model layer, view layer or a controller layer of the software application, wherein the program is modified in response to the validating.
16. The method of claim 10 , wherein each of the first spatial position and the second spatial position comprises a two-dimensional (2D) positional coordinate or a cluster of 2-D positional coordinates.
17. The method of claim 10 , wherein deploying the modified program comprises: validating results of the deploying in the test system; and deploying the modified program in a production system in response to a successful validation.
18. The method of claim 10 , wherein the program comprises a Robotic Process Automation (RPA) Robot (BOT) program.
19. A non-transitory computer-readable medium for storing instructions which when executed by a processor causes the processor to perform a method for managing a program, the method comprising: detecting an anomaly related to a User Interface (UI) screen of a software application, wherein the program is configured to extract information from a first spatial position on the UI screen, wherein the information comprises at least one of text, a computer icon or an image, wherein the detecting comprises: comparing a first instance of the UI screen at a first time instant to a second instance of the UI screen at a subsequent second time instant; and detecting that the first instance of the UI screen does not match the second instance of the UI screen; determining, based on the software application, that the anomaly is caused by the information being moved from the first spatial position to a second spatial position on the UI screen; in response to the determining, modifying the program to cause the program to extract the information from the second spatial position, wherein the modifying generates a modified program, wherein the modifying comprises: identifying at least one portion of the program affected by the moving of the information from the first spatial position to the second spatial position; and updating the at least one portion of the program to change at least one reference to the first spatial position to refer to the second spatial position, wherein the at least one reference to the first spatial position comprises spatial coordinates of the first spatial position; and deploying, in a test system, the modified program to extract the information from the second spatial position.
20. The non-transitory computer-readable medium of claim 19 , wherein: updating the at least one portion of the program comprises changing each instance of the spatial coordinates of the first spatial position in the program to spatial coordinates of the second spatial position.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
July 28, 2020
April 6, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.