Static analysis of higher-order merge conflicts in large software development projects
AssigneeSap SE
InventorThorsten Bernhard Wuensche
Life of this patent
Estimating the term…
Abstract
A method, a system, and a computer program product for detection of potential merge conflicts. One or more changes to one or more source code entries in a software application are received. One or more dependency relationships of the received changes to one or more source code entries are determined and analyzed. A data structure including at least one node corresponding to the received changes is generated. Using the dependency relationships and the generated data structure, one or more conflicting changes are identified.
Claims17
A computer-implemented method, comprising:
- receiving one or more changes to one or more source code entries in a software application;
- determining and analyzing one or more dependency relationships of the received one or more changes to one or more source code entries;
- generating a data structure including at least one node corresponding to the received one or more changes, the data structure including an approximate call graph generated using at least one or more of determined overlapping of one or more names of the one or more source code entries and one or more calls to the one or more source code entries in the one or more changes;
- and
- identifying, using the one or more dependency relationships and the generated approximate call graph, one or more conflicting changes.
A system comprising:
- at least one programmable processor;
- and
- a non-transitory machine-readable medium storing instructions that, when executed by the at least one programmable processor, cause the at least one programmable processor to perform operations comprising:
- receiving one or more changes to one or more source code entries in a software application;
- determining and analyzing one or more dependency relationships of the received one or more changes to one or more source code entries;
- generating a data structure including at least one node corresponding to the received one or more changes, the data structure including an approximate call graph generated using at least one or more of determined overlapping of one or more names of the one or more source code entries and one or more calls to the one or more source code entries in the one or more changes;
- and
- identifying, using the one or more dependency relationships and the generated approximate call graph, one or more conflicting changes.
A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:
- receiving one or more changes to one or more source code entries in a software application;
- determining and analyzing one or more dependency relationships of the received one or more changes to one or more source code entries;
- generating a data structure including at least one node corresponding to the received one or more changes, the data structure including an approximate call graph generated using at least one or more of determined overlapping of one or more names of the one or more source code entries and one or more calls to the one or more source code entries in the one or more changes;
- and
- identifying, using the one or more dependency relationships and the generated approximate call graph, one or more conflicting changes.
Dependencies are inferred from the claim text.