Software development assembly line problem repairing method and device and computer equipment

Through large models and big data technology, the reasons for the compilation failure of software development pipelines are analyzed and automatically repaired, which solves the problems of slow response and high labor maintenance costs in traditional pipelines, and achieves efficient fault detection and repair.

CN119127199AInactive Publication Date: 2024-12-13SINOLINK SECURITIES CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202410466194.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-04-18
Publication Date
2024-12-13
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Traditional software development pipelines have problems such as slow response, long time, many human errors and high human maintenance costs. Especially in the context of the development of large models and big data technology, an automated fault prediction, detection, response and repair method is needed to improve the Work efficiency.

Method used

Using software development pipeline problem repair method based on big models and big data, obtain pending code text, perform code compilation, analyze the reasons for compilation failure, automatically repair and optimize the code until the compilation is successful, use the big model to identify the cause of failure and apply the repair Policy, including restarting services, rolling back deployment and other operations.

Benefits of technology

It significantly improves the problem repair efficiency of the software development pipeline, reduces human errors and maintenance costs, and improves the accuracy and efficiency of automated fault detection and repair.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119127199A_ABST
    Figure CN119127199A_ABST
Patent Text Reader

Abstract

The invention relates to a software development assembly line problem repairing method and device and computer equipment, and relates to the technical field of artificial intelligence, in particular to the technical field of large models, big data and the like. The software development assembly line problem repairing method based on the large model comprises the steps that a to-be-processed code text is obtained, and code compiling is conducted on the to-be-processed code text based on a software development assembly line; in response to the fact that the code compiling result of the software development assembly line is execution failure, triggering the large model to analyze the reason of execution failure of the software development assembly line; and repairing the to-be-processed code based on the obtained cause of the execution failure, and continuing to perform code compiling on the repaired to-be-processed code text based on the software development pipeline until the software development pipeline successfully performs code compiling on the to-be-processed code text. According to the method, the assembly line problem can be identified and repaired based on the assistance of the AI large model, and the problem repairing accuracy and efficiency are greatly improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of artificial intelligence technology, and in particular to a method, device and computer equipment for repairing problems in a software development pipeline. Background Art

[0002] As software development projects become more complex, traditional software development pipelines have problems such as slow response, long time consumption, many human errors, and high labor maintenance costs.

[0003] With the development of artificial intelligence technology, technologies such as big models and big data are becoming more and more important, and are playing an increasingly important role in all walks of life. Therefore, there is a need for a method that can automatically predict, detect, automatically respond to and repair faults, and automatically optimize and improve problems in the software development pipeline based on artificial intelligence technology. Summary of the invention

[0004] Based on this, it is necessary to provide a software development pipeline problem repair method, device and computer equipment based on big models, big data and other technologies to improve the efficiency of software development pipeline operations in response to the above technical problems.

[0005] A method for repairing problems in a software development pipeline, the method comprising:

[0006] Obtaining a code text to be processed, and compiling the code text to be processed based on a software development pipeline;

[0007] In response to the result of the software development pipeline compiling the code being an execution failure, triggering the big model to analyze the cause of the software development pipeline execution failure;

[0008] The code to be processed is repaired based on the acquired reason for the execution failure, and the repaired code text to be processed continues to be compiled based on the software development pipeline until the software development pipeline successfully compiles the code text to be processed.

[0009] In some embodiments, the large model is trained based on compilation process data, and the large model is used to identify compilation failure causes and classify the identified failure causes;

[0010] The reasons for the failure of the software development pipeline execution are analyzed based on the big model, including:

[0011] Obtaining failure data generated by the software development pipeline when the code compilation and execution fails;

[0012] Based on the large model, pattern recognition is performed on the failure data to obtain failure causes and failure cause types corresponding to the recognized patterns, wherein the failure cause types include one or more of syntax errors, link errors, and dependency errors.

[0013] In some embodiments, the compilation process data includes one or more of log information, indicator information, and event information;

[0014] The analyzing the failure data based on the big model to obtain the failure cause includes:

[0015] The large model analyzes specific error information in the log information, abnormal changes in the indicator information, and event sequence relationships in the event information to determine the cause of the failure.

[0016] In some embodiments, the large model analyzes specific error information in the log information, abnormal changes in the indicator information, and event sequence relationships in the event information to determine the cause of the failure, including:

[0017] The large model performs at least one of failure pattern recognition, anomaly detection, failure type classification, context analysis, and statistical analysis on the specific error information in the log information, the abnormal changes in the indicator information, and the event sequence relationship in the event information to obtain the cause of the failure; wherein,

[0018] The pattern recognition includes: analyzing the error message pattern in the log information based on the large model, and obtaining the failure cause corresponding to the error message model by identifying the error message pattern;

[0019] The anomaly detection includes: analyzing the abnormal data in the log information based on the large model, and determining the potential cause of failure based on the abnormal data;

[0020] The failure type classification includes: classifying the error messages in the log information into different categories based on the large model, and predicting the type of failure cause based on the features corresponding to the categories;

[0021] The context analysis includes: analyzing the context information corresponding to the compilation failure based on the large model, and obtaining the failure cause based on analyzing the context information;

[0022] The statistical analysis includes: obtaining one or more of the frequency, mode and trend of compilation failure based on the analysis of historical data by a large model, and determining the failure cause corresponding to the current compilation failure based on the compilation failure data of the acquired historical data.

[0023] In some embodiments, repairing the code to be processed based on the cause of the execution failure includes:

[0024] Obtain a repair strategy corresponding to the failure cause, and automatically repair the code to be processed based on the repair strategy, wherein the repair strategy includes one or more of restarting the service, rolling back the deployment, and adjusting configuration parameters.

[0025] In some embodiments, repairing the code to be processed based on the cause of the execution failure includes:

[0026] The failure cause and the repair strategy are obtained, and the failure cause and the repair strategy are sent to a target user, and the target user repairs the code to be processed based on the failure cause and the repair strategy.

[0027] In some embodiments, the target user repairs the code to be processed based on the failure cause and the repair strategy, including:

[0028] Conducting interactive dialogue with the large model based on the interactive dialogue platform to obtain a target repair strategy;

[0029] The code to be processed is repaired based on the target repair strategy.

[0030] In some embodiments, the method further includes: training and optimizing the large model using the failure data and the repair strategy data.

[0031] A software development pipeline problem repair device, the device comprising:

[0032] An acquisition module is used to acquire the code text to be processed, and compile the code text to be processed based on the software development pipeline;

[0033] An analysis module, configured to trigger a large model to analyze a cause of the failure of the software development pipeline to execute in response to a result of the software development pipeline compiling the code failing to execute;

[0034] A repair module is used to repair the code to be processed based on the acquired reason for the execution failure, and continue to compile the repaired code text to be processed based on the software development pipeline until the software development pipeline successfully compiles the code text to be processed.

[0035] A computer device comprises a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the method described above when executing the computer program.

[0036] A computer-readable storage medium stores a computer program, which implements the steps of the method described above when executed by a processor.

[0037] The above-mentioned software development pipeline problem repair method, device, computer equipment and storage medium use AI big model to assist in software development pipeline problem repair, which greatly improves the efficiency of problem repair. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] Figure 1 A flowchart of a software development pipeline provided in one of the embodiments of the present application;

[0039] Figure 2 A flowchart of the actual execution process of the software development pipeline provided in one of the embodiments of the present application;

[0040] Figure 3 A flowchart of a method for repairing software development pipeline problems provided in one of the embodiments of the present application;

[0041] Figure 4 A structural block diagram of a software development pipeline device provided in one of the embodiments of the present application;

[0042] Figure 5 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0043] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0044] In one embodiment, Figure 1 As shown, a method for repairing software development pipeline problems is provided, comprising the following steps:

[0045] Step 101, obtaining a code text to be processed, and compiling the code text to be processed based on a software development pipeline.

[0046] The pending code may be code to be reviewed, for example, code submitted by a user after the development of the functional code is completed. In some embodiments, the user completes the development of the functional code and submits the pending code to the code hosting platform, and the code hosting platform triggers the devops pipeline to perform code compilation based on the received code submission action. Among them, code compilation includes code review actions, security scanning actions, code building actions, automated testing, and deployment environment actions.

[0047] In response to the result of the software development pipeline compiling the code being successfully executed, the entire business process is completed.

[0048] In some embodiments, if the result of the software development pipeline compiling the code is successful execution, the method also includes entering relevant logs obtained during the execution process into the log system for log collection, and performing training and optimization of the large model based on the collected logs to obtain a large model with automatic problem identification.

[0049] Step 102, in response to the result of the software development pipeline compiling the code failing to execute, triggering the large model to analyze the cause of the failure of the software development pipeline execution.

[0050] Among them, the big model is pre-trained and has the ability to analyze the cause of failure. For example, the big model can be trained based on historical execution failure data and historical execution success case data, so the trained big model is capable of identifying the cause of software development pipeline execution failure.

[0051] In some embodiments, the large model is pre-trained based on data, for example, the large model is trained based on pre-processed and feature-extracted data. During the model training process, the large model will learn the mapping relationship from input data to the cause of compilation failure, so that the trained large model has the ability to obtain the cause of failure based on the input data. During the model training process, different model architectures, hyperparameter combinations, etc. will be tried for optimization to improve the accuracy and generalization ability of the model.

[0052] In this step, the failure cause analysis can be automatically performed based on the large model, which can improve the efficiency of obtaining the failure cause. In addition, the user's participation is not required during the failure cause analysis process, which also reduces the disadvantage of relying on the user's personal experience.

[0053] Step 103, repairing the code to be processed based on the acquired reason for the execution failure, and continuing to compile the repaired code text to be processed based on the software development pipeline until the software development pipeline successfully compiles the code text to be processed.

[0054] In some embodiments, repairing the code to be processed based on the acquired cause of the execution failure includes: acquiring a repair strategy corresponding to the cause of the execution failure, and repairing the code based on the repair strategy.

[0055] In some embodiments, the cause of the execution failure corresponds to the repair strategy. Generally speaking, each failure cause corresponds to a repair strategy, or multiple different failure causes correspond to the same failure strategy.

[0056] In some embodiments, the pre-trained large model has the functions of identification and classification. Specifically, the large model can classify the reasons for compilation failure into different categories, such as syntax errors, link errors, dependency issues, and other failure reason categories.

[0057] In the specific implementation process, the big model can analyze the error message patterns in the compilation log, such as the common error types reported by a specific compiler. By identifying these patterns, the big model can infer the failure causes associated with specific error messages. In this way, the big model can classify the error messages in the compilation log into different failure cause categories and predict the failure cause based on the characteristics of each failure cause category.

[0058] Large models generally output a repair plan through a context input, and perform repairs based on the repair plan. After the repair is completed, they will retry. If the retry fails, a new round of repair plans will be generated based on the error information obtained.

[0059] In some embodiments, if the large model cannot determine the cause of failure based on the currently obtained data, further human-computer interaction can be performed to continue to obtain information from the user end. The large model further analyzes the cause of failure based on the obtained information to obtain the cause of failure.

[0060] After locating the cause of the failure and repairing it, continue to submit the code to the code hosting platform, and continue to compile the repaired code through the DevOps pipeline. If the execution result obtained at this time is successful, it means that the big model has successfully repaired the code, and the execution of this business process is completed. If the execution result obtained at this time is still an execution failure, then it is necessary to continue to analyze the cause of the code failure and formulate a failure strategy based on the big model, and continue to repair the code based on the failure strategy until the repaired code is executed by the DevOps pipeline. This step involves a loop logic, which determines whether to proceed to the next round of loop based on whether the software development pipeline successfully processes the code.

[0061] In some embodiments, the big model analyzes the reason for the failure of the software development pipeline, including: obtaining failure data generated by the software development pipeline for the failure of code compilation and execution; and analyzing the failure data based on the big model to obtain the cause of the failure.

[0062] For example, when a stage or task in the software development pipeline fails, the software development pipeline Agent will collect relevant data generated during the failure process and input the relevant data into the pre-trained AI big model. The AI ​​big model will analyze the relevant failure data to obtain the cause of the failure.

[0063] In some embodiments, the failure data includes one or more of log information, indicator information, and event information; the analysis of the failure data based on the big model to obtain the cause of failure includes: the big model analyzes specific error information in the log information, abnormal changes in the indicator information, and event sequence relationships in the event information to determine the cause of failure.

[0064] In some embodiments, there is a stage in the software development pipeline that executes code compilation. When the compilation task fails, the cause of the failure can be determined through the pre-trained AI large model, and a repair strategy can be determined, and the failure can be repaired based on the repair strategy.

[0065] In some embodiments, the large model analyzes the specific error information in the log information, the abnormal changes in the indicator information, and the event sequence relationship in the event information to determine the cause of failure, including: the large model performs at least one of failure pattern recognition, anomaly detection, failure type classification, context analysis, and statistical analysis on the specific error information in the log information, the abnormal changes in the indicator information, and the event sequence relationship in the event information to obtain the cause of failure; wherein the pattern recognition includes: analyzing the error message pattern in the log information based on the large model, and obtaining the failure cause corresponding to the error message model by identifying the error message pattern; the anomaly detection includes: analyzing the abnormal data in the log information based on the large model, and determining the potential cause of failure based on the abnormal data; the failure type classification includes: dividing the error messages in the log information into different categories based on the large model, and predicting the type of failure cause based on the characteristics corresponding to the category; the context analysis includes: analyzing the context information corresponding to the compilation failure based on the large model, and obtaining the failure cause based on the analysis of the context information; the statistical analysis includes: obtaining one or more of the frequency, pattern and trend of compilation failure based on the analysis of historical data by the large model, and determining the failure cause corresponding to this compilation failure based on the compilation failure data of the acquired historical data.

[0066] Specifically, the steps of identifying the causes of failure and repairing failures in the software development pipeline based on the AI ​​big model include:

[0067] (1) Data collection and preprocessing. The agent collects data related to compilation failures, including compilation logs, code files, compilation commands, etc. This data may include error messages, warnings, compilation time, and other information during the compilation process. The agent preprocesses this data, such as extracting keywords and cleaning up useless information, for subsequent processing. Next, feature extraction is performed to extract keywords from the compilation log, such as error type, compiler output, file path, etc.

[0068] (2) Analyze patterns in the compilation log, such as common compilation error message patterns or exception stack trace patterns.

[0069] (3) Extract indicators related to compilation tasks, such as compilation time, memory usage, etc.

[0070] (4) Finally, inference and prediction are performed. When new compilation failure data is input into the trained AI model, the model will perform inference and prediction. The model will predict the most likely cause of compilation failure based on the input compilation log, indicator information, etc. This can involve pattern matching, anomaly detection, classification and other technologies to determine the specific cause of failure.

[0071] The inference and prediction steps include:

[0072] a) Pattern recognition. The model analyzes error message patterns in the compilation log, such as common types of errors reported by a specific compiler. By identifying these patterns, the model can infer the cause of failure associated with a specific error message.

[0073] b) Anomaly detection. If there are anomalies in the compilation log, such as unexpected compiler crashes or memory overflows, the model will identify them as potential causes of failure. By detecting anomalies, the model can identify anomalies in the compilation process that may cause compilation failure.

[0074] c) Classification. Classify compilation failures into different categories, such as syntax errors, link errors, dependency issues, etc. The model can classify error messages in the compilation log into different categories and predict the failure type based on the characteristics of each category.

[0075] d) Analysis. Analyze the contextual information when the compilation fails, such as recent code commits, changed files, code review results, etc. Try to find out the factors related to the compilation failure, such as compatibility issues or dependency changes that may be caused by recent code changes.

[0076] e) Statistical analysis. Combine historical data and statistical information to analyze the frequency, patterns, and trends of compilation failures. By comparing current failures with historical data, the model can determine whether there are known patterns or common problems.

[0077] For example, the AI ​​big model uses its deep learning or machine learning capabilities to analyze the data generated during the input failure process to identify the potential causes of the failure of the software development pipeline. For example, the big model may analyze specific error information in the log, abnormal changes in indicators, and the sequential relationship of events to determine the root cause of the failure.

[0078] In some embodiments, the repairing of the code to be processed based on the cause of the execution failure includes: obtaining a repair strategy corresponding to the cause of the failure, and automatically repairing the code to be processed based on the repair strategy, wherein the repair strategy includes one or more of restarting the service, rolling back the deployment, and adjusting configuration parameters.

[0079] For example, after determining the cause of a failure, the system can attempt to automatically fix the problem without human intervention. Based on the analysis results of the AI ​​big model, the system can take a variety of automated actions to try to fix the problem, such as restarting the service, rolling back the deployment, adjusting configuration parameters, etc.

[0080] In some embodiments, before performing a repair operation, the system may perform some pre-processing steps, such as backing up the current state or suspending related services, to ensure the safety and reliability of the repair operation.

[0081] In some embodiments, repairing the code to be processed based on the cause of the execution failure includes: obtaining the failure cause and the repair strategy, and sending the failure cause and the repair strategy to a target user, and the target user repairs the code to be processed based on the failure cause and the repair strategy.

[0082] In some embodiments, the code to be processed can also be repaired based on the user. For example, when the large model cannot complete the repair, the user can be notified to repair it. Alternatively, after the large model analyzes the cause of the failure, it sends the cause of the failure to the target user, and the target user finally confirms whether to perform the repair. In this way, the cause of the failure is located with the assistance of the large model, and the obtained information is sent to the target user, so that the dependence on the user is reduced, and the efficiency of handling problems can be improved. In addition, the final execution link is checked by the user, which can also improve the accuracy of the repair and prevent the hidden dangers that may be caused by the automated process.

[0083] In some embodiments, the large model can perform repairs in the form of enumeration, for example, defining several types of problems in advance, such as code errors, test failures, etc.

[0084] In some embodiments, when the automatic repair performed by the big model fails, the user can also be notified to repair the problem. The agent calls the big model to analyze the specific error information in the log, the abnormal changes of indicators, and the order of events to determine the root cause of the failure. The agent will then trigger the notification system to send a notification to the user, including but not limited to the location of the failure, the specific cause, and the repair measures recommended by the AI ​​model, so that the user can quickly understand the severity of the problem and take appropriate repair actions.

[0085] For example, in a specific implementation, the pipeline agent will return the failure reasons fed back by the large model and the repair strategies corresponding to each failure reason to the pipeline log, and send a notification to the pipeline creator (for example, the code submitter), informing the user to manually repair the code problem and resubmit the code execution pipeline based on the repaired code.

[0086] In some embodiments, the target user repairs the code to be processed based on the failure cause and the repair strategy, including: interacting with the large model based on an interactive dialogue platform to obtain a target repair strategy; and repairing the code to be processed based on the target repair strategy.

[0087] In some embodiments, the interpreter executor agent can be used to assist the user in fixing the problem. For example, when the software development pipeline fails to execute, the software development pipeline agent will collect relevant log data and send the log data to the interpreter executor agent for parsing. At the same time, the software development pipeline agent will send a notification to the user, and the notification content includes the location of the failure, the specific cause, and the repair strategy recommended by the AI ​​large model, as well as the link to the interactive query interface of the interpreter executor agent. The user can click the link in the notification to enter the interactive query interface, and the user can enter relevant questions or keywords to interact with the interpreter executor agent to obtain explanations and suggestions related to the failure. Furthermore, the user can also ask questions to the interpreter executor agent, such as "What is the reason for the failure of the pipeline?", "How to fix this problem?", etc., and the executor agent will return relevant explanations and suggestions. Based on the analysis and understanding of the log data, as well as the user's queries and questions, the interpreter executor agent can provide relevant repair strategies or repair suggestions.

[0088] In some embodiments, the repair suggestions may include operations such as restarting services, modifying configurations, updating dependencies, etc. to resolve the problem of software development pipeline execution failure.

[0089] The user evaluates whether to execute the suggested command based on the repair suggestion provided by the executor agent, or chooses to continue the interactive dialogue to find a more appropriate execution suggestion. If the user evaluates that the repair suggestion can be executed, he directly enters the execution "repair instruction" in the interactive query interface. The interpreter executor agent will automatically execute the repair instruction to fix the problem through the large model capability. After the repair is completed and the user confirms that the repair is successful, the user notifies the software development pipeline agent through the interpreter executor agent to retry the pipeline to reprocess the received code.

[0090] See Figure 2, which is a schematic diagram of the principle of an interpreter executor Agent provided in one embodiment. In terms of command execution, the interpreter executor Agent is usually used to process and interpret natural language commands input by users, rather than directly executing commands of the computer operating system. The following is a detailed description of the interpreter executor Agent in terms of command execution:

[0091] Natural language interpretation: The interpreter agent receives natural language commands input by the user, such as "open a folder", "create a new file", "search for related documents", etc. It uses natural language processing technology to parse and understand the commands input by the user, and identify the key parts and meanings of the commands. Command conversion: The interpreter agent converts the natural language commands input by the user into a command format that the computer can understand and execute. It usually involves converting natural language commands into the calling method of the corresponding computer program or script, such as calling the command line tool provided by the operating system, calling the API interface of a specific software, etc. Operation execution: After converting the natural language command into a command executable by the computer, the interpreter agent performs the corresponding operation. It may call the command line tool of the operating system to perform specific system operations, such as creating, moving, copying files, etc., or it may call the API interface of the software to perform specific application operations, such as searching, filtering, converting data, etc. Error handling: In the process of executing commands, the interpreter agent may encounter errors or abnormal situations, such as unclear commands entered by the user, commands that cannot be converted into executable commands, etc. The interpreter agent needs to perform appropriate error handling and exception handling, and provide users with prompts and suggestions about errors to help them understand the problem and make corresponding corrections. Interactive feedback: The interpreter agent provides an interactive feedback mechanism to show users information such as the results of command execution, the progress of the operation, and possible next steps.

[0092] This can help users understand the execution of commands and provide real-time feedback and guidance so that users can make further decisions or actions.

[0093] In general, the work of the interpreter executor Agent in command execution is mainly focused on interpreting and executing the natural language commands entered by the user, parsing and converting the commands through natural language processing technology, and calling the corresponding computer operating system or application program interface to perform the corresponding operations.

[0094] In some embodiments, continuous learning and improvement are also included. The interpreter agent can continuously learn and improve its interpretations and suggestions, and improve its accuracy and practicality in fixing problems in the software development pipeline by analyzing historical data and administrator feedback. Machine learning technology can also be used to model log data and administrator queries, and the model can be updated and optimized based on continuous feedback information.

[0095] In the above embodiment, using the interpreter executor Agent to assist the user in repairing pipeline problems can provide intelligent text analysis and interpretation, help the user understand and solve pipeline failure problems more quickly, and improve the reliability and stability of the system.

[0096] In some embodiments, the method further includes: training and optimizing the large model using the failure data and the repair strategy data.

[0097] For example, during the implementation of automated repairs, the system will continuously collect data and feed it back to the AI ​​big model for continuous learning and improvement. By continuously analyzing failure cases and repair results, the AI ​​big model can gradually improve its accuracy and reliability, thereby better coping with future pipeline failures.

[0098] like Figure 3 , which is a flow chart of a method for repairing software development pipeline problems provided in one of the embodiments of the present application.

[0099] The developer (user) modifies the submitted code (code to be processed), triggering GitlabPipline (software development pipeline) to process the code. Determine whether the software development pipeline executes the code successfully. If the execution is successful, the entire process ends. If the software development pipeline fails, call the pre-trained AI big model to analyze the failure reason of the software development pipeline execution. At this time, it is necessary to further determine whether administrator intervention is required. If it is determined that administrator intervention is not required (only ordinary developers need to intervene), the AI ​​big model can provide repair suggestions and write them back to the GitlabPipline log. Developers can manually repair by checking the repair suggestions in the Pipline log. If it is determined that administrator intervention is required (this may be a problem that ordinary developers cannot solve), it is necessary to send the software development pipeline failure log and the repair suggestion link provided by the AI ​​big model to the administrator, and display a prompt in the Pipline that the administrator has intervened. The administrator can click the link to conduct real-time conversation processing with the big model to handle exceptions. After the exception is handled, continue to execute the cycle step of reprocessing the code through the software development pipeline.

[0100] Specifically, if the software development pipeline fails to build, the AI ​​big model is called to analyze the cause of the failure and determine whether administrator intervention is required. If administrator intervention is required, a relevant notification is sent to the corresponding administrator. The administrator clicks the notification link and communicates with the AI ​​big model in real time to handle the exception. If the exception is repaired, it is rebuilt. If it is determined that administrator intervention is not required, the AI ​​big model will give the user repair suggestions. The user repairs the exception based on the suggestions. If the exception is repaired, it is rebuilt. In this process, the code is processed through the collaboration of the user, administrator, and AI big model. Different steps are adapted to different scenarios to ensure efficient and accurate processing of the code.

[0101] According to the survey, the total number of pipeline executions can reach more than 120,000 in a year, with an average failure rate of nearly 15% and an average number of failures of nearly 20,000. Among the failed tasks, tasks that require manual intervention account for nearly 50%, and nearly 10,000 pipelines require manual intervention. Based on the current three-person support, each person needs to handle more than a dozen failed pipelines per day, and the average pipeline execution failure repair time is more than half an hour.

[0102] The advantages and benefits of using pipeline AI to assist DevOps include but are not limited to: It can reduce human errors. AIops can reduce the occurrence of human errors because it can make fact-based decisions through data and algorithms, reduce dependence on personnel, and thus reduce problems caused by human operations. Automated recovery and optimization. Once a problem is found, AIops can automatically perform predefined recovery actions and even try to automatically repair certain types of problems. In addition, AIops can dynamically optimize the pipeline based on real-time data to improve efficiency and stability. Automated fault detection and diagnosis. AIops can quickly detect anomalies and identify possible problems in the pipeline. By analyzing historical data and patterns, AIops can automatically identify common types of failures and help the team quickly locate the root cause of the problem. Improve productivity and efficiency. Through automated pipeline repair and optimization, AIops can improve the productivity of the team. It can respond to problems quickly, reduce fault repair time, and allow the team to focus more on other important tasks. Data-driven decision-making. AIops uses big data and analytical technology to provide decision support, helping the team make decisions based on data and patterns, so as to more effectively manage the GitLab pipeline repair process.

[0103] It should be understood that, although the steps in the flowchart of the accompanying drawings are displayed in sequence as indicated by the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order restriction on the execution of these steps, and these steps can be executed in other orders. Moreover, at least a portion of the steps in the accompanying drawings may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least a portion of the steps or stages in other steps.

[0104] In one embodiment, Figure 4 As shown, a software development pipeline problem repair device is provided, the device comprising:

[0105] An acquisition module is used to acquire the code text to be processed, and compile the code text to be processed based on the software development pipeline;

[0106] An analysis module, configured to trigger a large model to analyze a cause of the failure of the software development pipeline to execute in response to a result of the software development pipeline compiling the code failing to execute;

[0107] A repair module is used to repair the code to be processed based on the acquired reason for the execution failure, and continue to compile the repaired code text to be processed based on the software development pipeline until the software development pipeline successfully compiles the code text to be processed.

[0108] For the specific definition of the software development pipeline problem repair device, please refer to the definition of the software development pipeline problem repair method above, which will not be repeated here. Each module in the above-mentioned software development pipeline problem repair device can be implemented in whole or in part by software, hardware and their combination. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.

[0109] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 5 As shown. The computer device includes a processor, a memory and a network interface connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data related to the pipeline execution process. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a method for repairing software development pipeline problems is implemented.

[0110] Those skilled in the art will understand that Figure 5 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0111] In one embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above-mentioned method embodiments when executing the computer program.

[0112] In one embodiment, a computer-readable storage medium is provided, storing a computer program, which implements the steps in the above method embodiments when executed by a processor.

[0113] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory or optical memory, etc. Volatile memory can include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).

[0114] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0115] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.

Claims

1. A method for repairing problems in a software development pipeline, characterized in that: The method comprises: Obtaining a code text to be processed, and compiling the code text to be processed based on a software development pipeline; In response to the result of the software development pipeline compiling the code being an execution failure, triggering the big model to analyze the cause of the software development pipeline execution failure; The code to be processed is repaired based on the acquired reason for the execution failure, and the repaired code text to be processed continues to be compiled based on the software development pipeline until the software development pipeline successfully compiles the code text to be processed.

2. The method according to claim 1, characterized in that The large model is trained based on compilation process data, and is used to identify compilation failure causes and classify the identified failure causes; The reasons for the failure of the software development pipeline execution are analyzed based on the big model, including: Obtaining failure data generated by the software development pipeline when the code compilation and execution fails; Based on the large model, pattern recognition is performed on the failure data to obtain failure causes and failure cause types corresponding to the recognized patterns, wherein the failure cause types include one or more of syntax errors, link errors, and dependency errors.

3. The method according to claim 2, characterized in that The compilation process data includes one or more of log information, indicator information and event information; The analyzing the failure data based on the big model to obtain the failure cause includes: The large model analyzes specific error information in the log information, abnormal changes in the indicator information, and event sequence relationships in the event information to determine the cause of the failure.

4. The method according to claim 3, characterized in that The large model analyzes specific error information in the log information, abnormal changes in the indicator information, and the event sequence relationship in the event information to determine the cause of the failure, including: The large model performs at least one of failure pattern recognition, anomaly detection, failure type classification, context analysis, and statistical analysis on the specific error information in the log information, the abnormal changes in the indicator information, and the event sequence relationship in the event information to obtain the cause of the failure; wherein, The pattern recognition includes: analyzing the error message pattern in the log information based on the large model, and obtaining the failure cause corresponding to the error message model by identifying the error message pattern; The anomaly detection includes: analyzing the abnormal data in the log information based on the large model, and determining the potential cause of failure based on the abnormal data; The failure type classification includes: classifying the error messages in the log information into different categories based on the large model, and predicting the type of failure cause based on the features corresponding to the categories; The context analysis includes: analyzing the context information corresponding to the compilation failure based on the large model, and obtaining the failure cause based on analyzing the context information; The statistical analysis includes: obtaining one or more of the frequency, mode and trend of compilation failure based on the analysis of historical data by a large model, and determining the failure cause corresponding to the current compilation failure based on the compilation failure data of the acquired historical data.

5. The method according to claim 1, characterized in that The repairing the code to be processed based on the cause of the execution failure includes: Obtain a repair strategy corresponding to the failure cause, and automatically repair the code to be processed based on the repair strategy, wherein the repair strategy includes one or more of restarting the service, rolling back the deployment, and adjusting configuration parameters.

6. The method according to claim 1, characterized in that The repairing the code to be processed based on the cause of the execution failure includes: The failure cause and the repair strategy are obtained, and the failure cause and the repair strategy are sent to a target user, and the target user repairs the code to be processed based on the failure cause and the repair strategy.

7. The method according to claim 6, characterized in that The target user repairs the code to be processed based on the failure cause and the repair strategy, including: Conducting interactive dialogue with the large model based on the interactive dialogue platform to obtain a target repair strategy; The code to be processed is repaired based on the target repair strategy.

8. The method according to any one of claims 1 to 7, characterized in that The method also includes: training and optimizing the large model using the failure data and the repair strategy data.

9. A software development pipeline problem repair device, characterized in that: The device comprises: An acquisition module is used to acquire the code text to be processed, and compile the code text to be processed based on the software development pipeline; An analysis module, configured to trigger a large model to analyze a cause of the failure of the software development pipeline to execute in response to a result of the software development pipeline compiling the code failing to execute; A repair module is used to repair the code to be processed based on the acquired reason for the execution failure, and continue to compile the repaired code text to be processed based on the software development pipeline until the software development pipeline successfully compiles the code text to be processed.

10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 8 are implemented.

Citation Information

Patent Citations

  • Compiling control method, terminal and computer readable storage medium

    CN112506515A

  • Software code automatic compiling method and device, equipment and storage medium

    CN116107589A

  • System log intelligent analysis method and device based on large language model

    CN117873979A

  • Regression analysis platform

    US20200192780A1