Search

US-12619517-B2 - Artificial intelligence-assisted troubleshooting for application development tools

US12619517B2US 12619517 B2US12619517 B2US 12619517B2US-12619517-B2

Abstract

Systems and methods described herein relate to automated troubleshooting for application development tools. First data comprise a plurality of delta objects and a user query. The plurality of delta objects identify design-time changes made to an application using a development tool. The user query is received via a user interface and relates to at least one of the design-time changes. The first data is preprocessed to obtain second data. The preprocessing of the first data includes modifying a subset of the first data and adding one or more predetermined instructions to the first data. The second data is provided to a machine learning model to obtain a response to the user query. Output indicative of the response is caused to be presented in the user interface.

Inventors

  • Vitor Eduardo Seifert Bazzo

Assignees

  • SAP SE

Dates

Publication Date
20260505
Application Date
20231101

Claims (20)

  1. 1 . A system comprising: at least one memory that stores instructions; and one or more processors configured by the instructions to perform operations comprising: accessing first data comprising a plurality of delta objects and a user query, the plurality of delta objects identifying design-time changes made to an application using a development tool, and the user query having been received via a user interface and relating to at least one of the design-time changes; preprocessing the first data to obtain second data, the preprocessing of the first data comprising modifying a subset of the first data and adding one or more predetermined instructions to the first data, and modifying the subset of the first data comprises identifying the design-time changes that are successfully persisted and the design-time changes that are successfully reverted; providing the second data to a machine learning model to obtain a response to the user query, the response comprising an identification of the design-time changes that are successfully persisted and the design-time changes that are successfully reverted; and causing presentation, in the user interface, of output indicative of the response.
  2. 2 . The system of claim 1 , wherein the design-time changes comprise changes made to a user interface layer of the application, the user interface layer is based on a template supported by the development tool, and each delta object tracks one or more of the design-time changes relative to the template and any earlier delta objects related to the delta object.
  3. 3 . The system of claim 1 , wherein the modifying of the subset of the first data reduces an overall token size thereof.
  4. 4 . The system of claim 1 , wherein the modifying of the subset of the first data comprises: replacing original data items in the first data with alternative data items.
  5. 5 . The system of claim 4 , wherein the replacing of the original data items in the first data with alternative data items results in de-identification of the first data, the operations further comprising: postprocessing the response from the machine learning model to obtain the output for presentation in the user interface, the postprocessing comprising performing re-identification by replacing one or more alternative data items included in the response from the machine learning model with one or more corresponding original data items from the first data.
  6. 6 . The system of claim 4 , wherein the alternative data items comprise placeholder data items that reduce an overall token size of the first data.
  7. 7 . The system of claim 6 , the operations further comprising: postprocessing the response from the machine learning model to obtain the output for presentation in the user interface, the postprocessing comprising replacing one or more placeholder data items included in the response from the machine learning model with one or more corresponding original data items from the first data.
  8. 8 . The system of claim 1 , wherein the one or more predetermined instructions comprise at least one of: contextual information relating to the plurality of delta objects, contextual information relating to the application, a task specification, a role assigned to the machine learning model, a prescribed output format for the response, or one or more output constraints.
  9. 9 . The system of claim 1 , wherein the response from the machine learning model is a natural language response in an unstructured format, and the operations further comprise: postprocessing the response from the machine learning model to obtain the output for presentation in the user interface, the postprocessing comprising converting the response from the unstructured format to a structured format.
  10. 10 . The system of claim 1 , wherein the preprocessing comprises: retrieving runtime data for the subset of the first data, the runtime data indicating the design-time changes that are successfully applied and the design-time changes that are unsuccessfully applied; retrieving reversion data for the subset of the first data, the reversion data indicating the design-time changes that are successfully reverted and the design-time changes that are unsuccessfully reverted, and including the runtime data and the reversion data in the second data, wherein identifying the design-time changes that are successfully persisted and the design-time changes that are successfully reverted is based on the runtime data and the reversion data.
  11. 11 . The system of claim 1 , wherein each of the plurality of delta objects is stored in a respective change file that describes one or more of the design-time changes.
  12. 12 . The system of claim 1 , the operations further comprising: identifying an application context associated with the application; and selecting, based on the application context, the plurality of delta objects from a larger set of delta objects for inclusion in the first data.
  13. 13 . The system of claim 1 , wherein the user interface comprises a troubleshooting interface of the development tool, the operations further comprising: causing the troubleshooting interface to be presented at a user device; and receiving the user query via the troubleshooting interface presented at the user device.
  14. 14 . The system of claim 1 , wherein the machine learning model comprises a large language model (LLM), the user query is a natural language query, and the one or more predetermined instructions comprise natural language instructions.
  15. 15 . A method comprising: accessing first data comprising a plurality of delta objects and a user query, the plurality of delta objects identifying design-time changes made to an application using a development tool, and the user query having been received via a user interface and relating to at least one of the design-time changes; preprocessing the first data to obtain second data, the preprocessing of the first data comprising modifying a subset of the first data and adding one or more predetermined instructions to the first data, and modifying the subset of the first data comprises identifying the design-time changes that are successfully persisted and the design-time changes that are successfully reverted; providing the second data to a machine learning model to obtain a response to the user query, the response comprising an identification of the design-time changes that are successfully persisted and the design-time changes that are successfully reverted; and causing presentation, in the user interface, of output indicative of the response.
  16. 16 . The method of claim 15 , wherein the design-time changes comprise changes made to a user interface layer of the application, the user interface layer is based on a template supported by the development tool, and each delta object tracks one or more of the design-time changes relative to the template and any earlier delta objects related to the delta object.
  17. 17 . The method of claim 15 , wherein the modifying of the subset of the first data reduces an overall token size thereof.
  18. 18 . A non-transitory computer-readable medium that stores instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: accessing first data comprising a plurality of delta objects and a user query, the plurality of delta objects identifying design-time changes made to an application using a development tool, and the user query having been received via a user interface and relating to at least one of the design-time changes; preprocessing the first data to obtain second data, the preprocessing of the first data comprising modifying a subset of the first data and adding one or more predetermined instructions to the first data, and modifying the subset of the first data comprises identifying the design-time changes that are successfully persisted and the design-time changes that are successfully reverted; providing the second data to a machine learning model to obtain a response to the user query, the response comprising an identification of the design-time changes that are successfully persisted and the design-time changes that are successfully reverted; and causing presentation, in the user interface, of output indicative of the response.
  19. 19 . The non-transitory computer-readable medium of claim 18 , wherein the design-time changes comprise changes made to a user interface layer of the application, the user interface layer is based on a template supported by the development tool, and each delta object tracks one or more of the design-time changes relative to the template and any earlier delta objects related to the delta object.
  20. 20 . The non-transitory computer-readable medium of claim 18 , wherein the modifying of the subset of the first data reduces an overall token size thereof.

Description

TECHNICAL FIELD The subject matter disclosed herein generally relates to systems and methods for troubleshooting in the context of an application development tool. More specifically, examples described herein relate to artificial intelligence-assisted troubleshooting with respect to design-time changes made to a software application using an application development tool. BACKGROUND Various application development tools exist. Some application development tools track design-time changes made to a software application by generating and storing change files. A change file may describe a specific change made relative to a template version, or base version, of the application and previous change files. For example, when a user makes a change to the design of a user interface using a development tool, such as SAPUI5™, the change is recorded in a change file that has a standardized structure and format (e.g., a JSON (JavaScript Object Notation) file is stored to indicate that “Button A” was renamed from “START” to “GO”). Over time, applications can accumulate large numbers (e.g., hundreds) of change files. When a problem occurs, a troubleshooting process may involve reviewing these change files to identify root causes or other potential issues to be addressed. For example, a support user may need to locate a design-time change that was not correctly applied in the application and is causing runtime errors. However, analyzing such change files may be time-consuming or error-prone, and the existence of dependences or interrelations between the change files may increase the complexity of the task. BRIEF DESCRIPTION OF THE DRAWINGS Some examples are shown for purposes of illustration and not limitation in the figures of the accompanying drawings. In the drawings, which are not necessarily drawn to scale, like numerals may describe similar components in different views or examples. To identify the discussion of any particular element or act more easily, the most significant digit or digits in a reference number refer to the figure number in which that element is first introduced. FIG. 1 is a diagrammatic representation of a network environment that includes a development tool and a troubleshooting system suitable for use with the development tool, according to some examples. FIG. 2 is a block diagram of certain components of a troubleshooting system, according to some examples. FIG. 3 is a flowchart illustrating operations of a method suitable for processing a user query related to one or more changes made to an application, and providing a response to the user query, according to some examples. FIG. 4 is a swim lane flowchart illustrating operations respectively performed by a user device, a troubleshooting system, and an external server in a method suitable for processing a user query related to one or more changes made to an application, and providing a response to the user query, according to some examples. FIG. 5 is a user interface diagram illustrating a troubleshooting interface presented at a user device during a first stage, according to some examples. FIG. 6 is a user interface diagram illustrating the troubleshooting interface of FIG. 5 during a second stage, according to some examples. FIG. 7 diagrammatically illustrates training and use of a machine learning program, according to some examples. FIG. 8 is a block diagram showing a software architecture for a computing device, according to some examples. FIG. 9 is a block diagram of a machine in the form of a computer system, according to some examples, within which instructions may be executed for causing the machine to perform any one or more of the methodologies discussed herein. DETAILED DESCRIPTION Systems and methods described herein leverage artificial intelligence (AI) technology to provide a troubleshooting tool for user support in the context of application development. As used herein, the term “application development tool,” or simply “development tool,” refers to a software platform or framework that provides capabilities, features, or functionality to design, create, modify, edit, and configure applications, or parts of applications (such as user interface layers of applications). A development tool may offer templates or other reusable components that can be selected by users to simplify development, save time, or facilitate standardization or uniformity. While templates can be used as-is, it is often desirable to make certain changes to a template before proceeding to production. For example, a development tool may provide various user interface templates. A user can select one of the templates and then adjust aspects thereof, such as its layout, style, colors, text, buttons, or spacings. The user may also wish to add additional elements to or remove elements from the template. These adjustments can be referred to as design-time changes. It is noted that such changes may be made by different types of users, such as a developer (e.g., a develop