US 12,265,463 B2
Software program error testing for autonomous systems and applications
Saumya Nair, Bangalore (IN); Yogesh Kini, Bangalore (IN); Ashutosh Jain, Nellore (IN); and Neeraja Gubba, Bangalore (IN)
Assigned to NVIDIA CORPORATION, Santa Clara, CA (US)
Filed by NVIDIA Corporation, Santa Clara, CA (US)
Filed on Jan. 10, 2023, as Appl. No. 18/152,666.
Prior Publication US 2024/0232050 A1, Jul. 11, 2024
Int. Cl. G06F 11/32 (2006.01); G06F 9/54 (2006.01); G06F 11/36 (2025.01); G06F 11/362 (2025.01); G06F 11/3668 (2025.01); G06F 11/07 (2006.01); G06F 11/22 (2006.01); G06F 11/263 (2006.01); G06F 11/34 (2006.01)
CPC G06F 11/3644 (2013.01) [G06F 11/3664 (2013.01); G06F 11/3688 (2013.01); G06F 11/0793 (2013.01); G06F 11/2273 (2013.01); G06F 11/263 (2013.01); G06F 11/3466 (2013.01); G06F 11/3692 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A method comprising:
identifying, using a software testing tool and during an information gathering test corresponding to code of a software program, a function associated with a function call of the code;
identifying, as return error values, return values that correspond to errors associated with the function using the software testing tool and during the information gathering test;
generating a first stub code version based at least on first information corresponding to a first return error value of the return error values as included in a macro included in the function;
generating a second stub code version based at least on second information corresponding to a second return error value of the return error values as included in the macro included in the function;
executing, using the software testing tool, an error-injection test based at least on the function and at least one return error value of the return error values as identified during the information gathering test, the error-injection test including:
invoking the first stub code version with respect to a first call of the function to inject the first return error value as a simulated response to the first call of the function without executing the function; and
invoking the second stub code version with respect to a second call of the function to inject the second return error value as a simulated response to the second call of the function without executing the function; and
monitoring performance of at least the code of the software program in response to the error injection test.