Dynamic ranking of performance issues for applications
AssigneeInternational Business Machines Corporation
InventorsVijay Ekambaram, Sachidanand Mangala Basavanna, Ashish K. Mathur, Nitendra Rajput, Vivek Sharma
Life of this patent
Estimating the term…
Abstract
Identification and dynamic ranking of performance issues. For an instance of a performance anti-pattern, identifying and recording information relating to a resultant performance issue, quantifying the magnitude of the performance issue, and dynamically ranking the performance issue against other performance issues.
Claims20
A method for improving dynamic performance ranking of mobile applications derived using predicted quantitative performance impact, the method comprising:
- identifying, by one or more processors, a set of anti-patterns in a first application binary code;
- generating, by the one or more processors, a first execution log for the set of anti-patterns during a first test execution of the first application binary code, including a set of timestamps;
- generating, by the one or more processors, a first performance report for a set of resultant impacts during execution of the first application binary code;
- determining, by the one or more processors, an association between a first anti-pattern in the set of anti-patterns and a first resultant impact in the set of resultant impacts, based on the first execution log and the first performance report, wherein the set of resultant impacts associated with the set of anti-patterns is a performance issue;
- ranking, by the one or more processors, the set of anti-patterns based, at least in part, on a subset of the set of resultant impacts;
- executing, by the one or more processors, a second test of a second application binary code to produce a second execution log and a second performance report;
- determining, by the one or more processors, a performance pattern corresponding to the first anti-pattern in the set of anti-patterns, based at least in part on the first execution log, the first performance report, the second execution log, and the second performance report;
- predicting, by the one or more processors, a resultant impact for a set of future anti-patterns, wherein the predicting recursively improves based on earlier predictions, and pattern recognition and approximation algorithms are applied to improved prediction accuracy;
- and
- outputting, by the one or more processors, a performance report with a set of information, wherein the set of information comprises:
- anti-patterns in the application where practices are violated, performance issues due to violations of the practices, and recommendations to optimize the identified anti-patterns, and resolve the performance issues based on the ranking,
- wherein:
- at least the ranking step is performed by computer software running on computer hardware.
A computer program product for improving dynamic performance ranking of mobile applications derived using predicted quantitative performance impact, the computer program product comprising:
- one or more computer readable storage medium and program instructions stored on the one or more computer readable storage medium, the stored program instructions comprising:
- program instructions to identify a set of anti-patterns in a first application binary code;
- program instructions to generate a first execution log for the set of anti-patterns during a first test execution of the first application binary code, including a set of timestamps;
- program instructions to generate a first performance report for a set of resultant impacts during execution of the first application binary code;
- program instructions to determine an association between a first anti-pattern in the set of anti-patterns and a first resultant impact in the set of resultant impacts, based at least in part on the first execution log and the first performance report, wherein the set of resultant impacts associated with the set of anti-patterns is a performance issue;
- program instructions to rank the set of anti-patterns based, at least in part, on a subset of the set of resultant impacts;
- program instructions to execute a second test of a second application binary code to produce a second execution log and a second performance report;
- program instructions to determine a performance pattern corresponding to the first anti-pattern in the set of anti-patterns, based at least in part on the first execution log, the first performance report, the second execution log, and the second performance report;
- program instructions to predict a resultant impact for a set of future anti-patterns, wherein the predicting recursively improves based on earlier predictions, and pattern recognition and approximation algorithms are applied to improved prediction accuracy;
- and
- program instructions to output a performance report with a set of information, wherein the set of information comprises:
- anti-patterns in the application where practices are violated, performance issues due to violations of the practices, and recommendations to optimize the identified anti-patterns, and resolve the performance issues based on the ranking.
A computer system for improving dynamic performance ranking of mobile applications derived using predicted quantitative performance impact, the computer system comprising:
- a processor set;
- and
- a computer readable storage medium;
- wherein:
- the processor set is structured, located, connected, and programmed to execute instructions stored on the computer readable storage medium;
- and
- the instructions include:
- program instructions to identify a set of anti-patterns in a first application binary code;
- program instructions to generate a first execution log for the set of anti-patterns during a first test execution of the first application binary code, including a set of timestamps;
- program instructions to generate a first performance report for a set of resultant impacts during execution of the first application binary code;
- program instructions to determine an association between a first anti-pattern in the set of anti-patterns and a first resultant impact in the set of resultant impacts, based at least in part on the first execution log and the first performance report, wherein the set of resultant impacts associated with the set of anti-patterns is a performance issue;
- program instructions to rank the set of anti-patterns based, at least in part, on a subset of the set of resultant impacts;
- program instructions to execute a second test of a second application binary code to produce a second execution log and a second performance report;
- program instructions to determine a performance pattern corresponding to the first anti-pattern in the set of anti-patterns, based at least in part on the first execution log, the first performance report, the second execution log, and the second performance report;
- program instructions to predict a resultant impact for a set of future anti-patterns, wherein the predicting recursively improves based on earlier predictions, and pattern recognition and approximation algorithms are applied to improved prediction accuracy;
- and
- program instructions to output a performance report with a set of information, wherein the set of information comprises:
- anti-patterns in the application where best practices are violated, performance issues due to violations of best practices, and recommendations to optimize the identified anti-patterns, and resolve performance issues based on the ranking.
Dependencies are inferred from the claim text.