# US 8,572,566 B2 · Systems and methods for analyzing changes in application code from a previous instance of the application code

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,572,566 B2
- Document ID: US8572566B2
- Status: Granted
- Kind: B2
- Application number: 12/777,473
- Filed: 2010-05-11
- Published: 2011-11-17
- Granted: 2013-10-29
- Earliest claimed: 2010-05-11
- Assignees: Smartshift GmbH
- Applicants: Albrecht Gass; Nikolaos Faradouris; Oliver Flach; Stefan Hetges
- Inventors: Albrecht Gass; Nikolaos Faradouris; Oliver Flach; Stefan Hetges
- Web page: https://patentgrep.com/patent/US8572566B2

## CPC

- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The present application is directed towards systems and methods for analyzing and transforming changes in customized code of an enterprise resource planning (ERP) application from a previous instance of transformation of the customized code of the ERP application. Customized functions, objects, databases, and code of the application may be analyzed to identify changes in application code from a previous instance of the application code. Changed code may be further analyzed to determine which portions violate a predetermined set of coding rules of the application. Portions that violate the predetermined set of coding rules may be enumerated by one of developer, time, or type of object. Transformation rules may be applied to the code that violates the predetermined coding rules to generate a transformed instance of the application that is in conformance with the coding rules.

## Claims

### Claim 1

A method for analyzing changes in customized code of an enterprise resource planning (ERP) application from a previous instance of transformation of the customized code of the ERP application, the method comprising:
(a) identifying, by an automated maintenance tool, from an instance of an enterprise resource planning (ERP) application previously transformed by the automated maintenance tool, changes to customized code of the ERP application since a previous execution of transformation was performed, via a change package provided by a version control system of the ERP application, wherein the version control system of the ERP application is interfaced with the automated maintenance tool;
(b) determining, by the automated maintenance tool, which portions of changes to the customized code violate a predetermined set of coding rules by detecting deviation from one or more naming conventions in the changes to the customized code, wherein the predetermined set of coding rules are used by the automated maintenance tool to generate the instance of the previously transformed ERP application; and
(c) enumerating, by the automated maintenance tool, the portions of changes to the customized code that violate the predetermined set of coding rules by developer, time and type of object.

### Claim 2 (depends on 1)

The method of claim 1, wherein step (a) further comprises identifying user defined application objects in the changes to the customized code.

### Claim 3 (depends on 1)

The method of claim 1, wherein step (b) further comprises determining which objects changed in the customized code.

### Claim 4 (depends on 3)

The method of claim 3, further comprising determining one or more times of change to each of the changed objects and one or more developers that changed each of the changed objects.

### Claim 5 (depends on 1)

The method of claim 1, determining, by the automated maintenance tool, a number of changes that violate the predetermined set of rules over time.

### Claim 6 (depends on 1)

The method of claim 1, further comprising displaying, by a user interface of the automated maintenance tool, training information based on a developer's changes to the portions of the changed code that violate the predetermined set of coding rules.

### Claim 7 (depends on 1)

The method of claim 1, wherein step (b) further comprises detecting, by the automated maintenance tool, existence of one or more obsolete programming constructs in the changes to the customized code.

### Claim 8 (depends on 1)

The method of claim 1, further comprising transforming, by the automated maintenance tool, the changes to the customized code to conform to the predetermined set of coding rules and to provide a second transformed ERP application.

### Claim 9

A system for analyzing changes in customized code of an enterprise resource planning (ERP) application from a previous instance of transformation of the customized code of the ERP application, the system comprising:
a device, comprising a processor configured for executing an automated maintenance tool comprising a collection agent and an analysis agent,
wherein the collection agent is configured for identifying, from an instance of an enterprise resource planning (ERP) application previously transformed by the automated maintenance tool, changes to customized code of the ERP application since a previous execution of transformation was performed, via a change package provided by a version control system of the ERP application interfaced with the automated maintenance tool; and
wherein the analysis agent is configured for determining which portions of changes to the customized code violate a predetermined set of coding rules by detecting deviation from one or more naming conventions in the changes to the customized code, wherein the predetermined set of coding rules are used by the automated maintenance tool to generate the instance of the previously transformed ERP application; and
wherein the automated maintenance tool enumerates the portions of changes to the customized code that violate the predetermined set of coding rules by developer, time and type of object.

### Claim 10 (depends on 9)

The system of claim 9, wherein the collection agent is further configured for identifying user defined application objects in the changes to the customized code.

### Claim 11 (depends on 9)

The system of claim 9, wherein the collection agent is further configured for determining which objects changed in the customized code.

### Claim 12 (depends on 11)

The system of claim 11, wherein one of the collection agent or the analysis agent is configured for determining one or more times of changes to each of the changed objects and one or more developers that changed each of the changed objects.

### Claim 13 (depends on 9)

The system of claim 9, wherein the analysis agent is configured for determining a number of changes that violate the predetermined set of rules over time.

### Claim 14 (depends on 9)

The system of claim 9, wherein the automated maintenance tool is configured for displaying, via a user interface, training information based on a developer's changes to the portions of the changed code that violate the predetermined set of coding rules.

### Claim 15 (depends on 9)

The system of claim 9, wherein the analysis agent is configured for detecting existence of one or more obsolete programming constructs in the changes to the customized code.

### Claim 16 (depends on 9)

The system of claim 9, wherein the automated maintenance tool further comprises a transformer configured for transforming the changes to the customized code to conform to the predetermined set of coding rules and to provide a second transformed ERP application.

### Claim 17

A method for analyzing changes in customized code of an enterprise resource planning (ERP) application from a previous instance of transformation of the customized code of the ERP application, the method comprising:
(a) identifying, by an automated maintenance tool, from an instance of an enterprise resource planning (ERP) application previously transformed by the automated maintenance tool, changes to customized code of the ERP application since a previous execution of transformation was performed, via a change package provided by a version control system of the ERP application, wherein the version control system of the ERP application is interfaced with the automated maintenance tool;
(b) determining, by the automated maintenance tool, which portions of changes to the customized code violate a predetermined set of coding rules by detecting existence of one or more obsolete programming constructs in the changes to the customized code, wherein the predetermined set of coding rules are used by the automated maintenance tool to generate the instance of the previously transformed ERP application; and
(c) enumerating, by the automated maintenance tool, the portions of changes to the customized code that violate the predetermined set of coding rules by developer, time and type of object.

### Claim 18

A system for analyzing changes in customized code of an enterprise resource planning (ERP) application from a previous instance of transformation of the customized code of the ERP application, the system comprising:
a device, comprising a processor configured for executing an automated maintenance tool comprising a collection agent and an analysis agent,
wherein the collection agent is configured for identifying, from an instance of an enterprise resource planning (ERP) application previously transformed by the automated maintenance tool, changes to customized code of the ERP application since a previous execution of transformation was performed, via a change package provided by a version control system of the ERP application interfaced with the automated maintenance tool; and
wherein the analysis agent is configured for determining which portions of changes to the customized code violate a predetermined set of coding rules by detecting existence of one or more obsolete programming constructs in the changes to the customized code, wherein the predetermined set of coding rules are used by the automated maintenance tool to generate the instance of the previously transformed ERP application; and
wherein the automated maintenance tool enumerates the portions of changes to the customized code that violate the predetermined set of coding rules by developer, time and type of object.
