DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
The instant application having application No. 18/750,306 filed on June 21, 2024, presents claims 1-10 for examination, claims foreign priority to DE102023206220.8, filed on 6/30/2023.
Examiner Notes
Examiner cites particular columns, paragraphs, figures and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner.
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
Claim Objections
Claim 8 is objected to because of the following informalities:
Line 4, “the test of the computer program” wherein “the test” lacks proper antecedent basis.
Appropriate correction is required.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1-2, 4, and 9-10 are rejected under 35 U.S.C. 103 as being unpatentable over Barsness et al. (US 20190251014 A1, hereinafter “Barsness”) in view of XIE et al. (CN 1564128 A, hereinafter “XIE”, please refer to the attached NPL copy).
With respect to claim 1, Barsness discloses A method for testing a computer program, the method comprising:
setting one or more breakpoints [on one or more string output instructions] in the computer program (e.g. Fig. 3, step 320, Set Breakpoint);
executing the computer program (e.g. Fig. 3, step 330, Distributed Execution of Program);
when one of the set breakpoints is triggered (e.g. Fig. 3, step 340, Encounter Breakpoint), ascertaining whether a string provided, for outputting, to a string output function called by a particular string output instruction contains one or more format specifications for the computer program for more values than provided as arguments to the string output function; and
Barsness does not appear to explicitly disclose
(setting one or more breakpoints) on one or more string output instructions (…);
…, ascertaining whether a string provided, for outputting, to a string output function called by a particular string output instruction contains one or more format specifications for the computer program for more values than provided as arguments to the string output function;
in response to ascertaining that the string provided to the particular string output function for outputting contains one or more format specifications for the computer program for more values than provided as arguments to the particular string output function, triggering a display that the computer program has an error.
However, in analogous art, XIE discloses
(setting one or more breakpoints) on one or more string output instructions (…) (e.g. p4 last to p5 seventh paragraphs, “step 150b, if the command code and format control character with corresponding record in theColPara.db, then taking the head parameter from the binary stream according to the field attributeHeadPara.db, CyclePara.db, Ewpara.db in the table. circulation parameter, two-dimensional cycle parameters, because each line cycle parameter record is corresponding to one row of two-dimensional cycle parameters, so there are N row cycle parameter recording, it is necessary to read two-dimensional circulating parameter of N times from the output binary stream according to two-dimensional cyclic parameter field Ewpara.db. The output display format head parameter format, circulating parameter format and row cycle parameters to display.” These paragraphs indicate that there are string output instructions, combined with Barsness, breakpoints can be set on string output instructions);
…, ascertaining whether a string provided, for outputting, to a string output function called by a particular string output instruction contains one or more format specifications for the computer program for more values than provided as arguments to the string output function (e.g. p4 last to p5 first paragraph, “step 110, the user input character string command and sending the command, management separating the command code and all the input parameters from the character string command, find command code in the WholeCmd.db, and the CmdInpara.db finds all the input parameter of the command code, and according to the parameter attribute judging whether there is input parameter, whether the input parameter in accordance with the parameter type, the input parameter is out of range. if it is not passed, prompting the user and exit.” Wherein judging whether the input parameter in accordance with the parameter type, the input parameter is out of range read on the claim feature and renders claim feature obvious);
in response to ascertaining that the string provided to the particular string output function for outputting contains one or more format specifications for the computer program for more values than provided as arguments to the particular string output function, triggering a display that the computer program has an error (e.g. p4 last to p5 first paragraph as cited above, wherein prompting the user suggests triggering a display that the computer program has an error. Further, p5 fourth paragraph, step 140a reaches displaying error result. Thus, this teaching renders the claim feature obvious).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to combine the invention of Barsness with the invention of XIE because it provides techniques for reducing the frequent modification version problem caused because of increased, reduced or modified string command so as to reduce the influence of version stability. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, for the purpose of providing techniques for reducing the frequent modification version problem caused because of increased, reduced or modified string command so as to reduce the influence of version stability as suggested by XIE (see p2 second and third paragraphs).
With respect to claim 2, XIE further discloses wherein the triggering of the display that the computer program has an error includes triggering a termination of the computer program in response to ascertaining that the string provided to the particular string output function for outputting contains one or more format specifications for the computer program for more values than provided as arguments to the particular string output function (e.g. p4 last to p5 first paragraph as cited above, wherein prompting the user and exit indicates termination of the computer program. For motivation to combine, please refer to office action regarding claim 1).
With respect to claim 4, XIE further discloses wherein it is ascertained whether the string provided, for outputting, to the particular string output function contains one or more format specifications for the computer program for more values than provided as arguments to the particular string output function, by stepping in individual steps through the particular string output function called by the string output instruction, and by ascertaining the provided string in the process (e.g. p5 seventh paragraph, “step 150b, if the command code and format control character with corresponding record in theColPara.db, then taking the head parameter from the binary stream according to the field attributeHeadPara.db, CyclePara.db, Ewpara.db in the table. circulation parameter, two-dimensional cycle parameters, because each line cycle parameter record is corresponding to one row of two-dimensional cycle parameters, so there are N row cycle parameter recording, it is necessary to read two-dimensional circulating parameter of N times from the output binary stream according to two-dimensional cyclic parameter field Ewpara.db. The output display format head parameter format, circulating parameter format and row cycle parameters to display.” Wherein each parameter reads on each individual step through the particular string output function. For motivation to combine, please refer to office action regarding claim 1).
With respect to claim 9, it is directed to a test arrangement to implement the method disclosed in claim 1, please see the rejections directed to claim 1 above which also cover the limitations recited in claim 9. Note that, Barsness teaches A test arrangement (e.g. Fig. 2).
With respect to claim 10, it is directed to a non-transitory computer-readable medium to implement the method disclosed in claim 1, please see the rejections directed to claim 1 above which also cover the limitations recited in claim 10. Note that, Barsness teaches A non-transitory computer-readable medium on which are stored instructions for testing a computer program, the instructions, when executed by a processor, causing the processor to perform the following steps (e.g. Fig. 2):
Claim 3 is rejected under 35 U.S.C. 103 as being unpatentable over Barsness in view of XIE as applied to claim 1, in further view of Beauchesne et al. (US 20230315413 A1, hereinafter “Beauchesne”) and Malcolm (US 20130007400 A1, hereinafter “Malcolm”).
With respect to claim 3, Barsness as modified by XIE discloses The method according to claim 1, but does not appear to explicitly disclose wherein, for at least one of the string output instructions, the string is provided as a pointer to the at least one string output function for outputting, and it is ascertained whether the string contains one or more format specifications for the computer program for more values than provided as arguments to the particular string output function, by checking whether a content of a memory area to which the pointer points contains one or more format specifications for the computer program.
However, in analogous art, Beauchesne discloses
wherein, for at least one of the string output instructions, the string is provided as a pointer to the at least one string output function for outputting (e.g. para [0081], “… As discussed herein the functions can be passed one or more inputs in a function call, or receive one or more inputs from a data structure (e.g., inputs can be provided by passing a pointer to a called function or inputs can be provided by reading an input provided in an input stream. …”),
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the invention of Beauchesne because it provides techniques for a function to receive input with flexible format including a pointer. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, for the purpose of providing techniques for a function to receive input with flexible format including a pointer as suggested by Beauchesne (see para [0081]).
Barsness as modified by XIE and Beauchesne does not appear to explicitly disclose
and it is ascertained whether the string contains one or more format specifications for the computer program for more values than provided as arguments to the particular string output function, by checking whether a content of a memory area to which the pointer points contains one or more format specifications for the computer program.
However, this is taught in analogous art, Malcolm (e.g. para [0052], “At block 503, the memory debug module uses the references to variables in the statically-allocated data to search the symbol information of the inferior process for these variables. ….” Wherein variables in the inferior process read on one or more formats specifications for the computer program.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the invention of Malcolm because it provides techniques for categorizing blocks of dynamically allocated memory that do not have structure by using structures and/or pointers to structures in statically-allocated data of symbol information for an inferior process to categorize the allocated blocks of memory. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, for the purpose of providing techniques for categorizing blocks of dynamically allocated memory that do not have structure by using structures and/or pointers to structures in statically-allocated data of symbol information for an inferior process to categorize the allocated blocks of memory as suggested by Malcolm (see para [0013]).
Claim 5 is rejected under 35 U.S.C. 103 as being unpatentable over Barsness in view of XIE as applied to claim 1, in further view of MOLA (US 20200301820 A1, hereinafter “MOLA”) and Douglas et al. (US 20200387371 A1, hereinafter “Douglas”).
With respect to claim 5, Barsness as modified by XIE discloses The method according to claim 1, but does not appear to explicitly disclose wherein, for at least one of the string output instructions, the string is provided to the particular string output function at least partially using a stack, and it is ascertained whether the string contains one or more format specifications for the computer program for more values than provided as arguments to the particular string output function, by checking the stack as to whether the string provided for the particular string output function contains one or more format specifications for the computer program.
However, in analogous art, MOLA discloses
wherein, for at least one of the string output instructions, the string is provided to the particular string output function at least partially using a stack (e.g. para [0089], “… For example, the first ABI might expect a function's inputs and/or outputs to be on the stack,. …”),
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the invention of MOLA because it provides techniques for executing second executable code using traced data gathered during execution of first executable code including stack. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, for the purpose of providing techniques for executing second executable code using traced data gathered during execution of first executable code including stack as suggested by MOLA (see abstract and para [0089]).
Barsness as modified by XIE and MOLA does not appear to explicitly disclose
and it is ascertained whether the string contains one or more format specifications for the computer program for more values than provided as arguments to the particular string output function, by checking the stack as to whether the string provided for the particular string output function contains one or more format specifications for the computer program.
However, this is taught in analogous art, Douglas (e.g. para [0053], “... The in-memory mapping table provides a template for the format of each call and assists in verifying that the data being recorded conforms to the expected format. The replayer populates the argument list with the recorded data that matches the argument list in the intercepted call (225). When a matching record is found that satisfies all the argument list, the record is returned to the application, the record in the in-memory table is marked as “used”, and the stack pointer that chains the records together is advanced to the next position.”)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the invention of Douglas because it provides techniques for replaying arguments of an application in real-time. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, for the purpose of providing techniques for replaying arguments of an application in real-time as suggested by Douglas (see Summary).
Claim 6 is rejected under 35 U.S.C. 103 as being unpatentable over Barsness in view of XIE as applied to claim 1, in further view of SKINNER (US 20170075789 A1, hereinafter “SKINNER”).
With respect to claim 6, Barsness as modified by XIE discloses The method according to claim 1, but does not appear to explicitly disclose further comprising carrying out a plurality of test runs and setting breakpoints on string output instructions that differ from test run to test run.
However, this is taught in analogous art, SKINNER (e.g. Fig 4, para [0032], “The developer then returns to the step of reviewing the unit test (425). As shown, this process can be very time consuming and tedious for a developer, potentially requiring multiple cycles of manually reviewing the unit tests, source code files, setting
breakpoints, and re-executing the application. ….”),
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the invention of SKINNER because it provides conventional method and new techniques without any user interaction for executing tests of software. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, for the purpose of providing conventional method and new techniques without any user interaction for executing tests of software as suggested by SKINNER (see para [0008, 0032]).
Claim 7 is rejected under 35 U.S.C. 103 as being unpatentable over Barsness in view of XIE as applied to claim 1, in further view of USUI et al. (US 20240330155 A1, hereinafter “USUI”).
With respect to claim 7, Barsness as modified by XIE discloses The method according to claim 1, but does not appear to explicitly disclose further comprising:
executing the computer program on an embedded system; and
carrying out the setting of the breakpoints, the ascertaining as to whether the string contains one or more format specifications for the computer program for more values than provided as arguments to the particular string output function, and the triggering of the display that the computer program has an error, is by using a test system connected to the embedded system.
However, this is taught in analogous art, USUI (e.g. Fig 2, wherein ECU 250 reads on an embedded system which executes the computer program. The HIL test environment can implement the operations performed by Barsness and XIE for the claim. Fig. 2 shows that the HIL test environment is connected to the embedded system ECU.)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the invention of USUI because it provides techniques for intelligently determining one or more test environments for testing software of an embedded system. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, for the purpose of providing techniques for intelligently determining one or more test environments for testing software of an embedded system as suggested by USUI (see para [0009-0010]).
Claim 8 is rejected under 35 U.S.C. 103 as being unpatentable over Barsness in view of as applied to claim 1, in further view of MICHIKITA et al. (US 20240337564 A1, hereinafter “MICHIKITA”).
With respect to claim 8, Barsness as modified by XIE discloses The method according to claim 1, but does not appear to explicitly disclose wherein the computer program is a control program for a robotic device and the robotic device is controlled with the computer program depending on a result of the test of the computer program.
However, this is taught in analogous art, MICHIKITA (e.g. Fig 1, para [0036], “More concretely, as shown in FIG. 1, the test system 100 includes a drive test device 2 for conducting a drive test by causing an engine or a motor of the vehicle 1 to be driven, an automatic driving robot 3 which drives the vehicle 1, a control device 4, and a test device 5. In the test system 100, the drive test device 2 or the automatic driving robot 3 are controlled by the control device 4, creating a state for conducting a test of the vehicle 1; ….”)
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to incorporate the invention of MICHIKITA because it provides techniques for evaluating a cyber security function and a software update function of a vehicle while ensuring safety. A person having ordinary skill in the art would have been motivated to make this combination, with a reasonable expectation of success, for the purpose of providing techniques for evaluating a cyber security function and a software update function of a vehicle while ensuring safety as suggested by MICHIKITA (see para [0005-0006]).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. For example, YANG et al., US 20240036854 A1 teaches method and device of updating and testing multiple embedded controllers.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Zengpu Wei whose telephone number is 571-270-1302. The examiner can normally be reached on Monday to Friday from 8:00AM to 5:00 PM.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Bradley Teets, can be reached on 571-272-3338. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://portal.uspto.gov/external/portal. Should you have questions about access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free).
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
/ZENGPU WEI/
Examiner, Art Unit 2197