Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Arguments
Applicant argues that Barket’s “output elements, such as graphics, containers, widgets, and so forth” do not constitute “code elements”, and that Bareket's “usage errors” are not “code quality issues”.
Bareket's “output elements, such as graphics, containers, widgets, and so forth” are elements of a program defined by code. Accordingly, Bareket's “output elements, such as graphics, containers, widgets, and so forth” would have been reasonably considered “code elements” in the art.
Further, the output being tested is disclosed as “dynamically generated” by those code elements (see e.g. col. 6, lines 35-47). Those of ordinary skill in the art would have understood this to indicate that the output is the result of execution of the code of the “graphics, containers, widgets, and so forth” and thus constitute an issue with the quality of the code.
Applicant’s remaining arguments have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Claim Rejections - 35 USC § 102
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 (i.e., changing from AIA to pre-AIA ) 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.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
Claim(s) 1-2 and 4-9 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by US 9,514,032 to Bareket et al. (Bareket).
Claim 1: Bareket discloses a method for presenting a targeted message, the method comprising:
establishing communications with a user computer to obtain, from the user computer, information on an application running on the user computer (col. 6, lines 35-40 “as software-under-test (SUT) 305 executes … receives textual output dynamically generated by SUT 305”), the information comprising one or more representations of at least one of input received and output provided at a user interface (col. 6, lines 35-40 “textual output dynamically generated by SUT 305”, col. 10, lines 33-39 “user interface elements”);
analyzing, in real-time during operation of the application, the information on the application to identify a context associated with the application or the user computer and at least one of a triggering event or condition indicating an opportunity to present a message to the user computer (col. 6, lines 59-66 “usage analysis mod 360 checks the SUT-generated output for proper spelling and grammar … any number of usage factors”, col. 7, lines 4-6 “Performing the usage analysis in real time as SUT 305 runs permits contextual checking”, col. 9, lines 19-25 “while the application is running … sniffs every thing going out to the screen … every interval”, col. 9, lines 6-11);
in response to identifying the opportunity to present the message, selecting one or more targeted messages based on the context (col. 7, lines 15-19 “annotation mode 365 annotates the output from SUT 355”), the one or more targeted messages relating to one or more code quality issues, wherein the one or more code quality issues are associated with one or more code elements, and wherein each of the one or more code elements is associated with at least one of the one or more representations (col. 7, lines 1-3 “output elements such as graphics, containers, widgets”); and
providing, during operation of the application, the one or more targeted messages to the user computer for presentation at the user computer in real-time (col. 7, lines 15-19 “forwards the annotated output on to the original output target screed display for real-time consumption”).
Claim 2: Bareket discloses the method of claim 1, wherein analyzing the information on the application comprises detecting textual content; and
analyzing the textual content to identify the one or more quality issues associated with the textual content, wherein the opportunity to present the message is identified based at least in part on the one or more code quality issues (e.g. col. 6, lines 59-67 “spelling, grammar, punctuation, style”).
Claim 4: Bareket discloses the method of claim 1, wherein analyzing the information on the application comprises:
detecting textual content (col. 6, lines 35-38 “receives textual output”); and
analyzing the textual content to identify the one or more code quality issues associated with the textual content, wherein the one or more targeted messages are selected based at least in part on the one or more quality issues (e.g. col. 6, lines 59-67 “spelling, grammar, punctuation, style”).
Claim 5: Bareket discloses the method of claim 1, wherein analyzing the information on the application comprises:
detecting the one or more code elements (col. 6, line 67-col. 7, line 3 “output elements, such as graphics, containers, widgets, and so forth”); and
analyzing the one or more code elements to identify the one or more code quality issues associated with the one or more code elements, wherein the one or more targeted messages are selected based at least in part on the one or more code quality issues (col. 7, lines 4-6 “Performing the usage analysis in real time as SUT 305 runs permits contextual checking”).
Claim 6: Bareket discloses the method of claim 1, further comprising recording usage information associated with one or more of the application or the user computer, wherein analyzing the information on the application comprises analyzing the usage information with the information on the application to identify the opportunity to present the message based at least in part on the usage information (par. 6, lines 59-61 “usage analysis”).
Claim 7: Bareket discloses the method of claim 1, further comprising recording usage information associated with one or more of the application or the user computer, wherein selecting the one or more targeted messages comprises analyzing the usage information to select the one or more targeted messages based at least in part on the usage information (par. 6, lines 59-61 “usage analysis”).
Claim 8: Bareket discloses the method of claim 1, further comprising obtaining profile information associated with a user of the user computer, wherein analyzing the information on the application comprises analyzing the profile information with the information on the application to identify the opportunity to present the message based at least in part on the profile information (col. 7, lines 10-14 “the user, who previously entered the name ‘Mike’ when prompted for a username … identify this usage error”).
Claim 9: Bareket discloses the method of claim 1, further comprising obtaining profile information associated with a user of the user computer, wherein selecting the one or more targeted messages comprises analyzing the profile information to select the one or more targeted messages based at least in part on the profile information (col. 7, lines 10-14 “the user, who previously entered the name ‘Mike’ when prompted for a username … identify this usage error”).
Claim Rejections - 35 USC § 103
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 (i.e., changing from AIA to pre-AIA ) 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.
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, 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.
Claim(s) 10-14 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 9,514,032 to Bareket et al. (Bareket) in view of US 2024/0004782 to Guo (Guo).
Claim 10: Bareket discloses a method for presenting a targeted message, the method comprising:
establishing communications with a user interface to obtain one or more representations of input received and output provided at the user interface (col. 6, lines 35-40 “as software-under-test (SUT) 305 executes … receives textual output dynamically generated by SUT 305”);
analyzing, in real-time during operation of the user interface, the one or more representations to identify one or more code elements and a context associated with the user interface or associated with a user computer (col. 6, lines 59-66 “usage analysis mod 360 checks the SUT-generated output for proper spelling and grammar … any number of usage factors”, col. 7, lines 4-6 “Performing the usage analysis in real time as SUT 305 runs permits contextual checking”);
analyzing the one or more code elements to identify one or more code quality issues associated with the one or more code elements (col. 7, lines 15-19 “annotation mode 365 annotates the output from SUT 355”);
in response to identifying the one or more code quality issues, selecting one or more targeted messages based at least in part on the one or more code quality issues and the context (col. 7, lines 15-19 “annotation mode 365 annotates the output from SUT 355”); and
providing, during operation of the user interface, the one or more targeted messages to the user interface (col. 7, lines 15-19 “forwards the annotated output on to the original output target screed display for real-time consumption”).
Bareket does not explicitly disclose:
the one or more code quality issues include at least one of a code bug, a code vulnerability, or a code smell.
Guo teaches:
analyzing one or more code elements to identify at least one of a code bug, a code vulnerability, or a code smell (par. [0035] “identify at least one bug in the real-time GUI code”).
It would have been obvious before the effective filing date of the claimed invention to identify at least one of a code bug, a code vulnerability, or code smell. Those of ordinary skill in the art would have been motivated to do so to allow for a more robust debugging process (i.e. identifying additional issues with the code).
Claim 11: Bareket discloses claim 10, wherein analyzing the one or more code elements comprises determining whether the one or more code elements are compliant with a style guide, wherein the one or more code quality issues are identified on condition that the one or more code elements are not compliant with the style guide (col. 6, lines61-67 “style”).
Claim 12: Bareket and Guo teach claim 10, wherein analyzing the one or more representations comprises generating usage information, wherein the one or more code quality issues are identified based at least in part on the usage information (par. 6, lines 59-61 “usage analysis”).
Claim 13: Bareket and Guo teach claim 10, wherein analyzing the one or more representations comprises generating usage information, wherein the one or more targeted messages are selected based at least in part on the usage information (par. 6, lines 59-61 “usage analysis”).
Claim 14: Bareket and Guo teach claim 10, further comprising obtaining profile information associated with a user associated with the user interface, wherein the one or more code quality issues are identified based at least in part on the profile information (col. 7, lines 10-14 “the user, who previously entered the name ‘Mike’ when prompted for a username … identify this usage error”).
Claim(s) 16-20 is/are rejected under 35 U.S.C. 103 as being unpatentable over US 9,514,032 to Bareket et al. (Bareket) in view of US 2024/0004782 to Guo (Guo) in view of US 2020/0327005 to Singh (Singh).
Claim 16: Bareket discloses a system comprising:
a processor; and
a computer-readable memory comprising one or more instructions for causing the processor to:
establish communications with a user interface to obtain, from the user interface, one or more representations of input received and output provided at the user interface (col. 6, lines 35-40 “as software-under-test (SUT) 305 executes … receives textual output dynamically generated by SUT 305”);
analyze, in real-time during operation of the user interface, the one or more representations to identify one or more code elements and a context associated with the user interface or associated with a user computer (col. 6, lines 59-66 “usage analysis mod 360 checks the SUT-generated output for proper spelling and grammar … any number of usage factors”, col. 7, lines 4-6 “Performing the usage analysis in real time as SUT 305 runs permits contextual checking”);
analyze the one or more code elements to identify one or more code quality issues associated with the one or more code elements (col. 7, lines 15-19 “annotation mode 365 annotates the output from SUT 355”);
in response to identifying the one or more code quality issues, select one or more targeted messages based at least in part on the one or more code quality issues and the context; and
provide, during operation of the user interface, the one or more targeted messages to the user interface in real-time (col. 7, lines 15-19 “annotation mode 365 annotates the output from SUT 355”).
Bareket does not disclose:
the one or more code quality issues include at least one of a code bug, a code vulnerability, or a code smell;
Guo teaches:
analyzing one or more code elements to identify at least one of a code bug, a code vulnerability, or a code smell (par. [0035] “identify at least one bug in the real-time GUI code”).
It would have been obvious before the effective filing date of the claimed invention to identify at least one of a code bug, a code vulnerability, or code smell. Those of ordinary skill in the art would have been motivated to do so to allow for a more robust debugging process (i.e. identifying additional issues with the code).
Bareket and Guo do not teach:
the one or more targeted messages configured to enable a recipient of the one or more targeted messages to automatically perform one or more operations to remediate the one or more code quality issues.
Singh teaches:
enabling a recipient to automatically perform one or more operations to remediate the one or more code quality issues (par. [0040] “the error can be automatically remediated”).
It would have been obvious before the effective filing date of the claimed invention to provide a message configured to enable a recipient to automatically perform one or more operations to remediate the issue. Those of ordinary skill in the art would have been motivated to do so to reduce the developer burden in fixing such bugs.
Claim 17: Bareket, Guo and Singh teach claim 16, wherein the one or more instructions further cause the processor to determine whether the one or more code elements are compliant with a style guide, wherein the one or more code quality issues are identified on condition that the one or more code elements are not compliant with the style guide (col. 6, lines61-67 “style”).
Claim 18: Bareket, Guo and Singh teach claim 16, wherein the one or more instructions further cause the processor to generate usage information, wherein the one or more code quality issues are identified based at least in part on the usage information (par. 6, lines 59-61 “usage analysis”).
Claim 19: Bareket, Guo and Singh teach claim 16, wherein the one or more instructions further cause the processor to generate usage information, wherein the one or more targeted messages are selected based at least in part on the usage information (par. 6, lines 59-61 “usage analysis”).
Claim 20: Bareket, Guo and Singh teach claim 16, wherein the one or more instructions further cause the processor to obtain profile information associated with a user associated with the user interface, wherein the one or more code quality issues are identified based at least in part on the profile information (col. 7, lines 10-14 “the user, who previously entered the name ‘Mike’ when prompted for a username … identify this usage error”).
Conclusion
Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JASON D MITCHELL whose telephone number is (571)272-3728. The examiner can normally be reached Monday through Thursday 7:00am - 4:30pm and alternate Fridays 7:00am 3:30pm.
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.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Lewis Bullock can be reached at (571)272-3759. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Jason D Mitchell/Primary Examiner, Art Unit 2199