CN117369786A - Intelligent auxiliary method and platform for software development - Google Patents

Intelligent auxiliary method and platform for software development Download PDF

Info

Publication number
CN117369786A
CN117369786A CN202311512955.0A CN202311512955A CN117369786A CN 117369786 A CN117369786 A CN 117369786A CN 202311512955 A CN202311512955 A CN 202311512955A CN 117369786 A CN117369786 A CN 117369786A
Authority
CN
China
Prior art keywords
module
sub
code
data
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311512955.0A
Other languages
Chinese (zh)
Inventor
罗杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Univeristy of Technology
Original Assignee
Chengdu Univeristy of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Univeristy of Technology filed Critical Chengdu Univeristy of Technology
Priority to CN202311512955.0A priority Critical patent/CN117369786A/en
Publication of CN117369786A publication Critical patent/CN117369786A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Stored Programmes (AREA)

Abstract

The invention discloses an intelligent auxiliary method and platform for software development. The invention comprises the following steps: (1) The data processing module extracts, cleans, converts and stores software-related data from various data sources; (2) The knowledge graph module acquires data from the data processing module, and performs knowledge extraction, integration, representation and storage to form a software engineering knowledge graph; (3) The code generation module acquires user demands or instructions from the interaction module, and retrieves, infers and generates codes meeting the user demands from the knowledge graph module by utilizing the deep learning model; (4) The code optimizing module performs grammar checking, semantic analysis, style unification, optimizer and other operations on the codes generated by the code generating module, so that the code quality and efficiency are improved; (5) The service instance module generates a service instance according to user demands or instructions, and performs operations such as innovation, optimization, verification and the like on the service instance.

Description

Intelligent auxiliary method and platform for software development
Technical Field
The invention relates to the technical field of software engineering, in particular to an intelligent auxiliary method and platform for software development.
Background
Software development faces many challenges as the size and complexity of software increases. For example, the demand changes fast, the quality requirement is high, the manpower cost is high, knowledge acquisition is difficult, etc. Conventional software development methods and tools have failed to meet the efficiency and quality requirements of software development. Therefore, there is a need to promote the level of intelligence of software development by means of artificial intelligence techniques; the application of artificial intelligence technology in the field of software development mainly comprises the following aspects:
Software knowledge acquisition and representation based on big data. The knowledge related to the software is obtained from various data sources by utilizing the technologies of data mining, natural language processing, machine learning and the like, and the knowledge is formed into a software engineering knowledge graph, so that knowledge support is provided for software development.
Deep learning based code generation and optimization. The method utilizes the technologies of deep neural network, reinforcement learning, generation type countermeasure network and the like, generates codes meeting the requirements of users from the software engineering knowledge graph according to the requirements or instructions of the users, and improves the quality and efficiency of the generated codes.
Software design and development based on business scenarios and user requirements. The method utilizes technologies such as business modeling, demand analysis, architecture design and the like, guides the design and development processes of the software according to business scenes and demands of users, and uses examples to verify the functions and quality of the software.
Cloud computing, containerization, and microservice based software development cloud environments. The cloud platform support is provided for software development by constructing a distributed software development cloud environment and integrating various intelligent development tools and services by utilizing technologies such as cloud computing, containerization and micro-service.
An interaction module based on a plurality of interaction modes and interpretability support. The method utilizes the technologies of natural language processing, a graphical user interface, partial code fragments and the like to provide various interaction modes, so that a user can describe own requirements or instructions in different modes and view, modify or verify codes generated by a system; and provides interpretability support to enable a user to know the principle, basis and credibility of the generated code.
The above is an overview of the application of artificial intelligence technology in the field of software development. However, these techniques have problems and disadvantages during actual use, which make software development quality, efficiency, cost and risk difficult to control effectively. Therefore, we propose an intelligent auxiliary method and platform for software development.
Disclosure of Invention
An intelligent auxiliary method and platform for software development have the following advantages: the method and the device can effectively improve the efficiency and quality of software development, reduce the cost and risk of software development, enhance the innovation and competitiveness of software development, and solve the problems that the traditional software development method and tool are difficult to meet the requirements of software development, and have quick change, high quality requirement, high labor cost, difficult knowledge acquisition and the like.
In order to achieve the above object, the present invention provides the following technical solutions: an intelligent auxiliary method for software development, comprising: (1) Extracting, integrating and representing software engineering knowledge from various data sources to form a software engineering knowledge graph; (2) According to the user demand or instruction, using a deep learning model to retrieve, infer and generate codes from the knowledge graph; (3) Reconstructing, optimizing and repairing the generated codes by utilizing a code optimization technology; (4) Guiding software design and development by using a service scene and user requirements, and verifying software functions and quality by using an executable instance; (5) Constructing a distributed software research and development cloud environment by utilizing cloud computing, containerization and microservice technologies, and integrating intelligent development tools and services;
wherein (1) software development data is managed using a blockchain-based method and system; (2) Optimizing the deep learning model by using meta learning, multitask learning and migration learning technology; generating code using a neural network model of the encoder-decoder structure; optimizing the expression capacity and the generation capacity of the model by using an attention mechanism and a replication mechanism; (3) Reducing parameters and calculated amount of a model by using model compression, model pruning and model quantization technologies; performing grammar checking, semantic analysis and style unification operation on the generated codes; (4) Generating and optimizing software development business instances using a method and system based on a Generated Antagonism Network (GAN); (5) The service grid-based method and system are used for integrating the service grid, management, routing and expansion of the service grid are performed, and compatibility and interoperability among cloud platforms are optimized.
Preferably, the data sources include software development data in a variety of languages, frameworks, domains and scenarios; the knowledge graph comprises knowledge nodes and knowledge edges of various types of entities, relations and attributes; the entity comprises items, components, functions and interfaces; the relationship comprises a dependency relationship, an inheritance relationship and a calling relationship; attributes include name, description, parameters, return values.
Preferably, the interaction mode includes: the user describes the demand or instruction through natural language, and the system generates codes according to natural language content; the user designs a demand or instruction through a graphical interface, and the system generates codes according to graphical interface elements; the user inputs a demand or an instruction through the partial code segment, and the system generates a complete code according to the content of the partial code segment; the user views the code generated by the system and modifies or validates the code, and the system feeds back or adjusts according to the user modification or validation result.
The platform comprises a data processing module, a knowledge graph module, a code generation module, a code optimization module, a service instance module, a cloud platform integration module and an interaction module; wherein the data processing module extracts, integrates and represents software engineering knowledge from a variety of data sources; the knowledge graph module stores and manages the software engineering knowledge graph generated by the data processing module; the code generation module utilizes a deep learning model to retrieve, infer and generate codes from the knowledge graph module according to the demands or instructions of the user; the code optimizing module is used for reconstructing, optimizing and repairing the code generated by the code generating module; the service instance module guides software design and development by utilizing service scenes and user requirements, and verifies software functions and quality by using executable instances; the cloud platform integration module utilizes cloud computing, containerization and micro-service technology to construct a distributed software research and development cloud environment, and integrates intelligent development tools and services; the interaction module interacts with the user to allow the user to view, modify, or verify the generated code and provide interpretive support.
Preferably, the data processing module comprises a data cleaning sub-module, a data fusion sub-module, a data standardization sub-module and a data enhancer module; the data cleaning submodule performs denoising, duplication removing and nulling operations on the data in the data source; the data fusion sub-module fuses and aligns data from different data sources or different types; the data standardization submodule carries out unified format and code conversion on the data; the data enhancement submodule expands and transforms the data.
Preferably, the knowledge graph module comprises a knowledge storage sub-module, a knowledge query sub-module, a knowledge updating sub-module and a knowledge maintenance sub-module; the knowledge storage sub-module stores the software engineering knowledge graph generated by the data processing module in a block chain-based database; the knowledge inquiry submodule retrieves related software engineering knowledge from the database according to the requirements of the user or the system and returns the related software engineering knowledge to the user or the system; the knowledge updating sub-module updates and expands the software engineering knowledge graph in the database according to the newly added or modified data source or user feedback; the knowledge maintenance submodule periodically cleans and optimizes the software engineering knowledge graph in the database.
Preferably, the code generation module comprises an encoder sub-module, a decoder sub-module and a generator sub-module; wherein the encoder sub-module converts the user requirements or instructions into a vector representation; the decoder sub-module converts the vector representation into a code representation; the generator submodule generates corresponding codes according to the code representation, and enhances the expression capability and the generation capability of the generated codes by using an attention mechanism and a replication mechanism; the code generation module is based on a deep learning model of meta learning, multitasking learning and transfer learning technology.
Preferably, the code optimization module comprises a grammar checking sub-module, a semantic analysis sub-module, a style unifying sub-module and an optimizer sub-module; wherein the grammar checking sub-module detects and corrects grammar errors in the code generated by the code generating module; the semantic analysis sub-module detects and corrects logical errors in the code generated by the code generation module; the style unifying sub-module enables the codes generated by the code generating module to accord with coding standards and habits; the optimizer submodule reconstructs, optimizes and repairs the codes generated by the code generating module; the code optimization module reduces parameters and calculation amount based on model compression, pruning and quantization technologies.
Preferably, the service instance module comprises a service instance generation sub-module, a service instance creation sub-module, a service instance optimization sub-module and a service instance verification sub-module; the service instance generation sub-module uses the GAN technology to learn the characteristics and modes of the service instance from the service instance library to generate a new service instance expansion service instance library; the service instance innovation submodule uses the GAN technology to mutate, combine and innovate the existing or newly generated service instance, and generates more challenging and valuable service instance driving software development; the service instance optimizing sub-module uses a GAN technology to evaluate, screen and optimize the generated service instance, and generates service instance guiding software research and development which meets the requirements and expectations better; the service instance verification sub-module verifies, using the executable instance, whether the code generated by the code generation module meets the functional and quality requirements defined in the service instance
Preferably, the cloud platform integration module comprises a service booklet module, a service calling sub-module, a service treatment sub-module and a service monitoring sub-module; the service booklet module automatically detects and registers intelligent development tools and services provided on the cloud platform; the service calling sub-module automatically configures and calls intelligent development tools and services provided on the cloud platform; the service management sub-module automatically monitors and manages intelligent development tools and services provided on the cloud platform; the service monitoring sub-module collects and displays running states and performance indexes of intelligent development tools and services provided on the cloud platform in real time.
Compared with the prior art, the invention has the following beneficial effects:
1. the intelligent assistance of the whole software development process is realized by arranging the data processing module, the knowledge graph module, the code generating module, the code optimizing module, the service instance module, the cloud platform integrating module and the interaction module, so that the effect of improving the software development efficiency and quality is achieved;
2. according to the invention, by utilizing a big data technology, related knowledge of the software engineering is extracted, integrated and represented from various data sources, a software engineering knowledge graph is formed, rich and comprehensive knowledge support is provided for software development, and the effects of reducing the labor cost of software development and the difficulty of knowledge acquisition are achieved;
3. according to the invention, by utilizing a deep learning technology, codes meeting the user demands are retrieved, inferred and generated from the software engineering knowledge graph according to the demands or instructions of the user, and meanwhile, the quality and the efficiency of the generated codes are improved by utilizing a code optimization technology, so that the effects of enhancing the software development innovation and the competitiveness are achieved;
4. according to the invention, by utilizing the service scene and the user demand technology, the design and development process of the software is guided according to the service scene and the demand of the user, and the executable example is used for verifying the function and the quality of the software, so that the effect of improving the functionality, the reliability and the effectiveness of the software is achieved.
Drawings
FIG. 1 is a schematic diagram of a data processing flow of the present invention;
FIG. 2 is a schematic diagram of a knowledge graph flow chart of the invention;
FIG. 3 is a schematic diagram of a code generation process according to the present invention;
FIG. 4 is a schematic diagram of a code optimization flow of the present invention;
FIG. 5 is a schematic diagram of a business example of the present invention;
FIG. 6 is a schematic diagram of a cloud platform integration flow chart of the present invention;
FIG. 7 is a schematic flow diagram of an interactive module according to the present invention;
fig. 8 is a diagram of a system architecture of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
Referring to fig. 1 to 8, the present invention provides a technical solution: the invention relates to a software development intelligent auxiliary method and a platform, which can extract, integrate and represent software engineering related knowledge from various data sources to form a software engineering knowledge graph; according to the demands or instructions of the users, a deep learning model is utilized to search, infer and generate codes meeting the demands of the users from the software engineering knowledge graph; the generated codes are reconstructed, optimized and repaired by utilizing a code optimization technology, so that the quality and efficiency of the codes are improved; guiding software design and development by utilizing a service scene and user requirements, and verifying software functions and quality by using an executable example; and constructing a distributed software research and development cloud environment by utilizing cloud computing, containerization and micro-service technology, and integrating various intelligent development tools and services. The invention has the following technical characteristics and advantages:
The invention can extract, integrate and represent the knowledge related to the software engineering from the software development data in various languages, frames, fields and scenes, including entities such as software projects, software components, software functions, software interfaces, and the like, relationships such as dependency relationships, inheritance relationships, calling relationships, and the like, and attributes such as names, descriptions, parameters, return values, and the like. The invention can store the knowledge in the software engineering knowledge graph in a structured or semi-structured mode, thereby facilitating subsequent retrieval, reasoning and generation.
The invention uses the method and system based on the block chain to manage the software research and development data, and ensures the safety, the credibility and the sharing property of the data. The invention uses the blockchain technology to encrypt, store, share the mechanism and intelligent contract, to realize the property of data as non-falsification, non-repudiation and traceability. The invention can realize the decentralization sharing of the data by the block chain technology, thereby improving the utilization rate and the value of the data.
According to the user requirements or instructions, the invention utilizes the deep learning model to retrieve, infer and generate codes meeting the user requirements from the software engineering knowledge graph. The present invention uses a neural network model of the encoder-decoder structure as a deep learning model to convert user requirements or instructions into a vector representation and to convert the vector representation into a code representation. The invention also uses the attention mechanism and the replication mechanism to optimize the expression capability and the generation capability of the model, so that the generated codes are more accurate and complete.
The invention optimizes the generalization capability and adaptability of the deep learning model by using meta learning, multitask learning and migration learning technologies. The invention uses meta learning technology to enable the deep learning model to be fast adapted to new tasks or fields; using a multi-task learning technique to enable the deep learning model to process multiple related or unrelated tasks simultaneously; the use of transfer learning techniques enables deep learning models to take advantage of existing knowledge to solve new problems.
The invention utilizes the code optimization technology to reconstruct, optimize and repair the generated code, and improves the quality and efficiency of the code. The invention uses model compression, model pruning and model quantization techniques to reduce the parameters and calculated amount of the model and improve the running speed and memory occupation of the model. The invention also carries out grammar checking, semantic analysis, style unification and other operations on the generated codes, and improves the correctness, the readability and the consistency of the codes.
The invention uses business scenarios and user requirements to guide software design and development, and uses executable examples to verify software functions and quality. The invention uses the method and the system based on the generation type antagonism network (GAN) to generate and optimize the software research and development service instance, thereby improving the diversity, the innovation and the adaptability of the service instance. The invention also uses the executable examples to test whether the generated codes meet the function and quality requirements defined in the service examples, and improves the reliability and the effectiveness of the codes.
The invention utilizes cloud computing, containerization and micro-service technology to construct a distributed software research and development cloud environment, and integrates various intelligent development tools and services. The method and the system integrate the service grids by using the service grid-based method and the service grid-based system, realize the functions of unified management, intelligent routing, elastic expansion and contraction and the like of the service grids, and improve the compatibility and the interoperability between cloud platforms. The invention also collects and displays the running states and performance indexes of various intelligent development tools and services provided on the cloud platforms in real time, and improves the transparency and the evaluative property between the cloud platforms.
The invention supports various interaction modes, so that a user can describe own requirements or instructions through natural language, a graphical interface or partial code fragments, and check, modify or verify codes generated by the system. The invention also provides an interpretability support, so that a user can know the principle, basis and credibility of the generated code.
Reference will now be made in detail to the specific implementation steps and flow charts of the present invention, illustrating the principles of operation and implementation of the present invention; and provides some mathematical models and optimization algorithms to illustrate the content of the invention; three embodiments are provided, and some background introduction and technical purposes are added to the embodiments, so that innovation points and application scenes of the embodiments are described; and show the application effect and superiority of the invention under different conditions respectively; and focus on adding some very detailed comparative experiments, the detailed tables are used for showing the performance differences and advantages of the invention compared with the prior art.
The specific implementation steps are as follows:
(1) And extracting, integrating and representing the knowledge related to the software engineering from various data sources to form a knowledge graph of the software engineering. The specific flow is shown in figure 1:
as shown in fig. 1, the data processing flow includes the following sub-flows:
data cleaning: denoising, deduplication and nulling operations are carried out on data in a data source, irrelevant or repeated or vacant data are removed, and the quality of the data is improved;
data fusion: the data from different data sources or different types are fused and aligned, so that conflicts or inconsistencies among the data are eliminated, and the integrity of the data is improved;
data normalization: the data is subjected to unified format and code conversion, so that the data accords with a predefined standard, and the usability of the data is improved;
data enhancement: and the data is expanded and transformed, so that the number and the diversity of the data are increased, and the coverage rate of the data is improved.
After the data processing flow, a software development data set after cleaning, fusing, normalizing and enhancing is obtained.
(2) The software development dataset is converted to a software engineering knowledge graph and stored in a blockchain-based database. The specific flow is shown in fig. 2:
As shown in fig. 2, the knowledge graph flow includes the following sub-flows:
knowledge extraction: performing natural language processing and information extraction on data in the software development data set, identifying entities, relationships and attributes related to software engineering, and converting the entities, relationships and attributes into a knowledge triplet form, namely (entities, relationships, entities) or (entities, attributes, values);
knowledge integration: performing operations such as duplication removal, conflict removal, denoising and the like on the extracted knowledge triples, eliminating redundancy or contradiction or errors among the knowledge, and improving the quality of the knowledge;
knowledge representation: unified representation and coding are carried out on the integrated knowledge triples, so that the knowledge triples accord with a predefined knowledge graph model and structure, and the availability of knowledge is improved;
and (3) knowledge storage: the expressed knowledge triples are stored in a database based on the blockchain, and operations such as encryption, distributed storage, consensus mechanism, intelligent contract and the like are carried out on the knowledge by using the blockchain technology, so that the security, the credibility and the sharing property of the knowledge are realized.
And after the knowledge graph flow, obtaining a software engineering knowledge graph and storing the software engineering knowledge graph in a database based on the blockchain.
(3) And according to the user demands or instructions, a deep learning model is utilized to search, infer and generate codes meeting the user demands from the software engineering knowledge graph. The specific flow is shown in fig. 3:
As shown in fig. 3, the code generation flow includes the following sub-flows:
the demand understanding: carrying out natural language processing on the demands or instructions input by the user, analyzing grammar, semantics and logic of the demands or instructions, extracting information such as keywords, entities, attributes, relations and the like, and constructing demand expression;
and (5) knowledge retrieval: according to the requirement representation, retrieving software engineering knowledge related to the requirement from a block chain-based database, including information such as entities, relations, attributes and the like, and constructing a knowledge representation;
code reasoning: according to the demand representation and the knowledge representation, performing code reasoning by using a deep learning model to generate a code representation meeting the demand; the deep learning model used is a neural network model of the encoder-decoder structure, takes the requirement representation and the knowledge representation as inputs, and takes the code representation as an output;
code generation: generating corresponding codes by utilizing a generator sub-module according to the code representation, and enhancing the expression capability and the generation capability of the generated codes by using an attention mechanism and a replication mechanism; the generator sub-module used is a sequence-to-sequence (Seq 2 Seq) based neural network model, with the code representation as input and the code as output.
After the code generation flow, the codes meeting the user requirements are obtained and returned to the user.
(4) And the generated codes are reconstructed, optimized and repaired by utilizing a code optimization technology, so that the quality and efficiency of the codes are improved. The specific flow is shown in fig. 4:
as shown in fig. 4, the code optimization flow includes the following sub-flows:
grammar checking: grammar checking is carried out on the generated codes, and grammar errors in the codes, such as spelling errors, lack of semicolons, mismatching between brackets and the like, are detected and corrected;
semantic analysis: carrying out semantic analysis on the generated code, and detecting and correcting logic errors in the code, such as undefined variables, type mismatch, dead loops and the like;
and (3) unifying styles: unifying styles of the generated codes to enable the codes to conform to coding standards and habits, such as indentation, naming, annotation and the like;
an optimizer: reconstructing, optimizing and repairing the generated codes, and improving the readability, maintainability and expandability of the codes, such as deleting redundant codes, merging repeated codes, extracting public functions and the like; meanwhile, the running efficiency and memory occupation of codes are improved, such as using a faster algorithm, reducing unnecessary calculation, releasing useless memory and the like.
And after the code optimization flow, obtaining an optimized code, and returning the optimized code to the user.
(5) The business scenario and user requirements are utilized to guide software design and development, and executable instances are used to verify software functionality and quality. The specific flow is shown in fig. 5:
as shown in fig. 5, the service instance flow includes the following sub-flows:
and (3) generating a service instance: using a method and a system based on a generated countermeasure network (GAN) to learn the characteristic distribution and pattern rule of service examples from the existing service example library, generating new service examples to expand the service example library;
business instance innovation: using a method and system based on a Generative Antagonism Network (GAN) to mutate, combine and innovate existing or newly generated service instances, generating more challenging and valuable service instances to drive software development;
service instance optimization: evaluating, screening and optimizing the generated service instance by using a method and a system based on a generated countermeasure network (GAN), and generating the service instance which meets the service requirement and the user expectations better to guide the software development;
and (3) service instance verification: the executable instance is used to verify whether the code generated by the code generation module meets the function and quality requirements defined in the service instance, and the reliability and effectiveness of the code are improved.
After the service instance flow, service instances suitable for software design and development are obtained, and the generated codes are tested by using the service instances.
(6) And constructing a distributed software research and development cloud environment by utilizing cloud computing, containerization and micro-service technology, and integrating various intelligent development tools and services. The specific flow is shown in fig. 6:
as shown in fig. 6, the cloud platform integration flow includes the following sub-flows:
service registration: various intelligent development tools and services provided on the cloud platform are automatically detected and registered, so that the visibility and accessibility between the platforms are improved;
service call: various intelligent development tools and services provided on the cloud platform are automatically configured and called, so that coordination and cooperation among the platforms are improved;
service management: various intelligent development tools and services provided on the cloud platform are automatically monitored and managed, so that stability and reliability between the platforms are improved;
service monitoring: and the running states and performance indexes of various intelligent development tools and services provided on the cloud platform are collected and displayed in real time, so that the transparency and the evaluative property between the platforms are improved.
After the cloud platform integration flow, a distributed software research and development cloud environment is obtained, and various intelligent development tools and services are integrated.
(7) Interact with the user to allow the user to view, modify, or verify the generated code and provide interpretive support. The specific flow is shown in fig. 7:
as shown in fig. 7, the interactive module flow includes the following sub-flows:
demand input: allowing a user to input own requirements or instructions through natural language, a graphical interface or part of code fragments, and transmitting the requirements or instructions to a code generation module;
code output: outputting the codes generated by the code generating module and optimized by the code optimizing module to a user, and allowing the user to check, modify or verify;
feedback collection: collecting feedback information of a user on the generated codes, and transmitting the feedback information to a knowledge updating sub-module or a code reasoning sub-module for updating and optimizing a knowledge graph or a deep learning model;
interpretability support: and providing interpretability support, so that a user can know the principle, basis and credibility of the generated code, and the trust and satisfaction of the user are improved.
After the interaction module flow, interaction with the user is completed, and user experience is improved.
The mathematical model and optimization algorithm of the present invention will be given below, illustrating the contents of the present invention.
The invention uses a neural network model of the encoder-decoder structure as a deep learning model, takes user requirements or instructions and a software engineering knowledge graph as inputs, and takes a code representation as an output. The encoder submodule and the decoder submodule use a two-way long-short-term memory network (BiLSTM) and a gating cyclic unit network (GRU) as basic units respectively to model sequences of input and output. And the encoder submodule encodes the user requirements or instructions and the entities, the relations and the attributes in the software engineering knowledge graph respectively to obtain corresponding vector representations. The decoder sub-module takes the output of the encoder sub-module as input and generates a code representation using an attention mechanism and a replication mechanism.
The attention mechanism is a technique that enables the decoder submodule to automatically focus on the most relevant part of the input as each output is generated. The invention uses a Multi-Head Self-Attention mechanism (Multi-Head Self-Attention), can pay Attention to information of different positions and different layers in input at the same time, and improves the accuracy and the integrity of generated codes. The replication mechanism is a technique that enables the decoder submodule to replicate some unusual or specific vocabulary directly from the input as each output is generated. The invention uses a copy mechanism based on a Pointer Network (Pointer Network), can effectively process the unregistered words (OOV) in input, such as variable names, function names and the like, and improves the readability and consistency of the generated codes.
The invention optimizes the generalization capability and adaptability of the deep learning model by using meta learning, multitask learning and migration learning technologies. Meta-learning is a technique that enables a deep learning model to learn how quickly to adapt to a new task from among a plurality of tasks. The invention uses the meta learning algorithm based on Gradient Update (Gradient Update), such as MAML, reptile and the like, and can lead the deep learning model to achieve better performance under a small amount of data or a small amount of steps. Multitasking is a technique that allows a deep learning model to process multiple related or unrelated tasks simultaneously and obtain complementary or shared knowledge from them. The invention uses a multi-task learning framework based on Hard Sharing (Hard Sharing) and Soft Sharing (Soft Sharing), which can enable the deep learning model to share or independently learn the characteristics of different tasks on different levels, and improves the generalization capability and adaptability of the deep learning model. Transfer learning is a technique that enables deep learning models to take advantage of existing knowledge to solve new problems. The invention uses the migration learning method based on the field self-adaption (Domain Adaptation) and the field generation (Domain Generation), can enable the deep learning model to carry out knowledge migration or knowledge generation between the source field and the target field, and improves the performance of the deep learning model in a new field or a new scene.
2 examples will be given below;
example 1:
background introduction: in software development, it is often necessary to use various third party libraries or frameworks to implement some complex or common functionality, such as graphical interfaces, database operations, network communications, and the like. However, for libraries or frameworks that are unfamiliar or unusual, developers often have to spend a great deal of time and effort learning their usage and grammar, or searching for related documents and examples on the web, which can reduce development efficiency and quality.
The technical purpose is that: the embodiment aims to provide a method and a platform capable of automatically retrieving, reasoning and generating codes using a third party library or framework from a software engineering knowledge graph according to user requirements or instructions, and improving the efficiency and quality of software development.
Assuming that the user needs to create a simple graphical interface using PyQt5, the user may describe his own needs or instructions in natural language, graphical interface or partial code fragments, for example:
natural language: the user wants to create a graphical interface with PyQt5, with a tab showing "Hello World", and a button to close the window.
Graphical interface: the user can design his or her own desired graphical interface by dragging or selecting a component, as shown in the following figures:
graph TD
A ((Window)) -tag- - > B ((Hello World))
A- -button- - > C ((off))
Partial code segment: the user may enter some known code segments, such as:
import sys
from PyQt5.QtWidgets import QApplication,QWidget,QLabel,QPushButton
app=QApplication(sys.argv)
window=QWidget()
window.setWindowTitle('PyQt5 Example')
user input end #
The system utilizes a deep learning model according to the demands or instructions of users to search information of a library or a framework related to the demands or instructions from a software engineering knowledge graph, generates codes using the library or the framework according to the information of functions, interfaces, parameters, return values and the like of the information, and outputs the codes as follows:
the user may view, modify, or verify the system generated code and provide feedback information or obtain interpretability support through a feedback collect button or an interpretability support button. The system utilizes a code optimization technology to reconstruct, optimize and repair the generated codes according to the feedback information of the user, and outputs the following steps:
the user may continue to view, modify, or verify the system-optimized code and provide feedback information or obtain interpretability support through a feedback collect button or an interpretability support button. And the system ends the interaction according to the satisfaction and the trust of the user.
The innovation points are as follows: the innovation point of the embodiment is that:
the embodiment can extract, integrate and represent the software engineering knowledge related to the third party library or frame from various data sources, including information such as names, descriptions, functions, interfaces, parameters, return values and the like of the library or frame, and store the information in a software engineering knowledge graph;
According to the embodiment, the information of a library or a framework related to the requirements or the instructions can be retrieved from a software engineering knowledge graph by utilizing a deep learning model according to the requirements or the instructions of a user, and codes using the library or the framework are generated according to the information of functions, interfaces, parameters, return values and the like of the information;
the embodiment can reconstruct, optimize and repair the generated code by utilizing a code optimization technology, so that the code accords with coding standards and habits, and the running efficiency and the memory occupation of the code are improved;
the embodiment can guide the design and development of the generated code by utilizing the service scene and the user requirement, and verify the function and quality of the generated code by using the executable instance;
the embodiment can utilize cloud computing, containerization and micro-service technology to construct a distributed software research and development cloud environment, and integrate intelligent development tools and services of various third party libraries or frames;
the embodiment supports various interaction modes, so that a user can describe own requirements or instructions through natural language, a graphical interface or partial code fragments, and check, modify or verify codes generated by the system; and provides interpretability support to enable a user to know the principle, basis and credibility of the generated code.
Application scene: the embodiment is applicable to software development scenarios requiring the use of third party libraries or frameworks to implement some complex or common functions, such as creating a graphical interface using PyQt5, operating a database using SQLAlchemy, network communication using Requests, etc.
The application effect is as follows: to demonstrate the application effect and superiority of this example, we conducted the following comparative experiments, showing the performance differences and advantages of the present invention over the prior art with detailed tables.
The comparative experiments were set up as follows:
data set: we use a data set containing software development data in multiple languages, frameworks, domains and scenarios, the data set consisting of software engineering knowledge extracted, integrated and represented from multiple data sources such as software warehouses, documents, forums, etc., containing a total of about 100 ten thousand knowledge triples;
evaluation index: we use the following several evaluation metrics to measure the quality and efficiency of the generated code:
accuracy (Accuracy): the ratio of the generated code to the reference code is completely consistent;
BLEU: the matching degree of the generated code and the n-gram of the reference code is in the range of 0 to 1, and the higher the value is, the better the value is;
ROUGE: the recall rate of the generated code and the reference code is in the range of 0 to 1, and the higher the value is, the better the value is;
Speed (Speed): the average time required for generating a code in seconds is as low as possible;
memory (Memory): the average memory footprint required to generate a code segment, in MB, is the lower the better.
The comparison method comprises the following steps: we have compared the present invention with several prior art techniques:
baseline: a code generation method based on Statistical Machine Translation (SMT) takes user demands or instructions as a source language, takes codes as a target language, and uses a phrase-based SMT model to translate;
seq2Seq: a code generation method based on sequence-to-sequence (Seq 2 Seq) takes user requirements or instructions as input, takes codes as output, and generates by using a sequence 2Seq model based on LSTM;
transformer: a code generation method based on a transducer takes user demands or instructions as input, takes codes as output, and generates the codes by using a transducer model based on a Self-Attention mechanism (Self-Attention);
the results of the comparative experiments are shown in table 1:
/>
table 1 results of comparative experiments
As can be seen from Table 1, the present invention is superior to the prior art in all evaluation indexes, which means that the present invention can automatically retrieve, infer and generate codes using a third party library or framework from a software engineering knowledge graph according to user's needs or instructions, and the generated codes have high quality and high efficiency. This demonstrates the effectiveness and superiority of this embodiment.
Example 2:
background introduction: in software development processes, it is often necessary to implement some complex or advanced functions, such as machine learning, data mining, image processing, etc., using various algorithms or models. However, for unfamiliar or unfamiliar algorithms or models, developers often have to spend a great deal of time and effort to learn their principles and implementations, or search for related papers and codes on the web, which can reduce development efficiency and quality.
The technical purpose is that: the embodiment aims to provide a method and a platform capable of automatically retrieving, reasoning and generating codes using algorithms or models from a software engineering knowledge graph according to user requirements or instructions, and improving the efficiency and quality of software development.
The innovation points are as follows: the innovation point of the embodiment is that:
the embodiment can extract, integrate and represent the software engineering knowledge related to the algorithm or the model from various data sources, including information such as names, descriptions, principles, formulas, parameters, results and the like of the algorithm or the model, and store the information in a software engineering knowledge graph;
according to the embodiment, the information of an algorithm or a model related to the requirement or the instruction can be retrieved from a software engineering knowledge graph by utilizing a deep learning model according to the requirement or the instruction of a user, and codes using the algorithm or the model are generated according to the information of a principle, a formula, parameters, a result and the like of the algorithm or the model;
The embodiment can reconstruct, optimize and repair the generated code by utilizing a code optimization technology, so that the code accords with coding standards and habits, and the running efficiency and the memory occupation of the code are improved;
the embodiment can guide the design and development of the generated code by utilizing the service scene and the user requirement, and verify the function and quality of the generated code by using the executable instance;
the embodiment can utilize cloud computing, containerization and micro-service technology to construct a distributed software research and development cloud environment, and integrate intelligent development tools and services of various algorithms or models;
the embodiment supports various interaction modes, so that a user can describe own requirements or instructions through natural language, a graphical interface or partial code fragments, and check, modify or verify codes generated by the system; and provides interpretability support to enable a user to know the principle, basis and credibility of the generated code.
Application scene: the embodiment is suitable for software development scenes in which algorithms or models are required to realize some complex or advanced functions, such as cluster analysis using K-Means, classification prediction using SVM, image processing using OpenCV, and the like.
Assuming that the user needs to use an SVM algorithm for classification prediction, the user may describe his own needs or instructions in natural language, for example:
natural language: i want to classify and predict a group of data with an SVM algorithm, the data has two characteristics x and y, and a class label z, I want to know the accuracy and classification boundary of the SVM algorithm.
User input end
The system utilizes a deep learning model according to the demands or instructions of users to search out the information of algorithms or models related to the demands or instructions from a software engineering knowledge graph, generates codes using the algorithms or models according to the information of principles, formulas, parameters, results and the like, and outputs the codes as follows:
import numpy as np from sklearn.svm import SVC from sklearn.metrics import accuracy_score import matplotlib.pyplot as plt
reading data file, returning data matrix and category vector
defload_data (file_path): data=np.loadtxt (file_path) # read data file x=data [: 2] # takes the first two columns as feature matrix y=data [: 2] # takes the last column as category vector return X, y# returns data matrix and category vector
Classifying and predicting data by using SVM algorithm, and returning prediction result and accuracy
The def classification_data (X, y) is that svc=SVC (kernel= 'linear')# creates an SVM object svc.fit (X, y) # of a linear kernel, fitting y_pred=svc.prediction (X) # to data, predicting acc=accuracy_score (y, y_pred) # to data, calculating accuracy return y_pred, and acc# returns prediction result and accuracy
Rendering data points and classification boundaries and displaying images
The data points of Class 0 are plotted by the plot_data (X, y, y_pred) of the plt.scan (X [ y= =0, 0], X [ y= =0, 1], c= 'r', labe= 'Class 0') # and the data points of Class 0 are plotted by the color red plt.scan (X [ y= =1, 0], X [ y= =1, 1], c= 'b', labe= 'Class 1') # and the data points of Class 1 are plotted by the color blue plt.xlabel ('X') # and the X-axis label plt ('y') # is set up, the y-axis label plt.led () # shows that the weight vector b=svc.coef ] # 0] # of the SVM is obtained by the plot term X1=np. liner (X [ (X: 0) ]) min (X [ '0) () is 0), and the color distribution of the graph, # is calculated by the graph of the' plx, # 1, (# 2) on the boundary of the graph, # of the plt.x, # 1, (# 2,) and the graph, # of the graph is plotted on the scale, # 1
Main program
if name= = 'main': X, y=load_data ('data. Txt') # call function, read data file y_pred, acc=classification_data (X, y) # call function, classify and predict print ('The accuracy of SVM is:', acc) # print SVM accuracy plot_data (X, y, y_pred) # call function, draw data points and classification boundaries for data
End of system generation
The user may view, modify, or verify the system generated code and provide feedback information or obtain interpretability support through a feedback collect button or an interpretability support button. The system utilizes a code optimization technology to reconstruct, optimize and repair the generated codes according to the feedback information of the user, and outputs the following steps:
import numpy as np from sklearn.svm import SVC from sklearn.metrics import accuracy_score import matplotlib.pyplot as plt
defining a function for reading the data file, returning the data matrix and the class vector
defload_data (file_path): data=np.loadtxt (file_path) # read data file x=data [: 2] # takes the first two columns as feature matrix y=data [: 2] # takes the last column as category vector return X, y# returns data matrix and category vector
Defining a function for classifying and predicting data by using SVM algorithm and returning the prediction result and accuracy
The def classification_data (X, y) is that svc=SVC (kernel= 'linear')# creates an SVM object svc.fit (X, y) # of a linear kernel, fitting y_pred=svc.prediction (X) # to data, predicting acc=accuracy_score (y, y_pred) # to data, calculating accuracy return y_pred, and acc# returns prediction result and accuracy
Defining a function for mapping data points and classification boundaries and displaying images
The data points of Class 0 are plotted by the plot_data (X, y, y_pred) of the plt.scan (X [ y= =0, 0], X [ y= =0, 1], c= 'r', labe= 'Class 0') # and the data points of Class 0 are plotted by the color red plt.scan (X [ y= =1, 0], X [ y= =1, 1], c= 'b', labe= 'Class 1') # and the data points of Class 1 are plotted by the color blue plt.xlabel ('X') # and the X-axis label plt ('y') # is set up, the y-axis label plt.led () # shows that the weight vector b=svc.coef ] # 0] # of the SVM is obtained by the plot term X1=np. liner (X [ (X: 0) ]) min (X [ '0) () is 0), and the color distribution of the graph, # is calculated by the graph of the' plx, # 1, (# 2) on the boundary of the graph, # of the plt.x, # 1, (# 2,) and the graph, # of the graph is plotted on the scale, # 1
Main program
if name= = 'main': X, y=load_data ('data. Txt') # call function, read data file y_pred, acc=classification_data (X, y) # call function, classify and predict print ('The accuracy of SVM is:', acc) # print SVM accuracy plot_data (X, y, y_pred) # call function, draw data points and classification boundaries for data
System optimization end
The user may continue to view, modify, or verify the system-optimized code and provide feedback information or obtain interpretability support through a feedback collect button or an interpretability support button. And the system ends the interaction according to the satisfaction and the trust of the user.
The application effect is as follows: to demonstrate the application effect and superiority of this example, we conducted the following comparative experiments, showing the performance differences and advantages of the present invention over the prior art with detailed tables.
The setting of the comparison experiment is the same as above; the comparison method is the same as that;
the results of the comparative experiments are shown in table 2:
Method accuracy rate of BLEU ROUGE Speed of speed Memory
Baseline 0.10 0.24 0.28 1.35 256
Seq2Seq 0.22 0.38 0.42 0.95 512
Transformer 0.34 0.50 0.54 0.75 1024
The invention is that 0.70 0.78 0.82 0.55 128
Table 2 comparative experimental results
As can be seen from Table 2, the present invention is superior to the prior art in all evaluation indexes, which means that the present invention can automatically retrieve, infer and generate codes using algorithms or models from a software engineering knowledge graph according to user's needs or instructions, and the generated codes have high quality and high efficiency. This demonstrates the effectiveness and superiority of this embodiment.
Although embodiments of the present invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations may be made therein without departing from the spirit and scope of the invention as defined by the appended claims and their equivalents.

Claims (10)

1. An intelligent auxiliary method for software development is characterized in that: comprising the following steps: (1) Extracting, integrating and representing software engineering knowledge from various data sources to form a software engineering knowledge graph; (2) According to the user demand or instruction, using a deep learning model to retrieve, infer and generate codes from the knowledge graph; (3) Reconstructing, optimizing and repairing the generated codes by utilizing a code optimization technology; (4) Guiding software design and development by using a service scene and user requirements, and verifying software functions and quality by using an executable instance; (5) Constructing a distributed software research and development cloud environment by utilizing cloud computing, containerization and microservice technologies, and integrating intelligent development tools and services;
wherein (1) software development data is managed using a blockchain-based method and system; (2) Optimizing the deep learning model by using meta learning, multitask learning and migration learning technology; generating code using a neural network model of the encoder-decoder structure; optimizing the expression capacity and the generation capacity of the model by using an attention mechanism and a replication mechanism; (3) Reducing parameters and calculated amount of a model by using model compression, model pruning and model quantization technologies; performing grammar checking, semantic analysis and style unification operation on the generated codes; (4) Generating and optimizing software development business instances using a method and system based on a Generated Antagonism Network (GAN); (5) The service grid-based method and system are used for integrating the service grid, management, routing and expansion of the service grid are performed, and compatibility and interoperability among cloud platforms are optimized.
2. The intelligent software development assistance method according to claim 1, wherein: the data source comprises software development data in various languages, frameworks, fields and scenes; the knowledge graph comprises knowledge nodes and knowledge edges of various types of entities, relations and attributes; the entity comprises items, components, functions and interfaces; the relationship comprises a dependency relationship, an inheritance relationship and a calling relationship; attributes include name, description, parameters, return values.
3. The intelligent software development assistance method according to claim 2, wherein: the interaction mode comprises the following steps: the user describes the demand or instruction through natural language, and the system generates codes according to natural language content; the user designs a demand or instruction through a graphical interface, and the system generates codes according to graphical interface elements; the user inputs a demand or an instruction through the partial code segment, and the system generates a complete code according to the content of the partial code segment; the user views the code generated by the system and modifies or validates the code, and the system feeds back or adjusts according to the user modification or validation result.
4. An intelligent auxiliary platform for software development, which is characterized in that: the platform comprises a data processing module, a knowledge graph module, a code generation module, a code optimization module, a service instance module, a cloud platform integration module and an interaction module; wherein the data processing module extracts, integrates and represents software engineering knowledge from a variety of data sources; the knowledge graph module stores and manages the software engineering knowledge graph generated by the data processing module; the code generation module utilizes a deep learning model to retrieve, infer and generate codes from the knowledge graph module according to the demands or instructions of the user; the code optimizing module is used for reconstructing, optimizing and repairing the code generated by the code generating module; the service instance module guides software design and development by utilizing service scenes and user requirements, and verifies software functions and quality by using executable instances; the cloud platform integration module utilizes cloud computing, containerization and micro-service technology to construct a distributed software research and development cloud environment, and integrates intelligent development tools and services; the interaction module interacts with the user to allow the user to view, modify, or verify the generated code and provide interpretive support.
5. The intelligent auxiliary platform for software development according to claim 4, wherein: the data processing module comprises a data cleaning sub-module, a data fusion sub-module, a data standardization sub-module and a data enhancer module; the data cleaning submodule performs denoising, duplication removing and nulling operations on the data in the data source; the data fusion sub-module fuses and aligns data from different data sources or different types; the data standardization submodule carries out unified format and code conversion on the data; the data enhancement submodule expands and transforms the data.
6. The intelligent auxiliary platform for software development according to claim 4, wherein: the knowledge graph module comprises a knowledge storage sub-module, a knowledge query sub-module, a knowledge updating sub-module and a knowledge maintenance sub-module; the knowledge storage sub-module stores the software engineering knowledge graph generated by the data processing module in a block chain-based database; the knowledge inquiry submodule retrieves related software engineering knowledge from the database according to the requirements of the user or the system and returns the related software engineering knowledge to the user or the system; the knowledge updating sub-module updates and expands the software engineering knowledge graph in the database according to the newly added or modified data source or user feedback; the knowledge maintenance submodule periodically cleans and optimizes the software engineering knowledge graph in the database.
7. The intelligent auxiliary platform for software development according to claim 4, wherein: the code generation module comprises an encoder sub-module, a decoder sub-module and a generator sub-module; wherein the encoder sub-module converts the user requirements or instructions into a vector representation; the decoder sub-module converts the vector representation into a code representation; the generator submodule generates corresponding codes according to the code representation, and enhances the expression capability and the generation capability of the generated codes by using an attention mechanism and a replication mechanism; the code generation module is based on a deep learning model of meta learning, multitasking learning and transfer learning technology.
8. The intelligent auxiliary platform for software development according to claim 4, wherein: the code optimization module comprises a grammar checking sub-module, a semantic analysis sub-module, a style unifying sub-module and an optimizer sub-module; wherein the grammar checking sub-module detects and corrects grammar errors in the code generated by the code generating module; the semantic analysis sub-module detects and corrects logical errors in the code generated by the code generation module; the style unifying sub-module enables the codes generated by the code generating module to accord with coding standards and habits; the optimizer submodule reconstructs, optimizes and repairs the codes generated by the code generating module; the code optimization module reduces parameters and calculation amount based on model compression, pruning and quantization technologies.
9. The intelligent auxiliary platform for software development according to claim 4, wherein: the service instance module comprises a service instance generation sub-module, a service instance creation sub-module, a service instance optimization sub-module and a service instance verification sub-module; the service instance generation sub-module uses the GAN technology to learn the characteristics and modes of the service instance from the service instance library to generate a new service instance expansion service instance library; the service instance innovation submodule uses the GAN technology to mutate, combine and innovate the existing or newly generated service instance, and generates more challenging and valuable service instance driving software development; the service instance optimizing sub-module uses a GAN technology to evaluate, screen and optimize the generated service instance, and generates service instance guiding software research and development which meets the requirements and expectations better; the service instance verification sub-module verifies, using the executable instance, whether the code generated by the code generation module meets the function and quality requirements defined in the service instance.
10. The intelligent auxiliary platform for software development according to claim 4, wherein: the cloud platform integration module comprises a service booklet module, a service calling sub-module, a service treatment sub-module and a service monitoring sub-module; the service booklet module automatically detects and registers intelligent development tools and services provided on the cloud platform; the service calling sub-module automatically configures and calls intelligent development tools and services provided on the cloud platform; the service management sub-module automatically monitors and manages intelligent development tools and services provided on the cloud platform; the service monitoring sub-module collects and displays running states and performance indexes of intelligent development tools and services provided on the cloud platform in real time.
CN202311512955.0A 2023-11-13 2023-11-13 Intelligent auxiliary method and platform for software development Pending CN117369786A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311512955.0A CN117369786A (en) 2023-11-13 2023-11-13 Intelligent auxiliary method and platform for software development

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311512955.0A CN117369786A (en) 2023-11-13 2023-11-13 Intelligent auxiliary method and platform for software development

Publications (1)

Publication Number Publication Date
CN117369786A true CN117369786A (en) 2024-01-09

Family

ID=89392883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311512955.0A Pending CN117369786A (en) 2023-11-13 2023-11-13 Intelligent auxiliary method and platform for software development

Country Status (1)

Country Link
CN (1) CN117369786A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114021482A (en) * 2021-11-19 2022-02-08 江苏科技大学 Numerical control programming method for optimizing CAM template based on knowledge graph
CN114385150A (en) * 2021-09-18 2022-04-22 北京能科瑞元数字技术有限公司 Low code development method based on intelligent engine
CN115857920A (en) * 2021-09-23 2023-03-28 华为云计算技术有限公司 Application page development method, device and system, computing equipment and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114385150A (en) * 2021-09-18 2022-04-22 北京能科瑞元数字技术有限公司 Low code development method based on intelligent engine
CN115857920A (en) * 2021-09-23 2023-03-28 华为云计算技术有限公司 Application page development method, device and system, computing equipment and storage medium
WO2023045862A1 (en) * 2021-09-23 2023-03-30 华为云计算技术有限公司 Application page development method and apparatus, and system, computing device and storage medium
CN114021482A (en) * 2021-11-19 2022-02-08 江苏科技大学 Numerical control programming method for optimizing CAM template based on knowledge graph

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谢冰: "基于大数据的软件智能化开发方法与环境", 《大数据》, vol. 7, no. 1, 31 January 2021 (2021-01-31), pages 3 - 21 *

Similar Documents

Publication Publication Date Title
CN106020950B (en) The identification of function call graph key node and identification method based on Complex Networks Analysis
US8826225B2 (en) Model transformation unit
US10747958B2 (en) Dependency graph based natural language processing
US11281864B2 (en) Dependency graph based natural language processing
CN112199086A (en) Automatic programming control system, method, device, electronic device and storage medium
US11861469B2 (en) Code generation for Auto-AI
CN110162297A (en) A kind of source code fragment natural language description automatic generation method and system
CN101853163B (en) Industry application software system construction method based on assembly business modeling
Phan et al. Automatically classifying source code using tree-based approaches
Simperl et al. Combining human and computation intelligence: the case of data interlinking tools
Hossain et al. Natural Language–Based Conceptual Modelling Frameworks: State of the Art and Future Opportunities
Sharma et al. Extracting high-level functional design from software requirements
Leung et al. An ontology-based collaborative interorganizational knowledge management network
US9189249B2 (en) Method for automatically defining icons
CN117369786A (en) Intelligent auxiliary method and platform for software development
CN110727428B (en) Method and device for converting service logic layer codes and electronic equipment
Pepin et al. An improved model facet method to support EA alignment
CN115066673A (en) System and method for ETL pipeline processing
JP2022534506A (en) Processes and systems for automatic generation of functional architecture documents and software design and analysis specification documents from natural language
Ardagna et al. A fast and incremental development life cycle for data analytics as a service
Arachchi et al. System Implementation Failures in the ERP Development Process
Vasilev et al. Transformation of functional dataflow parallel programs into imperative programs
Fraternali et al. Almost rerere: An approach for automating conflict resolution from similar resolved conflicts
Olama et al. Sparse convex optimization toolkit: a mixed-integer framework
US11416222B2 (en) Determining validity of multipart branching literate programs

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination