Process-aware code migration

US9239873B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9239873-B2
Application numberUS-201313926229-A
CountryUS
Kind codeB2
Filing dateJun 25, 2013
Priority dateJun 25, 2013
Publication dateJan 19, 2016
Grant dateJan 19, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A mechanism is provided for process-aware code migration. A plurality of nodes and a plurality of edges are annotated within a call graph with information from execution data for executing the code and a topology of the data processing system to form an annotated call graph. Each node in the plurality of nodes is clustered into an associated cluster based on a subset of attributes used from the execution data or the topology to generate the annotated call graph to form a clustered call graph comprising a plurality of clusters. The execution data associated with each cluster in the plurality of clusters is process mined to form an existing process model. Processes identified within the existing process model are mapped to a proposed business-process model thereby forming a set of correlations between the existing process model and the proposed business-process model.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, in a data processing system, for process-aware code migration, the method comprising: annotating a plurality of nodes and a plurality of edges within a call graph with information from execution data for executing the code and a topology of the data processing system to form an annotated call graph; clustering each node in the plurality of nodes into an associated cluster based on a subset of attributes used from the execution data or the topology to generate the annotated call graph to form a clustered call graph comprising a plurality of clusters; process mining the execution data associated with each cluster in the plurality of clusters to form an existing process model; and mapping processes identified within the existing process model to a proposed business-process model thereby forming a set of correlations between the existing process model and the proposed business-process model. 2. The method of claim 1 , further comprising: providing the set of correlations to a client's domain expert. 3. The method of claim 1 , wherein annotating the plurality of nodes and the plurality of edges the call graph causes the plurality of nodes and the plurality of edges to reflect one or more associated attributes associated with one or more of a particular procedure, a procedure call, or a hardware device, wherein the procedure and the procedure call are identified from execution data and wherein the hardware device is identified from a topology of the data processing system. 4. The method of claim 1 , wherein process mining the execution data associated with each cluster in the plurality of clusters further comprises: logically removing entry and library calls from the execution data; grouping entries in the execution data together that are part of a same cluster and have identical transaction identification; generating an abstract activity name for each of the grouped entries; and generating the existing process model as identified from the call graph, the execution data, and the topology using the abstract activity name for each of the grouped entries. 5. The method of claim 1 , wherein process mining the execution data associated with each cluster in the plurality of clusters further comprises: logically removing entry and library calls from the execution data; grouping entries in the execution data together that are part of a same cluster and are in a same time slice; generating an abstract activity name for each of the grouped entries; and generating the existing process model as identified from the call graph, the execution data, and the topology using the abstract activity name for each of the grouped entries. 6. The method of claim 1 , wherein the call graph is generated by analyzing source code that realizes a business-process such that a node is generated for each procedure and an edge is generated for each node called by another node, wherein the execution data represents a dynamic behavior of the business-process, and wherein the topology represents hardware of the data processing system and a connectivity of the hardware within the data processing system. 7. The method of claim 1 , wherein clustering each node in the plurality of nodes into an associated cluster comprises: generating an affinity matrix based on the subset of attributes used from e execution data or the topology to generate the annotated call graph; and generating the plurality of clusters based on the affinity matrix, wherein each cluster comprises one or more nodes of the plurality of nodes. 8. A computer program product comprising a non-transitory computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed on a computing device, causes the computing device to: annotate a plurality of nodes and a plurality of edges within a call graph with information from execution data for executing the code and a topology of the data processing system to form an annotated call graph; cluster each node in the plurality of nodes into an associated cluster based on a subset of attributes used from the execution data or the topology to generate the annotated call graph to form a clustered call graph comprising a plurality of clusters; process mine the execution data associated with each cluster in the plurality of clusters to form an existing process model; and map processes identified within the existing process model to a proposed business-process model thereby forming a set of correlations between the existing process model and the proposed business-process model. 9. The computer program product of claim 8 , wherein the computer readable program further causes the computing device to: provide the set of correlations to a client's domain expert. 10. The computer program product of claim 8 , wherein the computer readable program to annotate the plurality anodes and the plurality of edges the call graph causes the plurality of nodes and the plurality of edges to reflect one or more associated attributes associated with one or more of a particular procedure, a procedure call, or a hardware device, wherein the procedure and the procedure call are identified from execution data and wherein the hardware device is identified from a topology of the data processing system. 11. The computer program product of claim 8 , wherein the computer readable program to process mine the execution data associated with each cluster in plurality of clusters further causes the computing device to: logically remove entry and library calls from the execution data; group entries in the execution data together that are part of a same cluster and have identical transaction identification; generate an abstract activity name for each of the grouped entries; and generate the existing process model as identified from the call graph, the execution data, and the topology using the abstract activity name for each of the grouped entries. 12. The computer program product of claim 8 , wherein the computer readable program to process mine the execution data associated with each cluster in the plurality of clusters further causes the computing device to: logically remove entry and library calls from the execution data; group entries in the execution data together that are part of a same cluster and are in a same time slice; generate an abstract activity name for each of the grouped entries; and generate the existing process model as identified from the call graph, the execution data, and the topology using the abstract activity name for each of the grouped entries. 13. The computer program product of claim 8 , wherein the call graph is generated by analyzing source code that realizes a business-process such that a node is generated for each procedure and an edge is generated for each node called by another node, wherein the execution data represents a dynamic behavior of the business-process, and wherein the topology represents hardware of the data processing system and a connectivity of the hardware within the data processing system. 14. The computer program product of claim 8 , wherein the computer readable program to cluster each node in the plurality of nodes into an associated cluster further causes the computing device to: generate an affinity matrix based on the subset of attributes used from the execution data or the topology to generate the annotated call graph; and generate the plurality of clusters based on the affinity matrix, wherein each cluster comprises one or more nodes of the plurality of nodes. 15. An apparatus comprising: a processor;

Assignees

Inventors

Classifications

  • G06F8/76Primary

    Adapting program code to run in a different environment; Porting · CPC title

  • G06F16/285Primary

    Clustering or classification · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9239873B2 cover?
A mechanism is provided for process-aware code migration. A plurality of nodes and a plurality of edges are annotated within a call graph with information from execution data for executing the code and a topology of the data processing system to form an annotated call graph. Each node in the plurality of nodes is clustered into an associated cluster based on a subset of attributes used from the…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F8/76. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 19 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).