IP Library › Granted Patent US 10,664,387
Granted Patent B2
US 10,664,387 · App. 16/174,351 · Granted May 26, 2020

Code component debugging in an application program

Inventors: Vijay Ekambaram (Chennai, IN); Leigh A. Williamson (Austin, TX); Shinoj Zacharias (Bangalore, IN)
Assignee: International Business Machines Corporation
G06F11/366G06F11/3616G06F11/3664G06F11/3672G06F11/3692
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 10,664,387
App. No.
16/174,351
Granted
May 26, 2020
Kind
B2
Abstract

Disclosed aspects relate to debugging a set of code components of an application program. A set of defect data which indicates a set of defects may be collected with respect to an application program. The set of defect data may be derived from a set of post-compilation users of the application program. A set of test case data which indicates a set of user interface features of the application program may be collected with respect to the application program. The set of test case data may be derived from a set of development tests of the application program. Using both the set of defect data and the set of test case data, a set of fragility data for the set of code components of the application program may be determined. Based on the set of fragility data, the set of code components of the application program may be debugged.

Claims (47)

1. A computer-implemented method for debugging a set of code components of an application program, the method comprising:

determining a set of fragility data for the set of code components of the application program using a set of defect data and a set of test case data, the set of defect data is derived from a set of post-compilation users of the application program and indicates a set of defects, and the set of test case data is derived from a set of development tests of the application program and indicates a set of user interface features of the application program; and

debugging, based on the set of fragility data for the set of code components of the application program, the set of code components of the application program.

2. The method of claim 1 , further comprising:

retrieving, using a synchronization criterion, a set of updated defect data;

determining, using both the set of updated defect data and the set of test case data, a set of updated fragility data for the set of code components of the application program; and

debugging, based on the set of updated fragility data for the set of code components of the application program, the set of code components of the application program.

3. The method of claim 1 , further comprising:

correlating the set of code components with the set of defects, wherein a respective code component correlates with a respective defect.

4. The method of claim 3 , further comprising:

correlating the set of fragility data with the set of defect data, wherein a respective subset of the set of fragility data correlates with a respective subset of the set of defect data, wherein the respective subset of the set of fragility data corresponds with the respective code component, and wherein the respective subset of the set of defect data corresponds with the respective defect.

5. The method of claim 4 , further comprising:

correlating the set of defect data with the set of test case data, wherein a respective subset of the set of test case data corresponds with a respective test case, wherein the respective subset of the set of defect data correlates with the respective subset of the set of test case data, and wherein the respective defect correlates with the respective test case; and

correlating the set of test case data with the set of fragility data, wherein the respective subset of the set of test case data correlates with the respective subset of the set of fragility data, and wherein the respective test case correlates with the respective defect.

6. The method of claim 1 , further comprising:

indicating, by the set of fragility data, a set of fragility degree-extents for the set of code components of the application program, wherein a respective subset of the set of fragility data indicates a respective fragility degree-extent for a respective code component of the set of code components of the application program.

7. The method of claim 1 , further comprising:

indicating, by the set of fragility data, a set of fragility nature-types for the set of code components of the application program, wherein a respective subset of the set of fragility data indicates a respective fragility nature-type for a respective code component of the set of code components of the application program.

8. The method of claim 1 , further comprising:

comparing, using a semantic analysis technique, the set of defect data and the set of test case data to determine the set of fragility data for the set of code components of the application program.

9. The method of claim 8 , further comprising:

identifying, with respect to the set of defect data, a set of widget element identifiers which indicates the set of defects;

identifying, with respect to the set of test case data, a set of clear-script elements which indicates the set of user interface features of the application program; and

mapping, to correlate the set of defects and the set of user interface features of the application program, the set of widget element identifiers and the set of clear-script elements to determine the set of fragility data for the set of code components of the application program.

10. The method of claim 9 , further comprising:

resolving, using a clustering technique based on the mapping, the set of fragility data for the set of code components of the application program, wherein a respective widget element identifier of the set of widget element identifiers maps with a respective clear-script element of the set of clear-script elements.

11. The method of claim 1 , further comprising:

selecting, based on the set of fragility data for the set of code components of the application program, to prioritize debug of a first subset of the set of code components of the application program with respect to a second subset of the set of code components of the application program, wherein the first subset of the set of code components is associated with a first subset of the set of fragility data, and wherein the second subset of the set of code components is associated with a second subset of the set of fragility data; and

debugging, with priority with respect to the second subset of the set of code components of the application program, the first subset of the set of code components of the application program.

12. The method of claim 11 , further comprising:

computing, using a set of parameters having a first set of values which relates to the first subset of the set of code components of the application program, a first fragility score for the first subset of the set of code components of the application program;

computing, using the set of parameters having a second set of values which relates to the second subset of the set of code components of the application program, a second fragility score for the second subset of the set of code components of the application program; and

ascertaining, by comparing the first and second fragility scores, that the first fragility score exceeds the second fragility score.

13. The method of claim 12 , wherein the set of parameters is selected from the group consisting of:

a defect correlation factor,

a test-case correlation factor,

a defect criticality factor,

a cluster density factor,

a cluster correlation factor,

a code component complexity factor, and

a code interdependency factor.

14. The method of claim 1 , wherein debugging, based on the set of fragility data for the set of code components of the application program, the set of code components of the application program includes:

establishing, in an automated fashion based on the set of fragility data for the set of code components of the application program, a breakpoint linked with the set of code components of the application program;

presenting, in response to triggering the breakpoint, the set of code components of the application program linked with the breakpoint; and

modifying the set of code components of the application program.

15. The method of claim 1 , wherein the collecting of the set of defect data, the collecting of the set of test case data, and the determining each occur in a dynamic fashion to streamline debugging.

16. The method of claim 1 , wherein the collecting of the set of defect data, the collecting of the set of test case data, and the determining each occur in an automated fashion without user intervention.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2018
From: EKAMBARAM, VIJAY; WILLIAMSON, LEIGH A.; ZACHARIAS, SHINOJ
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047347/0593 →
Continuity (5)
Continuation 16169198 · Oct 24, 2018
Continuation 15849954 · Dec 21, 2017
Continuation 15813319 · Nov 15, 2017
Continuation 15338306 · Oct 28, 2016
Related Publication 20190065341A1 · Feb 28, 2019