IP Library Granted Patent US 11,048,485
Granted Patent B2
US 11,048,485 · App. 16/213,773 · Granted Jun 29, 2021

User interface code re-use based upon machine learning of design documents

Inventors: Kyungmin Lee (White Plains, NY); Stephen Wood (Thornwood, NY); Marco Pistoia (Amawalk, NY); Joseph Ligman (Wilton, CT)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F8/38G06F8/10G06F8/433
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,048,485
App. No.
16/213,773
Granted
Jun 29, 2021
Kind
B2
Abstract

Facilitating code re-use includes receiving a first design document. The first user design document specifies a graphical layout of a first set of user interface elements of a user interface of a first application. First source code associated with the design document is received. The first source code is configured to implement the first set of user interface elements of the user interface. A processor extracts the first set of user interface elements from the first user interface design document. A first portion of the first source code corresponding to a first user interface element of the first set of user interface elements is identified. The first portion of the first source code is encapsulated into a module to enable re-use of the portion of the source code in a second application.

Claims (45)

1. A computer-implemented method comprising:

receiving a first design document and a second design document, the first design document specifying a graphical layout of a first set of user interface elements of a user interface of a first application and the second design document specifying a graphical layout of a second set of user interface elements of a user interface of a second application;

receiving a first source code associated with the first design document, the first source code configured to implement the first set of user interface elements of the user interface;

extracting, by a processor, the first set of user interface elements from the first design document;

identifying a first portion of the first source code corresponding to a first user interface element of the first set of user interface elements;

encapsulating the first portion of the first source code into a module to enable re-use of the portion of the source code in the second application;

matching a second extracted user interface element, extracted from the second design document, to the first extracted user interface element; and

outputting the encapsulated first portion of the first source code for re-use by the second application.

2. The computer-implemented method of claim 1 , further comprising:

determining one or more code dependencies for the first identified portion of the first source code, the one or more code dependencies including resources required by the first identified portion.

3. The computer-implemented method of claim 2 , further comprising:

encapsulating the one or more code dependencies in the module.

4. The computer-implemented method of claim 1 , further comprising:

storing the encapsulated portion of the first source code in association with the first user interface element.

5. The computer-implemented method of claim 4 , wherein matching the second extracted user interface element to the first extracted user interface element include determining that the second extracted user interface element matches the first extracted user interface element within a predetermined threshold range.

6. The computer-implemented method of claim 5 , wherein the matching of the second extracted user interface element to the first extracted user interface element is performed using computer vision processing.

7. The computer-implemented method of claim 4 , wherein the first set of user interface elements are extracted from the first design document using cognitive machine learning.

8. The computer-implemented method of claim 7 , wherein the cognitive machine learning includes at least one of natural language processing or computer vision processing.

9. The computer-implemented method of claim 4 , wherein the first extracted user interface element includes a widget.

10. A computer usable program product comprising one or more computer-readable storage medium, and program instructions stored on at least one of the one or more storage medium, the stored program instructions comprising:

program instructions to receive a first design document and a second design document, the first design document specifying a graphical layout of a first set of user interface elements of a user interface of a first application and the second design document specifying a graphical layout of a second set of user interface elements of a user interface of a second application;

program instructions to receive a first source code associated with the first design document, the first source code configured to implement the first set of user interface elements of the user interface;

program instructions to extract the first set of user interface elements from the first design document;

program instructions to identify a first portion of the first source code corresponding to a first user interface element of the first set of user interface elements;

program instructions to encapsulate the first portion of the first source code into a module to enable re-use of the portion of the source code in the second application;

program instructions to match a second extracted user interface element, extracted from the second design document, to the first extracted user interface element; and

program instructions to output the encapsulated first portion of the first source code for re-use by the second application.

11. The computer usable program product of claim 10 , further comprising:

program instructions to determine one or more code dependencies for the first identified portion of the first source code, the one or more code dependencies including resources required by the first identified portion.

12. The computer usable program product of claim 11 , further comprising:

program instructions to encapsulate the one or more code dependencies in the module.

13. The computer usable program product of claim 10 , further comprising:

program instructions to store the encapsulated portion of the first source code in association with the first user interface element.

14. The computer usable program product of claim 10 , wherein matching the second extracted user interface element to the first extracted user interface element include determining that the second extracted user interface element matches the first extracted user interface element within a predetermined threshold range.

15. The computer usable program product of claim 14 , wherein the matching of the second extracted user interface element to the first extracted user interface element is performed using computer vision processing.

16. The computer usable program product of claim 10 , wherein the stored program instructions are stored in a computer readable storage medium in a data processing system, and wherein the stored program instructions are transferred over a network from a remote data processing system.

17. The computer usable program product of claim 10 , wherein the stored program instructions are stored in a computer readable storage medium in a server data processing system, and wherein the stored program instructions are downloaded over a network to a remote data processing system for use in a computer readable storage medium associated with the remote data processing system.

18. A computer system comprising one or more processors, one or more computer-readable memories, and one or more computer-readable storage medium, and program instructions stored on at least one of the one or more storage medium for execution by at least one of the one or more processors via at least one of the one or more memories, the stored program instructions comprising:

program instructions to receive a first design document and a second design document, the first design document specifying a graphical layout of a first set of user interface elements of a user interface of a first application and the second design document specifying a graphical layout of a second set of user interface elements of a user interface of a second application;

program instructions to receive a first source code associated with the first design document, the first source code configured to implement the first set of user interface elements of the user interface;

program instructions to extract the first set of user interface elements from the first design document;

program instructions to identify a first portion of the first source code corresponding to a first user interface element of the first set of user interface elements;

program instructions to encapsulate the first portion of the first source code into a module to enable re-use of the portion of the source code in the second application;

program instructions to match a second extracted user interface element, extracted from the second design document, to the first extracted user interface element; and

program instructions to output the encapsulated first portion of the first source code for re-use by the second application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2018
From: LEE, KYUNGMIN; WOOD, STEPHEN; PISTOIA, MARCO; LIGMAN, JOSEPH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047711/0817 →
Continuity (1)
Related Publication 20200183664A1 · Jun 11, 2020