CN112748914B - Application program development method and device, electronic equipment and storage medium - Google Patents

Application program development method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN112748914B
CN112748914B CN202010192690.0A CN202010192690A CN112748914B CN 112748914 B CN112748914 B CN 112748914B CN 202010192690 A CN202010192690 A CN 202010192690A CN 112748914 B CN112748914 B CN 112748914B
Authority
CN
China
Prior art keywords
platform
function
grammar
api
application
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.)
Active
Application number
CN202010192690.0A
Other languages
Chinese (zh)
Other versions
CN112748914A (en
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010192690.0A priority Critical patent/CN112748914B/en
Publication of CN112748914A publication Critical patent/CN112748914A/en
Application granted granted Critical
Publication of CN112748914B publication Critical patent/CN112748914B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/72Code refactoring

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

The application relates to the technical field of computers, in particular to an application program development method, an application program development device, electronic equipment and a storage medium, which are used for improving the development efficiency of the application program, wherein the method comprises the following steps: acquiring an interface document of an API of a preset type, and analyzing to obtain function description information corresponding to the API based on the interface document; translating based on the target compiling grammar to obtain a using method corresponding to the function description information; pre-generating corresponding platform codes when calling the API under each platform according to the using method; and integrating and constructing target source codes of the API according to platform codes corresponding to the platforms so as to develop the application program based on the target source codes. According to the application, the APIs of the super APPs of different terminals are integrated into the universal compiling grammar through machine learning training, so that after a using method of a newly added API is obtained through machine learning, a multi-platform code is pre-generated, and a target source code capable of running on multiple platforms is obtained through integration, thereby improving the development efficiency of application programs.

Description

Application program development method and device, electronic equipment and storage medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to an application program development method, an application program development device, an electronic device, and a storage medium.
Background
With the development of the internet and information technology, various large super applications have been implemented to embed light applications and applets in the applications, and the embedded light applications or applets are all based on WEB technology to perform an infrastructure, and the application layer uses different similar self-developed grammar sugar languages. For a developer, there are a plurality of labor losses that waste the same labor each time the front-end presentation layer and the back-end data layer are developed one by one in the super APP (Application).
In the related technical scheme, in order to reduce labor loss, a compiling converter constructed based on a super APP grammar system is proposed, but the compiling converter uses a fixed matched interface conversion architecture, and when the super APP updates an interface each time, the compiling converter needs manual updating, so that the updating of the compiling converter is lagged, and the development efficiency of an application program is lower.
Disclosure of Invention
The embodiment of the application provides an application program development method, an application program development device, electronic equipment and a storage medium, which are used for improving the development efficiency of an application program.
The application program development method provided by the embodiment of the application comprises the following steps:
Acquiring an interface document of an API of a preset type, and analyzing and obtaining function description information corresponding to the API based on the interface document;
translating based on a target compiling grammar to obtain a using method corresponding to the function description information;
generating corresponding platform codes when calling the API under each platform in advance according to the using method;
and integrating and constructing target source codes of the API according to platform codes corresponding to the platforms so as to develop an application program based on the target source codes.
The application program development device provided by the embodiment of the application comprises:
the acquisition unit is used for acquiring an interface document of an API of a preset type and analyzing and obtaining function description information corresponding to the API based on the interface document;
a grammar compiling unit for translating based on the target compiling grammar to obtain a using method corresponding to the function description information;
the code generating unit is used for pre-generating corresponding platform codes when the APIs are called under all the platforms according to the using method;
and the integration unit is used for integrating and constructing target source codes of the API according to platform codes corresponding to the platforms so as to develop an application program based on the target source codes.
Optionally, the collecting unit is specifically configured to: crawling interface documents of the API of the preset type under any platform through a crawler; and obtaining the function description information corresponding to the API by analyzing the interface information defined in the interface document.
Optionally, the syntax compiling unit is specifically configured to: inputting the function description information into a trained grammar compiling model to obtain a using method corresponding to the function description information, wherein the using method is obtained based on the target compiling grammar, the grammar compiling model is obtained through training a training sample marked with expected operation results of the function, and the training sample contains the function description information of the function.
Optionally, the grammar compiling unit is further configured to train to obtain the trained grammar compiling model by: selecting at least one training sample from a training sample data set, wherein the training sample is marked with an expected operation result of a function; inputting function description information of a function contained in the at least one training sample into an untrained grammar compiling model to obtain an actual operation result of the function corresponding to the function description information; and optimizing parameters in the grammar compiling model through an optimization algorithm, so that the expected operation result of each training sample label is consistent with the actual operation result obtained through the grammar compiling model, and the trained grammar compiling model is obtained.
Optionally, the grammar compiling unit is further configured to generate the training sample data set by the following method, including: acquiring source codes of all platform applications, and splitting the source codes into at least one source code file according to file types; extracting each function in any source code file; translating the function functions with the same function under each platform through grammar libraries corresponding to the corresponding platforms to obtain interface documents of each function with the same function under each platform; comparing and integrating all interface documents to obtain function description information corresponding to a function with the function; and generating the training sample data set according to the function description information corresponding to the function functions of the various function functions.
Optionally, the integration unit is specifically configured to: inputting each platform code into a virtual machine respectively, and performing simulation operation on each platform code through the virtual machine to obtain an application operation result; if the application running results corresponding to all the platform codes are correct, translating each platform code into an intermediate language through a compiler; and integrating the intermediate languages obtained through translation through a public language operation library to generate target source codes corresponding to the APIs.
Optionally, the integration unit is further configured to: if the application running result corresponding to any platform code is wrong, determining an independent API corresponding to the platform according to the application running result; generating independent source codes corresponding to the independent APIs according to grammar libraries corresponding to the platform; and adding the independent source code into the target source code corresponding to the API.
The electronic device provided by the embodiment of the application comprises a processor and a memory, wherein the memory stores program codes, and when the program codes are executed by the processor, the processor is caused to execute the steps of any one of the application program development methods.
An embodiment of the application provides a computer readable storage medium comprising program code for causing an electronic device to perform the steps of any one of the application development methods described above, when the program product is run on the electronic device.
The application has the following beneficial effects:
according to the application program development method, the device, the electronic equipment and the storage medium, the APIs of different terminal superapples are integrated into the universal compiling grammar through machine learning training, so that after an interface document and a grammar use example of the newly added APIs are crawled through a crawler, function description information of the newly added APIs is obtained through translation based on the interface document, after the function description information of the newly added APIs is input into a machine learning model, a using method of the APIs under a universal grammar rule, namely under a target compiling grammar, can be learned, platform codes of calling the APIs to run the application program under each platform are pre-generated based on the using method, and the platform codes are integrated and constructed into universal source codes corresponding to the APIs after running of the platform codes without errors through simulation running of a virtual machine, namely target source codes. According to the embodiment of the application, the grammar sugar compiling engine is kept synchronous with each super API by the crawler crawling interface file, the virtual machine simulation running and the grammar translation mode, so that a set of system source codes can run on each super APP terminal, the development efficiency is improved, the problem that local updating cannot synchronously and automatically optimize the engine is solved, the method has higher market value, and the method is convenient for infinitely expanding the prior application to each unknown system platform.
Drawings
The accompanying drawings, which are included to provide a further understanding of the application and are incorporated in and constitute a part of this specification, illustrate embodiments of the application and together with the description serve to explain the application and do not constitute a limitation on the application. In the drawings:
fig. 1 is a schematic diagram of an application scenario in an embodiment of the present application;
FIG. 2 is a schematic diagram of an application development method according to an embodiment of the present application;
FIG. 3 is a schematic diagram of a grammar compilation model training and use method in an embodiment of the present application;
FIG. 4 is a schematic diagram of a source code splitting method according to an embodiment of the present application;
FIG. 5 is a schematic diagram of a syntax comparison translation method according to an embodiment of the present application;
FIG. 6 is a schematic diagram of a virtual machine simulation running method according to an embodiment of the present application;
FIG. 7 is a schematic diagram of a virtual machine framework according to an embodiment of the present application;
FIG. 8 is a diagram illustrating a code integration method according to an embodiment of the present application;
FIG. 9 is a schematic diagram of a complete method of alternative application development in an embodiment of the application;
FIG. 10 is a schematic diagram of a complete method of alternative application development in an embodiment of the application;
FIG. 11 is a schematic diagram of a composition structure of an application development device according to an embodiment of the present application;
fig. 12 is a schematic diagram of a composition structure of an electronic device according to an embodiment of the present application;
fig. 13 is a schematic diagram of a hardware configuration of a computing device to which an embodiment of the present application is applied.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present application more apparent, the technical solutions of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application, and it is apparent that the described embodiments are some embodiments of the technical solutions of the present application, but not all embodiments. All other embodiments, based on the embodiments described in the present document, which can be obtained by a person skilled in the art without any creative effort, are within the scope of protection of the technical solutions of the present application.
Some of the concepts involved in the embodiments of the present application are described below.
Light App (LAPP): the method is a full-function App which is not required to be downloaded and used immediately after searching, has good user experience and the characteristics of being searched and intelligently distributed, and can effectively solve the problem that high-quality applications and services are in butt joint with the requirements of mobile users.
Applet (Mini Program): the application can be used without downloading and installing, so that the dream that the application tentacles are available is realized, and a user can open the application by sweeping or searching.
API (Application Programming Interface ): is a predefined function that aims to provide applications and developers the ability to access a set of routines based on certain software or hardware without having to access the source code or understand the details of the internal operating mechanisms. Specifically, the programmer refers to an interface and a method for an application program, namely, an operating system is reserved for a calling interface of the application program, and the application program enables the operating system to execute a command of the application program by calling an API of the operating system.
Interface document: the application description of the API interface is used for inquiring functions and parameters of classes and methods, for example, when a newly added API appears, the functions of the newly added API can be known to a certain extent by searching an interface document. Where a class is a template that describes the behavior or state supported by its type object. The object has a state and a behavior. For example, dogs have status: color, name, variety and actions such as shaking tail, barking, eating. An object is an instance of a class. While a method refers to an action, a class may contain many methods. It is used to write logic, manipulate data and perform all operations.
Functional description information: in the embodiment of the application, the function description information refers to the function description of the API, and can be obtained through interface document analysis of the API. The function description of the API is summarized by analyzing the classes, the functions, the parameters and the like of the method defined in the interface document, but the function description information is not necessarily accurate and needs to be verified through machine learning.
Target compilation grammar: in the embodiment of the application, the application methods of APIs of different super platforms can be analyzed in a machine learning training mode, the general application rules of the grammar are summarized, the target compilation grammar of the APIs applicable to the super APPs of different platforms is obtained through integration, and the APIs are compiled based on the general compilation grammar, so that the system source code capable of running on multiple platforms can be obtained.
Functional function: the method is used for realizing calling of the API, data preprocessing, data display and data export. The operating system not only coordinates the execution of the application program, memory allocation and system resource management, but also is a large service center, and calls various services (each service is a function) of the service center, so that the application program can be helped to achieve the purposes of opening windows, drawing graphs and using peripheral equipment.
Syntax sugar: refers to a grammar added in a computer language, which has no influence on the function of the language, but is more convenient for programmers to use, and is a grammar in a programming language that can more easily express an operation. Generally speaking, using the grammar can increase the readability of the program, so that the programmer can use the language more easily, the operation can be clearer and more convenient, or the programming habit of the programmer can be more met, thereby reducing the probability of error of the program code and improving the development efficiency.
Web crawler: is a program for automatically acquiring webpage content, and is an important component of a search engine. According to the embodiment of the application, the web crawlers can crawl the interface documents of the newly added functions of each platform, and further the application method of the universal compiling grammar corresponding to the newly added function API is obtained through machine learning.
Super APP: in the embodiment of the application, the super APP refers to an APP which is relatively widely applied, such as chat software, shopping software and the like. The super API refers to an API common to the platforms, and can be understood as an API of each platform.
Compiling: a process of generating a target program from a source program written in a source language using a compiler, or an action of generating the target program using the compiler. The compiler divides the process of translating a source program into a target program into five phases: lexical analysis; analyzing grammar; semantic checking and intermediate application development; code optimization; and developing a target application program. The method mainly comprises lexical analysis and grammar analysis, also called source program analysis, wherein grammar errors are found in the analysis process, and prompt information is given.
A compiler: target source code may be generated to run in the same environment as the computer and operating system (platform) on which the compiler itself resides. In addition, the compiler may also generate target source code for execution on other platforms. In an embodiment of the application, a compiler is used to generate target source code for execution on other platforms.
Public language runtime (common language runtime, CLR): an engine in the managed code execution core. The runtime provides various services for managed code, such as cross-language integration, code access security, object lifetime management, debugging, and analytics support. With a common language runtime, components and applications can be easily designed where objects can interact across languages. That is, objects written in different languages can communicate with each other, and their behaviors can be tightly integrated. For example, one class may be defined and then another class derived from the original class or a method of calling the original class using a different language. An instance of one class may also be passed to a method of another class written in a different language. This cross-language integration is made possible because the common language runtime-based language compilers and tools use the generic type system defined by the common language runtime, and they follow the rules of the common language runtime with respect to defining new types and creating, using, holding and binding to types.
Artificial intelligence (Artificial Intelligence, AI) is the theory, method, technique and application system that uses a digital computer or a machine controlled by a digital computer to simulate, extend and extend human intelligence, sense the environment, acquire knowledge and use the knowledge to obtain optimal results. In other words, artificial intelligence is an integrated technology of computer science that attempts to understand the essence of intelligence and to produce a new intelligent machine that can react in a similar way to human intelligence. Artificial intelligence, i.e. research on design principles and implementation methods of various intelligent machines, enables the machines to have functions of sensing, reasoning and decision.
The artificial intelligence technology is a comprehensive subject, and relates to the technology with wide fields, namely the technology with a hardware level and the technology with a software level. Artificial intelligence infrastructure technologies generally include technologies such as sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technologies, operation/interaction systems, mechatronics, and the like. The artificial intelligence software technology mainly comprises a computer vision technology, a voice processing technology, a natural language processing technology, machine learning/deep learning and other directions.
Machine Learning (ML) is a multi-domain interdisciplinary, involving multiple disciplines such as probability theory, statistics, approximation theory, convex analysis, algorithm complexity theory, etc. It is specially studied how a computer simulates or implements learning behavior of a human to acquire new knowledge or skills, and reorganizes existing knowledge structures to continuously improve own performance. Machine learning is the core of artificial intelligence, a fundamental approach to letting computers have intelligence, which is applied throughout various areas of artificial intelligence. Machine learning and deep learning typically include techniques such as artificial neural networks, confidence networks, reinforcement learning, transfer learning, induction learning, teaching learning, and the like.
The application program development method provided in the embodiment of the application can be divided into two parts, including a training part and a detection part; the training part relates to the technical field of machine learning, in the training part, a grammar compiling model is trained through the machine learning technology, after various functional functions are obtained through analyzing terminal application source codes, functional descriptions of the functional functions are obtained through grammar comparison and translation aiming at the functional functions of the same type, input characteristic factor values in the grammar compiling model are also input, and further, based on a machine learning training mode, a corresponding relation between the functional descriptions of the functional functions of different types and a using method of a general compiling grammar is established, so that APIs of super APPs of different terminals are integrated into the general compiling grammar; the detection part is used for obtaining the function description information of the API through analyzing the interface document when the interface document of the newly added API of each platform is crawled by the web crawler, further inputting the function description information of the newly added API into the grammar compiling model to obtain the using method of the API with the function under the general compiling grammar, and generating a set of source codes which can run on multiple platforms across the terminal system based on the using method.
The following briefly describes the design concept of the embodiment of the present application:
in order to reduce the labor loss caused by multiple wastes of the same labor force in the super application development process, the related technical scheme adopts a converter constructed based on a super APP grammar system to realize API compiling, but the converter uses a fixed matched interface conversion architecture, and the conversion editor needs to be manually updated every time the super APP updates the interface, so that the compiling converter in the related technical scheme is very lagged behind in updating.
In view of the above, the embodiments of the present application provide an application development method, an apparatus, an electronic device, and a storage medium. The method has the advantages that APIs of super APPs of different terminals are integrated into universal compiling grammar through machine learning training, when an interface document of an API newly added to each platform is crawled by a crawler, the use rule of the newly added API under the universal compiling grammar can be learned through machine learning, the platform code which is simulated and operated on each platform is pre-generated based on the use rule, then the virtual machine is simulated and operated, after the operation result is confirmed to be correct, the grammar sugar compiling engine is kept synchronous with each super API through grammar translation and integration, a set of system source codes can be operated on each super APP application terminal, the development efficiency is improved, the problem that local updating cannot be synchronous and automatic optimizing engines is solved, and the method is convenient for infinitely expanding the prior application to each unknown system platform.
The preferred embodiments of the present application will be described below with reference to the accompanying drawings of the specification, it being understood that the preferred embodiments described herein are for illustration and explanation only, and not for limitation of the present application, and embodiments of the present application and features of the embodiments may be combined with each other without conflict.
Fig. 1 is a schematic diagram of an application scenario according to an embodiment of the present application. The application scenario diagram includes two terminal devices 110 and a server 130, and the related interfaces 120 executed by the respective applications on the terminal devices can be logged in through the terminal devices 110. Communication between the terminal device 110 and the server 130 may be performed through a communication network.
In an alternative embodiment, the communication network is a wired network or a wireless network.
In the embodiment of the present application, the terminal device 110 is an electronic device used by a user, and the electronic device may be a computer device having a certain computing capability, such as a personal computer, a mobile phone, a tablet computer, a notebook computer, an electronic book reader, etc., and running instant messaging software and a website or social software and a website. Each terminal device 110 is connected to the server 130 through a wireless network, where the server 130 may be an independent physical server, or may be a server cluster or a distributed system formed by multiple physical servers, or may be a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDNs, and basic cloud computing services such as big data and an artificial intelligent platform. The terminal may be, but is not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, etc. The terminal and the server may be directly or indirectly connected through wired or wireless communication, and the present application is not limited herein.
Referring to fig. 2, a flowchart of an implementation of an application development method according to an embodiment of the present application is shown, where a specific implementation flow of the method is as follows:
s21: acquiring an interface document of an API of a preset type, and analyzing to obtain function description information corresponding to the API based on the interface document;
the preset type refers to an API newly added by each platform after a preset statistical time. For example, if the preset statistics period is three months, at some point after the preset statistics period, the chat software a opens up many latest functions, which correspond to the APIs updated accordingly.
In an alternative embodiment, when the function description information corresponding to the API is obtained, the function description information may be obtained based on web crawler crawling, specifically: crawling interface documents of APIs of a preset type under any platform through a crawler; and obtaining the function description information corresponding to the API by analyzing the interface information defined in the interface document.
The interface information of the interface document refers to classes, functions, parameters and the like of the method, which are defined in the interface document and related to the API.
For example, after the chat application a newly adds the H5 payment function after the preset statistics period, the web crawler may crawl the interface document of the API corresponding to the newly added H5 payment function of the chat application a, so as to obtain the function description information of the API based on the analysis of the interface information defined in the interface document.
In the above embodiment, the update of the interface document of the latest API and the grammar use case are monitored by the method of intelligent monitoring by the crawler, so that the target source code corresponding to the newly added API is generated according to the interface document, that is, the source code generated by adopting the general-purpose compiling grammar, so that the grammar sugar compiling engine is kept synchronous with each super API, a set of system source codes can be operated on each super APP application terminal, and the problem that the local update cannot synchronize the automatic optimizing engine is solved.
S22: translating based on the target compiling grammar to obtain a using method corresponding to the function description information;
in the embodiment of the application, the target compiling grammar is a general compiling grammar obtained through machine learning, the general compiling grammar is applicable to each platform, and the system source code which can run on multiple platforms can be obtained by compiling the API based on the general compiling grammar.
In an alternative embodiment, the method of use corresponding to the function description information of the newly added API may be specifically obtained by:
the function description information is input into a trained grammar compiling model, a using method of the output of the grammar compiling model is obtained, namely, the using method is obtained based on target compiling grammar translation and corresponds to the function description information.
As shown in fig. 3, the new data, i.e. the newly acquired API, may obtain the function description information of the newly added API through the step in S21, and use the function description information as the input feature of the grammar compiling model, that is, the factor value, to refer to the function description of the newly added API, predict the input function description information through the trained grammar compiling model, and predict whether it can reach the function actually required to be implemented by the newly added API, that is, the H5 payment function, if so, the output data is marked as good, indicating that the expected running result can be implemented; otherwise, the output data is marked as poor performance, which indicates that the expected operation result is not achieved. Meanwhile, when the output data is marked as good, the grammar compiling model also outputs a using method corresponding to the function description information, namely a using method of the newly added API, and the using method is obtained by translating the input function description information based on the general compiling grammar.
As can be seen from fig. 3, the grammar compiling model is trained by a training sample labeled with expected operation results, and specifically, the grammar compiling model is trained by the following ways:
selecting at least one training sample from the training sample data set, wherein the training sample is marked with an expected operation result of the function;
Inputting function description information of the function contained in at least one training sample into an untrained grammar compiling model to obtain an actual operation result of the function corresponding to the function description information output by the grammar compiling model;
and optimizing parameters in the grammar compiling model through an optimization algorithm, so that the expected operation result of each training sample label is consistent with the actual operation result obtained through the grammar compiling model, and a trained grammar compiling model is obtained.
The data label on the training sample is determined according to the expected operation result, if the expected operation result can be realized, the function corresponding to the function description information can be realized, the data label is 1, the sample belongs to a positive sample, otherwise, the sample belongs to a negative sample, the data label is 0, and the sample belongs to a negative sample.
In the embodiment of the application, the APIs of different terminal super APPs are integrated into a universal compiling grammar by analyzing the application methods of APIs of different super platforms through machine learning training. In addition, the intelligent machine is convenient to use in a training and application mode.
The training sample data set is acquired in a preset statistical time, and the specific acquisition mode is as follows:
Acquiring source codes of all platform applications, and splitting the source codes into at least one source code file according to file types; extracting each function in the source code file aiming at any source code file; translating the function functions with the same function under each platform through grammar libraries corresponding to the corresponding platforms to obtain interface documents of each function with the same function under each platform; comparing and integrating all interface documents to obtain function description information corresponding to a function with a function; and generating a training sample data set according to the function description information corresponding to the function functions of the various function functions.
Referring to fig. 4, a source code of a certain terminal application is taken as an example to describe in detail, first, the source code of the terminal application is obtained, and the source code is split into a plurality of source code files with different file types through a classification filter. The several file types listed in fig. 4 include: appearance sample files, model architecture files, logic flow files, and other files, wherein appearance style files are files used to describe application interface configuration, such as configuring an application interface in a dynamic or rendered manner; the module architecture file is a file for describing a module processing flow, for example, how an a module should process to implement an a service, how a B module should process to implement a B service, and so on; the logic flow file is a file for describing logic between modules, for example, the a model is used for realizing the service of appointment registration, and after appointment registration is clicked, the next step should jump to what module, what service is realized, and so on; other files refer to files other than the three types.
It should be noted that, the file types listed in the above embodiments are only examples, and are not limited in particular herein.
In the embodiment of the application, after splitting the source code into a plurality of source code files according to the file types, further splitting the source code according to the function functions to obtain the function functions with different function functions, such as the function 1, the function 2, the function 3, the function 4 and the like shown in fig. 4, and further identifying the grammars corresponding to the function functions through an API grammar module.
In the embodiment of the application, the corresponding grammar of the function functions with the same function under different platforms is also different, for example, the function 1 corresponding to the platform 1, the function 2 corresponding to the platform 2, and the function 3 corresponding to the platform 3 all have the same function, for example, the function functions are all function functions 1, and for the function functions, the grammar libraries corresponding to the function functions are determined through central grammar library comparison, and then the interface documents corresponding to the 3 function functions are obtained through translation of the grammar libraries corresponding to the corresponding platforms. The central grammar library comprises a plurality of different grammar libraries, such as grammar library 1, grammar library 2 and grammar library 3 … … shown in fig. 5, which belong to the central grammar library.
For example, the function 1 corresponds to the grammar library 1, the interface document of the function 1 under the platform 1 is obtained by translation based on the grammar library 1, the interface document of the function 2 under the platform 2 is obtained based on the grammar library 2, the interface document of the function 3 under the platform 3 is obtained based on the grammar library 3, and the like. And integrating the platform 1 interface document, the platform 2 interface document and the platform 3 interface document to obtain function description information corresponding to the function 1.
It should be noted that in the embodiment of the present application, the file and the function have different type flags (IDs) for identifying the type of the file or the function of the function, so that different types of source code files can be obtained based on the ID splitting, and different function functions can be obtained by splitting.
In the above embodiment, the files of each platform are classified by the source code of each platform, then the same function of each platform is matched with the function description, the function description corresponding to the function based on different function functions is matched with the training grammar compiling model, and the API of the super APP of each platform is integrated into the general grammar compiling, so that the grammar compiling model learns how to use the general grammar through the training of a large number of training samples. And then, when climbing to the newly added function of each platform by using a crawler, translating the function description of the newly added API, verifying whether the translated function description information can be recognized by a machine or not through a grammar compiling model, and further determining the using method of the newly added API under the general compiling grammar.
S23: pre-generating corresponding platform codes when calling the API under each platform according to the using method;
s24: and integrating and constructing target source codes of the API according to platform codes corresponding to the platforms so as to develop the application program based on the target source codes.
In the embodiment of the application, after the usage method of the newly added API determined based on the general-purpose compiling grammar is obtained through machine learning, specific parameters are correspondingly supplemented, platform codes such as the platform 1 code, the platform 2 code and the platform 3 code shown in fig. 6 when the newly added API is called under each platform are generated, and then each platform code is respectively input into a virtual machine to perform simulated operation, whether the application program can be successfully operated based on the platform codes to realize the corresponding function is judged, and when the newly added API is an H5 payment function, whether the virtual machine operation result successfully realizes the payment function is judged.
As shown in fig. 6, when each platform code is run by a virtual machine, each platform code can be respectively input into a different virtual machine to perform simulation running at the same time, so as to obtain an application running result corresponding to each platform code, namely a result 1, a result 2 and a result 3 in the figure. In addition, the same virtual machine can be adopted to perform simulation operation, for example, the virtual machine is used for performing simulation operation on the platform 1 code to obtain a result 1; then the virtual machine is used for carrying out simulation operation on the platform 2 codes to obtain a result 2; and finally, carrying out simulation operation on the platform 3 code through the virtual machine to obtain a result 3. And integrating the platform codes according to the results to obtain seed source codes, namely target source codes of the newly added API, and running the cloud codes of the terminal platforms.
Referring to fig. 7, a schematic diagram of a virtual machine structure according to an embodiment of the present application is provided, in which an external program, that is, an external program that needs to be put into a virtual machine to perform a simulation operation, in the embodiment of the present application, is a platform code, and an owner program is an internal program of the virtual machine, and the owner has readable, writable and executable rights; the port is a port which is opened by the virtual machine and used for calling an external program. In the embodiment of the application, the application running result of each platform can be obtained by inputting the codes of each platform into the virtual machine for simulation running.
In an alternative embodiment, when the target source code of the API is built according to the platform code integration corresponding to each platform, the specific process is as follows:
inputting each platform code into a virtual machine respectively, and performing simulation operation on each platform code through the virtual machine to obtain an application operation result; if the application running results corresponding to all the platform codes are correct, translating each platform code into an intermediate language through a compiler; and integrating the intermediate languages obtained through translation through a public language operation library to generate target source codes corresponding to the APIs.
As shown in fig. 8, the platform 1 code, the platform 2 code and the platform 3 code are translated into intermediate languages through a compiler and then integrated into target cloud codes through a common grammar operation library, wherein components and application programs which can be interacted across languages of objects can be easily designed based on the common language operation library, objects written in different languages can be mutually communicated, behaviors of the components and the application programs can be tightly integrated, and finally target source codes which can be operated on each terminal platform are formed, so that one set of system source codes can be operated on each super APP application terminal, and development efficiency of the application programs is improved. In addition, because the function description information in the embodiment of the application corresponds to a function instead of a function, the target source code generated based on the use method corresponding to the function description information is applicable to all APIs with the same function, so that the problem of inconsistent automatic conversion of interfaces of a similar-function multi-system platform can be solved.
Optionally, if the application running result corresponding to any platform code is wrong, determining an independent API corresponding to the platform according to the application running result; generating independent source codes corresponding to independent APIs according to grammar libraries corresponding to the platform; and adding the independent source code into the target source code corresponding to the API.
In the embodiment of the present application, when a platform is to implement the function of a newly added API, it may also be necessary to combine other APIs, which are called independent APIs, that is, APIs that are only required by the platform. For example, an error occurs in the operation result of the platform 1, and then the application operation result is combined, so that the cause of the error is determined, and then an independent API corresponding to the platform 1 is determined, that is, the function of the independent API is only provided with, for example, an authentication function on the platform 1, and then the source code of the API of the authentication function needs to be supplemented in the code of the platform 1 according to the grammar library 1 corresponding to the platform 1, specifically, the independent source code corresponding to the independent API is generated and added to the target source code corresponding to the newly added API.
In the above embodiment, when the operation result is problematic, different languages may be judged based on the environment, and an independent system source code may be added, and finally, a set of system source codes capable of operating in the super APP of each terminal may be formed by integrating and compressing, thereby improving the development efficiency.
Referring to fig. 9, a complete method of application development is shown in an embodiment of the present application. The specific implementation flow of the method is as follows:
s91: acquiring application source codes of all terminals, and splitting the source codes into a plurality of source code files according to file types;
s92: splitting each source code file according to the function, and extracting the function in each source code file;
s93: analyzing grammar of each function, translating the function functions with the same function under each platform through grammar libraries corresponding to the corresponding platforms to obtain interface documents of each function with the same function under each platform;
s94: comparing and integrating all interface documents aiming at all function functions of the same function to obtain function description information corresponding to the function of the function;
s95: generating a training sample data set according to function description information corresponding to function functions of various function functions;
s96: selecting a training sample from the training sample data set, and inputting the training sample into an untrained grammar compiling model for training, wherein the training sample is marked with an expected operation result of the function;
s97: continuously optimizing parameters in the grammar compiling model through an optimization algorithm to obtain a trained grammar compiling model;
S98: crawling interface documents of newly added APIs of each platform through a crawler;
s99: obtaining function description information corresponding to the API by analyzing the interface document;
s910: inputting the function description information into a trained grammar compiling model to obtain a using method which is output by the grammar compiling model and corresponds to the function description information under the target compiling grammar;
s911: pre-generating corresponding platform codes when calling the API under each platform according to the using method;
s912: inputting each platform code into a virtual machine respectively, and performing simulation operation on each platform code through the virtual machine to obtain an application operation result;
s913: and if the application running results corresponding to all the platform codes are correct, integrating and compressing all the platform codes to generate the target source codes corresponding to the newly added API.
Referring to fig. 10, a complete method of developing another application program according to an embodiment of the application is shown. The specific implementation flow of the method is as follows:
firstly, splitting a terminal source code according to a file type by adopting a method shown in fig. 4, continuously splitting the source code according to a function, finally storing the source code in a database according to classification, extracting the function from a library, identifying the function of the same function by a function module, comparing and determining grammars corresponding to all the function functions of the same function by adopting a central grammar library by adopting the method shown in fig. 5, carrying out grammar translation, and then integrating grammar judgment to obtain a general grammar function description corresponding to the function of the function.
Through the process, based on the application source codes of all terminals, all large terminal APIs can be obtained, the APIs are represented through indexes, further, functional description information corresponding to the APIs with the same functions is obtained through analysis by comparing the indexes, then the application methods of all APIs are obtained through integration training, and finally, based on the mode of virtual machine simulation operation, the target source codes are integrated and generated based on training results.
As shown in fig. 11, which is a schematic structural diagram of the application development device 1100, may include:
the acquisition unit 1101 is configured to acquire an interface document of an API of a preset type, and obtain functional description information corresponding to the API based on analysis of the interface document;
a grammar compiling unit 1102 for translating based on the target compiling grammar to obtain a usage method corresponding to the function description information;
a code generating unit 1103, configured to pre-generate, according to a usage method, a platform code corresponding to when each platform calls an API;
and an integration unit 1104, configured to integrate and construct the target source code of the API according to the platform code corresponding to each platform, so as to develop the application program based on the target source code.
Optionally, the acquisition unit 1101 is specifically configured to: crawling interface documents of APIs of a preset type under any platform through a crawler; and obtaining the function description information corresponding to the API by analyzing the interface information defined in the interface document.
Optionally, the syntax compiling unit 1102 is specifically configured to: and inputting the function description information into a trained grammar compiling model to obtain a using method corresponding to the function description information based on target compiling grammar translation, wherein the grammar compiling model is obtained by training a training sample marked with expected operation results of the function, and the training sample contains the function description information of the function.
Optionally, the grammar compiling unit 1102 is further configured to train to obtain a trained grammar compiling model by: selecting at least one training sample from the training sample data set, wherein the training sample is marked with an expected operation result of the function; inputting function description information of the function contained in at least one training sample into an untrained grammar compiling model to obtain an actual operation result of the function corresponding to the function description information output by the grammar compiling model; and optimizing parameters in the grammar compiling model through an optimization algorithm, so that the expected operation result of each training sample label is consistent with the actual operation result obtained through the grammar compiling model, and a trained grammar compiling model is obtained.
Optionally, the grammar compiling unit 1102 is further configured to generate the training sample data set by: acquiring source codes of all platform applications, and splitting the source codes into at least one source code file according to file types; extracting each function in the source code file aiming at any source code file; translating the function functions with the same function under each platform through grammar libraries corresponding to the corresponding platforms to obtain interface documents of each function with the same function under each platform; comparing and integrating all interface documents to obtain function description information corresponding to a function with a function; and generating a training sample data set according to the function description information corresponding to the function functions of the various function functions.
Optionally, the integration unit 1104 is specifically configured to: inputting each platform code into a virtual machine respectively, and performing simulation operation on each platform code through the virtual machine to obtain an application operation result; if the application running results corresponding to all the platform codes are correct, translating each platform code into an intermediate language through a compiler; and integrating the intermediate languages obtained through translation through a public language operation library to generate target source codes corresponding to the APIs.
Optionally, the integrating unit 1104 is further configured to: if the application running result corresponding to any platform code is wrong, determining an independent API corresponding to the platform according to the application running result; generating independent source codes corresponding to independent APIs according to grammar libraries corresponding to the platform; and adding the independent source code into the target source code corresponding to the API.
For convenience of description, the above parts are separately described as functionally split into modules (or units). Of course, the functions of each module (or unit) may be implemented in the same piece or pieces of software or hardware when implementing the present application.
Having described the application development method and apparatus of the exemplary embodiment of the present application, next, an application development apparatus according to another exemplary embodiment of the present application is described.
In some possible implementations, the embodiment of the present application further provides an electronic device, as shown in fig. 12, where the electronic device 1200 may include at least one processor 1201 and at least one memory 1202. In which a memory 1202 stores program code that, when executed by a processor 1201, causes the processor 1201 to perform the steps in the application program development method according to various exemplary embodiments of the application described above in this specification. For example, the processor 1201 may perform the steps as shown in fig. 2.
In some possible implementations, embodiments of the present application further provide a computing device that may include at least one processing unit, and at least one storage unit. Wherein the storage unit stores program code which, when executed by the processing unit, causes the processing unit to perform the steps in the service invocation method according to various exemplary embodiments of the application described in the present specification. For example, the processing unit may perform the steps as shown in fig. 2.
A computing device 1300 according to this embodiment of the application is described below with reference to fig. 13. The computing device 1300 of fig. 13 is only one example and should not be taken as limiting the functionality and scope of use of embodiments of the present application.
As shown in fig. 13, computing device 1300 is embodied in the form of a general purpose computing device. The components of computing device 1300 may include, but are not limited to: the at least one processing unit 131, the at least one memory unit 132, and a bus 133 connecting the different system components, including the memory unit 132 and the processing unit 131.
Bus 133 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a processor, and a local bus using any of a variety of bus architectures.
The storage unit 132 may include readable media in the form of volatile memory such as Random Access Memory (RAM) 1321 and/or cache storage unit 1322, and may further include Read Only Memory (ROM) 1323.
The storage unit 132 may also include a program/utility 1325 having a set (at least one) of program modules 1324, such program modules 1324 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each or some combination of which may include an implementation of a network environment.
Computing device 1300 can also communicate with one or more external devices 134 (e.g., keyboard, pointing device, etc.), one or more devices that enable a user to interact with computing device 1300, and/or any device (e.g., router, modem, etc.) that enables computing device 1300 to communicate with one or more other computing devices. Such communication may occur through an input/output (I/O) interface 135. Moreover, computing device 1300 may also communicate with one or more networks such as a Local Area Network (LAN), a Wide Area Network (WAN) and/or a public network, for example, the Internet, through network adapter 136. As shown, the network adapter 136 communicates with other modules for the computing device 1300 over the bus 133. It should be appreciated that although not shown, other hardware and/or software modules may be used in connection with computing device 1300, including, but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, data backup storage systems, and the like.
In some possible embodiments, aspects of the application development method provided by the present application may also be implemented in the form of a program product, which includes program code for causing a computer device to perform the steps of the application development method according to the various exemplary embodiments of the application described above when the program product is run on the computer device, for example, the computer device may perform the steps as shown in fig. 2.
It will be apparent to those skilled in the art that various modifications and variations can be made to the present application without departing from the spirit or scope of the application. Thus, it is intended that the present application also include such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.

Claims (10)

1. An application development method, comprising:
acquiring an interface document of an Application Programming Interface (API) of a preset type, and analyzing and obtaining function description information corresponding to the API based on interface information defined in the interface document;
inputting the function description information into a trained grammar compiling model to obtain a using method corresponding to the function description information, which is obtained based on target compiling grammar translation; the target compiling grammar is a general compiling grammar obtained through machine learning;
Generating corresponding platform codes when calling the API under each platform in advance according to the using method;
integrating and constructing target source codes of the API according to platform codes corresponding to all the platforms so as to develop an application program based on the target source codes; the target source code is seed source code which can run on each platform.
2. The method of claim 1, wherein the obtaining an interface document of the API of the preset type, and analyzing to obtain the function description information corresponding to the API based on the interface information defined in the interface document, includes:
crawling interface documents of the API of the preset type under any platform through a crawler;
and obtaining the function description information corresponding to the API by analyzing the interface information defined in the interface document.
3. The method of claim 1, wherein the grammar compilation model is trained from training samples labeled with expected operating results of the function, the training samples containing function description information for the function.
4. The method of claim 1, wherein the trained grammar compilation model is trained by:
Selecting at least one training sample from a training sample data set, wherein the training sample is marked with an expected operation result of a function;
inputting the function description information contained in the at least one training sample into an untrained grammar compiling model to obtain an actual operation result of a function corresponding to the function description information;
and optimizing parameters in the grammar compiling model through an optimization algorithm, so that the expected operation result of each training sample label is consistent with the actual operation result obtained through the grammar compiling model, and the trained grammar compiling model is obtained.
5. The method of claim 4, wherein generating the training sample data set comprises:
acquiring source codes of all platform applications, and splitting the source codes into at least one source code file according to file types;
extracting each function in any source code file;
translating the function functions with the same function under each platform through grammar libraries corresponding to the corresponding platforms to obtain interface documents of each function with the same function under each platform;
Comparing and integrating all interface documents to obtain function description information corresponding to a function with the function;
and generating the training sample data set according to the function description information corresponding to the function functions of the various function functions.
6. The method as claimed in any one of claims 1 to 5, wherein said integrating and constructing the target source code of the API according to the platform code corresponding to each platform includes:
inputting each platform code into a virtual machine respectively, and performing simulation operation on each platform code through the virtual machine to obtain an application operation result;
if the application running results corresponding to all the platform codes are correct, translating each platform code into an intermediate language through a compiler;
and integrating the intermediate languages obtained through translation through a public language operation library to generate target source codes corresponding to the APIs.
7. The method of claim 6, wherein the method further comprises:
if the application running result corresponding to any platform code is wrong, determining an independent API corresponding to the platform according to the application running result;
generating independent source codes corresponding to the independent APIs according to grammar libraries corresponding to the platform;
And adding the independent source code into the target source code corresponding to the API.
8. An application development device, comprising:
the acquisition unit is used for acquiring an interface document of an API of a preset type and analyzing and obtaining function description information corresponding to the API based on interface information defined in the interface document;
the grammar compiling unit is used for inputting the function description information into a trained grammar compiling model to obtain a using method corresponding to the function description information, which is obtained based on target compiling grammar translation; the target compiling grammar is a general compiling grammar obtained through machine learning;
the code generating unit is used for pre-generating corresponding platform codes when the APIs are called under all the platforms according to the using method;
the integration unit is used for integrating and constructing target source codes of the API according to platform codes corresponding to the platforms so as to develop application programs based on the target source codes; the target source code is seed source code which can run on each platform.
9. An electronic device comprising a processor and a memory, wherein the memory stores program code that, when executed by the processor, causes the processor to perform the steps of the method of any of claims 1-7.
10. A computer readable storage medium, characterized in that it comprises a program code for causing an electronic device to perform the steps of the method according to any one of claims 1-7, when said program product is run on said electronic device.
CN202010192690.0A 2020-03-18 2020-03-18 Application program development method and device, electronic equipment and storage medium Active CN112748914B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010192690.0A CN112748914B (en) 2020-03-18 2020-03-18 Application program development method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010192690.0A CN112748914B (en) 2020-03-18 2020-03-18 Application program development method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN112748914A CN112748914A (en) 2021-05-04
CN112748914B true CN112748914B (en) 2023-09-19

Family

ID=75645294

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010192690.0A Active CN112748914B (en) 2020-03-18 2020-03-18 Application program development method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112748914B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220277B (en) * 2021-06-01 2023-12-19 西北工业大学 Development method and device for embedded service
CN113360184B (en) * 2021-06-04 2024-06-18 曙光信息产业(北京)有限公司 Multi-ecological software migration method and device, computer equipment and storage medium
CN113625999B (en) * 2021-08-10 2024-04-09 北京阅见未来网络科技有限公司 Application program generation method, device, equipment and storage medium
CN114036876B (en) * 2021-09-17 2023-03-24 清华大学 Integrated circuit EDA platform
CN114185551B (en) * 2022-02-17 2022-06-21 浙江口碑网络技术有限公司 Applet compiling method, applet running method and device and storage medium
CN116880811A (en) * 2022-03-28 2023-10-13 中兴通讯股份有限公司 Method for determining compiling optimization options, electronic device and readable storage medium
CN116450107B (en) * 2023-04-04 2023-12-01 北京科乐园网络科技有限公司 Method and device for secondary development of software by low-code platform and electronic equipment
CN117472336B (en) * 2023-12-28 2024-04-12 芯瞳半导体技术(山东)有限公司 Code generating device based on program API, method, equipment and medium thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1755721A (en) * 2004-10-01 2006-04-05 微软公司 Componentized and extensible workflow model
CN101546263A (en) * 2009-03-23 2009-09-30 深圳市金蝶中间件有限公司 Method and a system for binding Java source code and corresponding accessory information
CN109542443A (en) * 2017-07-27 2019-03-29 阿里巴巴集团控股有限公司 Compilation Method and device, terminal, the data processing method of application program
CN109976761A (en) * 2019-02-27 2019-07-05 平安科技(深圳)有限公司 Generation method, device and the terminal device of Software Development Kit
CN110134378A (en) * 2018-02-08 2019-08-16 腾讯科技(深圳)有限公司 Application program creation method and device, computer equipment and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1755721A (en) * 2004-10-01 2006-04-05 微软公司 Componentized and extensible workflow model
CN101546263A (en) * 2009-03-23 2009-09-30 深圳市金蝶中间件有限公司 Method and a system for binding Java source code and corresponding accessory information
CN109542443A (en) * 2017-07-27 2019-03-29 阿里巴巴集团控股有限公司 Compilation Method and device, terminal, the data processing method of application program
CN110134378A (en) * 2018-02-08 2019-08-16 腾讯科技(深圳)有限公司 Application program creation method and device, computer equipment and storage medium
CN109976761A (en) * 2019-02-27 2019-07-05 平安科技(深圳)有限公司 Generation method, device and the terminal device of Software Development Kit

Also Published As

Publication number Publication date
CN112748914A (en) 2021-05-04

Similar Documents

Publication Publication Date Title
CN112748914B (en) Application program development method and device, electronic equipment and storage medium
US10162611B2 (en) Method and apparatus for business rule extraction
CN111708539B (en) Application program code conversion method and device, electronic equipment and storage medium
US11797298B2 (en) Automating identification of code snippets for library suggestion models
US20200293433A1 (en) Automating Identification of Test Cases for Library Suggestion Models
WO2019051388A1 (en) Automating generation of library suggestion engine models
WO2018226598A1 (en) Method and system for arbitrary-granularity execution clone detection
Clarke et al. Modeling spatial and temporal variability with the HATS abstract behavioral modeling language
Schneider Components, Scripts, and Glue: A conceptual framework for software composition
US11816456B2 (en) Notebook for navigating code using machine learning and flow analysis
WO2021258692A1 (en) Multi-chip compatible compiling method and device
CN112988165A (en) Kubernetes-based interactive modeling method and device, electronic equipment and storage medium
US11275567B1 (en) Making communication interfaces pluggable by using mechanisms comprising of exchange/broker for communication interfaces
WO2023014370A1 (en) Source code synthesis for domain specific languages from natural language text
CN115469860B (en) Method and system for automatically generating demand-to-software field model based on instruction set
CN117215661A (en) Event processing method, device and storage medium
CN113626035B (en) Neural network compiling method facing RISC-V equipment based on TVM
Itsykson Partial specifications of libraries: Applications in software engineering
Romanov et al. Approaches for Representing Software as Graphs for Machine Learning Applications
Alanazi Software Analytics for Improving Program Comprehension
CN113849785B (en) Mobile terminal information asset use behavior identification method for application program
Amrani Towards the Formal Verification of Model Transformations: An Application to Kermeta
Körner et al. 50 Years of Prolog and Beyond
Gadea Llopis CHATBOT a digital assistant with built-in AI
Lin Advancing Automated Software Testing Through Test Reuse

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40043873

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant