Patent classifications
G06F8/75
Usage-based software library decomposition
Performing usage-based software library decomposition is disclosed herein. In some examples, a processor device generates a first library graph representing a first software library including multiple functions. The first library graph comprises a plurality of nodes that each correspond to a function of the first software library. The processor device identifies a function within the first software library (“invoked function”) that is directly invoked by an application that depends on the first software library, then generates a call graph including nodes within the first library graph (“dependency nodes”) corresponding to either the invoked function or another function invoked by the invoked function during application execution. Using the call graph, the processor device generates a second software library including only functions of the first software library corresponding to dependency nodes of the call graph.
Generation of knowledge graphs based on repositories of code
Techniques for code analysis are provided. User code is received, and an import statement is identified in the user code. A first empty object is generated based on the import statement, and the first empty object is named based on the name of an import reference included in the import statement. A knowledge graph is generated based at least in part on the first empty object.
Generation of knowledge graphs based on repositories of code
Techniques for code analysis are provided. User code is received, and an import statement is identified in the user code. A first empty object is generated based on the import statement, and the first empty object is named based on the name of an import reference included in the import statement. A knowledge graph is generated based at least in part on the first empty object.
Machine learning-based program analysis using synthetically generated labeled data
Techniques for performing machine learning-based program analysis using synthetically generated labeled data are described. A method of performing machine learning-based program analysis using synthetically generated labeled data may include receiving a request to perform program analysis on code, determining a first portion of the code associated with a first error type, sending the first portion of the code to an endpoint of a machine learning service associated with an error detection model to detect the first error type, the error detection model trained using synthetically generated labeled data, and receiving inference results from the error detection model identifying one or more errors of the first error type in the first portion of the code.
Machine learning-based program analysis using synthetically generated labeled data
Techniques for performing machine learning-based program analysis using synthetically generated labeled data are described. A method of performing machine learning-based program analysis using synthetically generated labeled data may include receiving a request to perform program analysis on code, determining a first portion of the code associated with a first error type, sending the first portion of the code to an endpoint of a machine learning service associated with an error detection model to detect the first error type, the error detection model trained using synthetically generated labeled data, and receiving inference results from the error detection model identifying one or more errors of the first error type in the first portion of the code.
Anti-pattern detection in extraction and deployment of a microservice
Disclosed are various embodiments for anti-pattern detection in extraction and deployment of a microservice. A software modernization service is executed to analyze a computing application to identify various applications. When one or more of the application components are specified to be extracted as an independently deployable subunit, anti-patterns associated with deployment of the independently deployable subunit are determined prior to extraction. Anti-patterns may include increases in execution time, bandwidth, network latency, central processing unit (CPU) usage, and memory usage among other anti-patterns. The independently deployable subunit is selectively deployed separate from the computing application based on the identified anti-patterns.
Systems and methods for measuring complexity of applications and components in software development and deployment platforms
Disclosed are methods, systems, devices, apparatus, media, design structures, platforms, and other implementations, including a method that includes receiving, by a processor-based device, configuration data representative of an initial arrangement of interlinked components forming a data application, and determining based on the configuration data, by the processor-based device, one or more complexity scores indicative of levels of complexities for one or more portions of the initial arrangement of interlinked components forming the data application. The method further includes automatically reconfiguring, by the processor-based device, the initial arrangement of interlinked components based on the computed one or more complexity scores to produce a resultant arrangement of interlinked components forming the data application.
Code development for deployment on a cloud platform
- Hung Dinh ,
- Rajesh Krishnan ,
- Pallavi Jaini ,
- Puttaraju Chikkanna ,
- Nikhil Reddy Kota ,
- Madhu Chilipi ,
- Venkat S. Ramachandran ,
- Navin Kumar ,
- Nithiyanandham Tamilselvan ,
- Naga Kalyan Kambapu ,
- Desai Yarlagadda ,
- Lakshmi Prasad Banala ,
- Shubham Gupta ,
- Reddeppa Kollu ,
- Sabu K. Syed ,
- Anubhab Mohanty ,
- Vibhor Sharma ,
- Md Shadab Ali
A method includes receiving code for computer programming, analyzing the code and extracting a plurality of configuration properties from the code. In the method, one or more configuration files are generated from the extracted plurality of configuration properties, and microservice code is generated from the one or more configuration files. The microservice code is configured for deployment on one or more cloud computing platforms.
Code development for deployment on a cloud platform
- Hung Dinh ,
- Rajesh Krishnan ,
- Pallavi Jaini ,
- Puttaraju Chikkanna ,
- Nikhil Reddy Kota ,
- Madhu Chilipi ,
- Venkat S. Ramachandran ,
- Navin Kumar ,
- Nithiyanandham Tamilselvan ,
- Naga Kalyan Kambapu ,
- Desai Yarlagadda ,
- Lakshmi Prasad Banala ,
- Shubham Gupta ,
- Reddeppa Kollu ,
- Sabu K. Syed ,
- Anubhab Mohanty ,
- Vibhor Sharma ,
- Md Shadab Ali
A method includes receiving code for computer programming, analyzing the code and extracting a plurality of configuration properties from the code. In the method, one or more configuration files are generated from the extracted plurality of configuration properties, and microservice code is generated from the one or more configuration files. The microservice code is configured for deployment on one or more cloud computing platforms.
METHODS AND SYSTEMS FOR INVOKING CODE IN A DIFFERENT PROGRAMMING LANGUAGE
Programmer input in a first programming language is received, the programmer input including i) a built-in function of the first programming language, the built-in function corresponding to generating code for remotely invoking an electronic object deployed, or to be deployed, on a server via a communication network, and ii) a parameter that indicates the electronic object, wherein the code for invoking the electronic object comprises a) code in a second programming language different than the first programming language, or b) code in a markup language interpretable by a web browser. The programmer input is evaluated to: i) generate the code for remotely invoking the electronic object deployed, or to be deployed, on the server, and ii) if the electronic object is not yet deployed on the server, deploy the electronic object on the server. The code for remotely invoking the electronic object is generated for inclusion in a file corresponding to a web page or a program written in the second programming language.