IP Library Granted Patent US 12,430,228
Granted Patent B2
US 12,430,228 · App. 18/227,441 · Granted Sep 30, 2025

Determining non-functional requirements (NFR) from a run time environment and incorporating into a development cycle

Inventors: Nitin Tewari (Ghaziabad, IN); Mayank Sharma (Bangalore, IN); Vinay Nair (Hyderabad, IN); Aditi Bhattacharya (Kolkata, IN); Sandeep Dixit (Bangalore, IN)
Assignee: International Business Machines Corporation
G06F11/3612G06F11/3676G06F11/3684
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 12,430,228
App. No.
18/227,441
Granted
Sep 30, 2025
Kind
B2
Abstract

A computer-implemented method, according to one embodiment, includes analyzing application details associated with a plurality of different timestamp intervals, in response to a determination, from results of analyzing runtime information associated with an application failure event and/or sub-par runtime performance that occurs during a first operational run cycle of an application, that the failure event and/or sub-par runtime performance is caused by a Non-Functional Requirement (NFR) issue. In response to a determination that a first of the timestamp intervals falls within a timestamp associated with the application failure event and/or sub-par runtime performance, first pattern information about the application details associated with the first timestamp interval is collected. The method further includes applying the first pattern information to a weightage algorithm. In response to a determination that test coverage gaps exist in a predetermined collection of test cases, test cases are created based on the first pattern information.

Claims (34)

1. A computer-implemented method, comprising:

in response to a determination, from results of analyzing runtime information associated with an application failure event and/or sub-par runtime performance that occurs during a first operational run cycle of an application, that the failure event and/or sub-par runtime performance is caused by a Non-Functional Requirement (NFR) issue, analyzing application details associated with a plurality of different timestamp intervals;

in response to a determination that a first of the timestamp intervals falls within a predetermined timestamp associated with the application failure event and/or sub-par runtime performance, collecting first pattern information about the application details associated with the first timestamp interval;

applying the first pattern information to a predetermined weightage algorithm; and

in response to a determination, based on an output of the predetermined weightage algorithm, that test coverage gaps exist in a predetermined collection of test cases, causing test cases to be created based on the first pattern information for mitigating the NFR issue during a subsequent operational run cycle of the application.

2. The computer-implemented method of claim 1 , wherein the first pattern information is collected using techniques selected from the group consisting of: static code analysis, analysis of an underlying infrastructure configuration provided to a DevOps environment that the first operational run cycle is run in, and analysis of dynamic run time data from the DevOps environment.

3. The computer-implemented method of claim 1 , wherein the first pattern information includes: application details, infrastructure configuration details and operational environment details.

4. The computer-implemented method of claim 3 , wherein the application details are selected from the group consisting of: a number of database tables, a size of columns, a type of the columns, and a type of language; wherein the infrastructure configuration details are selected from the group consisting of: whether a current virtual machine has dedicated central processing unit (CPU) allocated, whether the current virtual machine has shared CPU allocated, an amount of memory allocation, an amount of CPU allocation, and a number of processors dedicated to the current virtual machine; and wherein the operational environment details are selected from the group consisting of: a number of processors that are currently running in a predetermined pattern, a number of operations that are currently running in a predetermined pattern, a number of applications that are currently running in a predetermined pattern, and a maintenance level of the operational environment.

5. The computer-implemented method of claim 1 , comprising: causing the predetermined collection of test cases and the test cases created based on the first pattern information to be used for training a predetermined learning model; and using the trained predetermined learning model for performing a second operational run cycle of the application.

6. The computer-implemented method of claim 1 , wherein applying the application details associated with a first timestamp interval to the predetermined weightage algorithm includes calculating a first coverage weight, wherein the first coverage weight is based on the predetermined collection of test cases and the application details.

7. The computer-implemented method of claim 6 , comprising: comparing the first coverage weight to a second coverage weight, wherein the second coverage weight is based on the predetermined collection of test cases and is not based on the application details; and determining that test coverage gaps exist in the predetermined collection of test cases in response to a determination that results of the comparison reveal that the first coverage weight is less than the second coverage weight.

8. The computer-implemented method of claim 6 , wherein the predetermined weightage algorithm incorporates a plurality of different predetermined factors selected from the group consisting of: application runtime performance requirements, application runtime reliability requirements, application scalability requirements, application availability requirements, and application runtime security requirements.

9. The computer-implemented method of claim 1 , wherein an automated script is used for causing the test cases to be created.

10. A computer program product, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions readable and/or executable by a computer to cause the computer to:

in response to a determination, from results of analyzing runtime information associated with an application failure event and/or sub-par runtime performance that occurs during a first operational run cycle of an application, that the failure event and/or sub-par runtime performance is caused by a Non-Functional Requirement (NFR) issue, analyze application details associated with a plurality of different timestamp intervals;

in response to a determination that a first of the timestamp intervals falls within a predetermined timestamp associated with the application failure event and/or sub-par runtime performance, collect first pattern information about the application details associated with the first timestamp interval;

apply the first pattern information to a predetermined weightage algorithm; and

in response to a determination, based on an output of the predetermined weightage algorithm, that test coverage gaps exist in a predetermined collection of test cases, cause test cases to be created based on the first pattern information for mitigating the NFR issue during a subsequent operational run cycle of the application.

11. The computer program product of claim 10 , wherein the first pattern information is collected using techniques selected from the group consisting of: static code analysis, analysis of an underlying infrastructure configuration provided to a DevOps environment that the first operational run cycle is run in, and analysis of dynamic run time data from the DevOps environment.

12. The computer program product of claim 10 , wherein the first pattern information includes: application details, infrastructure configuration details and operational environment details.

13. The computer program product of claim 12 , wherein the application details are selected from the group consisting of: a number of database tables, a size of columns, a type of the columns, and a type of language; wherein the infrastructure configuration details are selected from the group consisting of: whether a current virtual machine has dedicated central processing unit (CPU) allocated, whether the current virtual machine has shared CPU allocated, an amount of memory allocation, an amount of CPU allocation, and a number of processors dedicated to the current virtual machine; and wherein the operational environment details are selected from the group consisting of: a number of processors that are currently running in a predetermined pattern, a number of operations that are currently running in a predetermined pattern, a number of applications that are currently running in a predetermined pattern, and a maintenance level of the operational environment.

14. The computer program product of claim 10 , the program instructions readable and/or executable by the computer to cause the computer to: cause the predetermined collection of test cases and the test cases created based on the first pattern information to be used for training a predetermined learning model; and use the trained predetermined learning model for performing a second operational run cycle of the application.

15. The computer program product of claim 10 , wherein applying the application details associated with a first timestamp interval to the predetermined weightage algorithm includes calculating a first coverage weight, wherein the first coverage weight is based on the predetermined collection of test cases and the application details.

16. The computer program product of claim 15 , the program instructions readable and/or executable by the computer to cause the computer to: compare the first coverage weight to a second coverage weight, wherein the second coverage weight is based on the predetermined collection of test cases and is not based on the application details; and determine that test coverage gaps exist in the predetermined collection of test cases in response to a determination that results of the comparison reveal that the first coverage weight is greater than the second coverage weight.

17. The computer program product of claim 15 , wherein the predetermined weightage algorithm incorporates a plurality of different predetermined factors selected from the group consisting of: application runtime performance requirements, application runtime reliability requirements, application scalability requirements, application availability requirements, and application runtime security requirements.

18. The computer program product of claim 10 , wherein an automated script is used for causing the test cases to be created.

19. A system, comprising:

a processor; and

logic integrated with the processor, executable by the processor, or integrated with and executable by the processor, the logic being configured to:

in response to a determination, from results of analyzing runtime information associated with an application failure event and/or sub-par runtime performance that occurs during a first operational run cycle of an application, that the failure event and/or sub-par runtime performance is caused by a Non-Functional Requirement (NFR) issue, analyze application details associated with a plurality of different timestamp intervals;

in response to a determination that a first of the timestamp intervals falls within a predetermined timestamp associated with the application failure event and/or sub-par runtime performance, collect first pattern information about the application details associated with the first timestamp interval;

apply the first pattern information to a predetermined weightage algorithm; and

in response to a determination, based on an output of the predetermined weightage algorithm, that test coverage gaps exist in a predetermined collection of test cases, cause test cases to be created based on the first pattern information for mitigating the NFR issue during a subsequent operational run cycle of the application.

20. The system of claim 19 , wherein the first pattern information is collected using techniques selected from the group consisting of: static code analysis, analysis of an underlying infrastructure configuration provided to a DevOps environment that the first operational run cycle is run in, and analysis of dynamic run time data from the DevOps environment.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2023
From: TEWARI, NITIN; SHARMA, MAYANK; NAIR, VINAY; BHATTACHARYA, ADITI; DIXIT, SANDEEP
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 064439/0586 →
Continuity (1)
Related Publication 20250036548A1 · Jan 30, 2025
References Cited (22)
US 7490319B2 · Blackwell et al. · 2009 [cited by applicant]
US 9208062B1 · Arguelles · 2015 [cited by examiner]
US 9286188B1 · Chopra et al. · 2016 [cited by applicant]
US 9559928B1 · Porter · 2017 [cited by examiner]
US 10545855B1 · Jayaswal · 2020 [cited by examiner]
US 11544656B1 · Manzano · 2023 [cited by examiner]
US 20060174222A1 · Thonse et al. · 2006 [cited by applicant]
US 20090300587A1 · Zheng · 2009 [cited by examiner]
US 20160162386A1 · Sivanesan · 2016 [cited by examiner]
US 20160259714A1 · Shor · 2016 [cited by examiner]
US 20170235662A1 · Leask · 2017 [cited by examiner]
US 20210056009A1 · Gal · 2021 [cited by examiner]
US 20230325303A1 · Jebbar · 2023 [cited by examiner]
US 20240378137A1 · Frickenstein · 2024 [cited by examiner]
S. Pramanik, D. Taylor and B. Wong, “Towards an Efficient Online Causal-Event-Pattern-Matching Framework,” 2013 IEEE 33rd International Conference on Distributed Computing Systems, Philadelphia, PA, USA, 2013, pp. 481-4… [cited by examiner]
Kassab et al., “Early Quantitative Assessment of Non-Functional Requirements,” ACM SIGOPS Operating Systems Review, Jan. 2007, 15 pages. [cited by applicant]
Cleland-Huang et al., “Goal-Centric Traceability for Managing Non-Functional Requirements,” ICSE, 2005, pp. 362-371. [cited by applicant]
Splunk, “Use case: Examine upstream and downstream dependencies for a service update,” Splunk, Observability, 2023, 3 pages, retrieved from https://docs.splunk.com/Observability/infrastructure/network-explorer/network-e… [cited by applicant]
NASA, “Design and Integration Tools Failure Modes and Effects Analysis Tool (FMEA) (MSC-25379-1),” NASA Technology Transfer Program, Nasa Software Catalog, 2023, 3 pages, retrieved from https://software.nasa.gov/softwar… [cited by applicant]
Filieri et al., “A Formal Approach to Adaptive Software: Continuous Assurance of Non-Functional Requirements,” Formal Aspects of Computing, Nov. 2011, pp. 1-24, retrieved from https://core.ac.uk/download/pdf/77013453.pd… [cited by applicant]
Almeida et al., “Dynamic Decision-Making based on NFR for Managing Software Variability and Configuration Selection,” preprint, Proceedings of the 30th Annual ACM Symposium on Applied Computing, Apr. 13, 2015, 7 pages, … [cited by applicant]
Wikipedia, “DevOps,” Wikipedia, 2023, 7 pages, retrieved from https://en.wikipedia.org/wiki/DevOps. [cited by applicant]