Patent classifications
G06F8/22
Query-based software dependency analysis
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generated aggregated dependencies between software elements in a code base. One of the methods includes receiving a query that defines a dependency between the software elements in a project. Searching a database to identify matching source software elements having the one or more source attributes and target software elements having the one or more target attributes of the query. Identifying pairs of matching source software elements and matching target software elements having the specified relationship, and generating, for each pair of matching source software elements and matching target software elements having the specified relationship, a new dependency in a raw dependency graph, the new dependency being a dependency from a source software element of the pair to the target software element of the pair.
Hierarchical dependency analysis enhancements using disjoint-or trees
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing hierarchical dependency analysis using disjoint-or trees. One of the methods includes receiving, from a user, a request to remove a node from a hierarchy, wherein the hierarchy is a directed graph having nodes and links, wherein each node in the hierarchy represents a software element in the project and each directed link in the hierarchy connects a corresponding pair of nodes and represents containment of a child software element represented by a first node of the pair by a parent software element represented by a second node of the pair. If a parent element of a disjoint-or tree corresponds to a parent node of the removed node, a union of dependencies for the removed node is determined. The union of dependencies is then subtracted from the parent element and from every ancestor element of the parent element.
Integration of revision control systems and process tools
A system for software development includes a central server comprising a revision control system module; a process server including a process tool module; a local server including a local development environment; and an integration server including a mapping module. The revision control system module includes a plurality of branches. The process tool module is configured to create a ticket indicating a product requirement. The central server is configured to maintain and update the ticket that variably associates the development artifact with a respective one of the branches of the revision control system module. The integration server is configured to copy changes in the ticket stored on the revision control system to the ticket in the process tool module, and accordingly control transitions of the development artifact between the plurality of branches in the revision control system module of the central server.
Intent-based machine programming
Apparatus, devices, systems, methods, and articles of manufacture for intent-based machine programming are disclosed. An example system categorize source code blocks includes a code repository accessor to access a code repository and select a source code block. The example system also includes a signature generator to generate a signature for the source code block, a collateral miner to extract collateral associated with the source code block, and a tokenizer to transform the source code block into tokens. In addition, the example system includes a function assessor to determine a function of the source code block based on the collateral and the tokens and an input/output determiner to determine an input and an output of the source code block based on the collateral and the signature. The example system further includes a tagger to categorize the source code block with the function, input, and output.
Collaborative industrial integrated development and execution environment
A method for providing access to a development and execution (D&E) platform for development of industrial software, including providing while the D&E platform is being accessed a GUI with a development tool having process flow and code editors and an execution tool and arranging two or more programming blocks of a process flow responsive to input from an author when the process flow editor is accessed. The two or more programming blocks, when arranged, are configured to be executed. The method further includes editing source code of the two or more programming blocks responsive to input from the author when the code editor is accessed, compiling at least one of the two or more programming blocks responsive to input from the author when the execution tool is accessed, and executing the compiled at least one programming block responsive to input from the author when the execution tool is accessed.
Validating code ownership of software components in a software development system
A system validates code ownership of software components identified in a build process. The system receives a pull request identifying a set of software components. The system analyzes code ownership of each software component using machine learning. The system provides features describing the software components as input to a machine learning model. The system determines based on the output of the machine learning model, whether the code ownership of the software component can be determined accurately. If the system determines that a software component identified by the pull request cannot be determined with high accuracy, the system may block the pull request or send a message indicating that the code ownership of a software component cannot be determined accurately.
APPLICATION CREATION
Embodiments of the disclosure relate to a method, apparatus, device, and storage media for application creation. The method proposed herein comprises: obtaining configuration information for creating an application, the configuration information indicating a plurality of agents and jump information associated with the plurality of agents, the jump information indicating at least that a first agent of the plurality of agents is configured to determine whether to switch to a second agent to process a request; and creating a target application based on the configuration information. In this way, embodiments of the present disclosure can support a user in creating a multi-agent based application (e.g., a multi-agent based bot), and can be applied to process a task by switching agents.
VALIDATING CODE OWNERSHIP OF SOFTWARE COMPONENTS IN A SOFTWARE DEVELOPMENT SYSTEM
A system and method for predicting code ownership of software components using machine learning. The system accesses a set of software components, each linked to a known code owner, and extracts two sets of features: one describing each software component and another describing users associated with those components. These features are used to train a machine learning model that outputs a score indicating the likelihood that a specific user is the code owner of a specific software component. Once trained, the model is executed across a plurality of users to generate likelihood scores for a given software component. Based on these scores, the system selects a predicted code owner from the user set and associates the predicted owner with the software component.
Synchronous business process execution engine for action orchestration in a single execution transaction context
An asynchronous business process specification declared in a procedural markup language comprising an activity flow model and a plurality of activities is received. An indication is received that a subset of the plurality of activities is to be synchronously executed without reduced latency. All process execution related objects are fetched once into a memory. The synchronous subset is executed in a single execution transaction context.
SYSTEMS, METHODS, AND MEDIA FOR FACILITATING MEDICAL DEVICE SOFTWARE DEVELOPMENT COMPLIANCE
Systems, methods, and computer-readable media for facilitating medical device software development compliance are disclosed. The systems, methods, and media can receive role assignment data identifying a first plurality of user accounts with assigned roles; receive a request to generate a first project profile for developing a first medical device software application; receive a request to generate first documentation associated with the medical device software application; receive first input data in response to presenting one or more first questions; determine a software safety classification of the first medical device software application; generate the first documentation; request approval of the first documentation from each of the first plurality of user accounts with assigned roles; receive the approval of the first documentation from each of the first plurality of user accounts; generate a plurality of project phases associated with the first project profile based at least on the software safety classification.