IP Library › Granted Patent US 12,340,214
Granted Patent B2
US 12,340,214 · App. 18/453,271 · Granted Jun 24, 2025

System and method for automated cross-application dependency mapping

Inventors: Timothy Bryan (Somerset, NJ); Dheeraj Misra (Somerset, NJ); Sandipan Gangopadhyay (Somerset, NJ)
Assignee: GalaxE.Solutions, Inc.
G06F8/73G06F8/75
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,340,214
App. No.
18/453,271
Granted
Jun 24, 2025
Kind
B2
Abstract

A system and method for automatically generating cross-application dependency maps for enterprise IT environments is described. Automated code parsing techniques are used to identify dependencies between and among different business applications within the IT environment, including for both legacy and modern business applications. A thorough analysis of the enterprise-wide impact of a programming change, such as, for example, a change to the code of a legacy business application, can be conducted. There is the ability to perform canonical and customized searches of dependent elements between components of the IT environment and generate impact reports that can show how desired changes to particular applications may affect the environment. The impact of changes in a code repository, which can include documents in different programming languages that reside in a separate code environment, can be identified and analyzed.

Claims (61)

1. A system for automating cross-application dependency mapping of an information technology (IT) environment, the system comprising:

at least on computing device; and

a non-transitory computer readable medium storing executable instructions, the executable instructions when executed by at least one computing device causes the at least one computing device to:

receive a source file associated with at least one configuration file of the legacy IT environment, wherein the source files include source code corresponding to the plurality of different software applications having different programming languages;

parse the source code in order to obtain parsed information, wherein parsing the source code includes:

placing file paths of the source files into a parsing queue,

starting a plurality of configured threads,

selecting, by each configured thread, a respective source file corresponding to a file path stored in the parsing queue, and

looping, for each configured thread, through each respective line in the selected source file associated with the respective configuration thread, in order to obtain the parsed information, wherein the parsed information characterizes the source code execution dependencies for function, transaction and service calls of service operations of each of the software applications across application boundaries;

analyze the parsed information to identify the execution dependencies of each of the service operations between the software applications and generate a call hierarchy therefrom.

2. The system of claim 1 , wherein the executable instructions further cause the at least one computing device to identify the source file contained in the IT environment in response to the at least one configuration file specified by the user.

3. The system of claim 2 , wherein the at least one configuration file is specified by the user via a graphical user interface (GUI) of the computing device.

4. The system of claim 1 , wherein the executable instructions further cause the at least one computing device to perform additional processing on the parsed source file.

5. The system of claim 4 , wherein the additional processing includes:

building one or more first statements; and

determining whether the one or more first statements is: (i) a declaration, (ii) a block statement, (iii) a function definition, (iv) a business rule, (v) a function call, or (vi) a variable declaration.

6. The system of claim 5 , wherein the one or more first statements, when determined to be a block statement, is further processed by:

looping through a rule block;

building one or more second statements; and

determining whether the one or more second statements is: (i) a block statement, (ii) a function definition, (iii) a business rule, (iv) a function call, or (v) a variable declaration.

7. The system of claim 4 , wherein the additional processing includes:

processing all parsed function definitions;

looping through each parsed function definition;

building one or more third statements; and

determining whether the one or more third statements is: (i) a block statement, (ii) a business rule, (iii) a function call, or (iv) a variable declaration.

8. The system of claim 4 , wherein the additional processing includes:

processing all parsed rules;

looping through a rule block for each parsed rule;

building one or more fourth statements and

determining whether the one or more fourth statements is: (i) a block statement, (ii) a business rule, (iii) a function call, or (iv) a variable declaration.

9. The system of claim 1 , wherein the parsed information is stored in one or more databases.

10. The system of claim 9 , wherein the database is managed by a database managing application, the database managing application configured to receive the parsed information and further configured to provide the parsed information for the analysis to identify the execution dependencies.

11. The system of claim 9 , wherein the executable instructions further cause the at least one computing device to:

generate a call hierarchy report from the call hierarchy; and

store the call hierarchy report in the one or more databases.

12. The system of claim 1 , wherein the source file associated with the at least one configuration file is identified by a loading application.

13. The system of claim 1 , wherein the executable instructions further cause the at least one computing device to:

analyze the call hierarchy via a dependency mapping application.

14. The system of claim 13 , wherein the analysis of the call hierarchy is based at least in part on one or more of: (i) a search pattern, (ii) a call hierarchy builder; (iii) one or more generic extractors, and (iv) one or more application specific extractors.

15. The system of claim 14 , wherein the one or more generic extractors and the one or more application specific extractors are provided by an extracting application.

16. The system of claim 1 , wherein the source file is parsed by a parsing application.

17. The system of claim 1 , further comprising:

at least one server computing device; and

at least one storage device,

wherein one or more of: the at least one computing device, the at least one server computing device, and the at least one storage device, is in direct communication with the IT environment or in communication with the IT environment via one or more networks.

18. A computer-implemented method for automating cross-application dependency mapping of an information technology (IT) environment, the method comprising:

receiving a source file associated with at least one configuration file of the legacy IT environment, wherein the source files include source code corresponding to the plurality of different software applications having different programming languages;

parsing the source code in order to obtain parsed information, wherein parsing the source code includes:

placing file paths of the source files into a parsing queue,

starting a plurality of configured threads,

selecting, by each configured thread, a respective source file corresponding to a file path stored in the parsing queue, and

looping, for each configured thread, through each respective line in the selected source file associated with the respective configuration thread, in order to the obtain parsed information, wherein the parsed information characterizes the source code execution dependencies for function, transaction and service calls of service operations of each of the software applications across application boundaries;

analyzing the parsed information to identify the execution dependencies of each of the service operations between the software applications and generate a call hierarchy therefrom.

19. A non-transitory computer readable medium storing executable instructions, the executable instructions when executed by at least one computing device causes the at least one computing device to perform a method for automating cross-application dependency mapping of an information technology (IT) environment, the method comprising:

receiving a source file associated with at least one configuration file of the legacy IT environment, wherein the source files include source code corresponding to the plurality of different software applications having different programming languages;

parsing the source code in order to obtain parsed information, wherein parsing the source code includes:

placing file paths of the source files into a parsing queue,

starting a plurality of configured threads,

selecting, by each configured thread, a respective source file corresponding to a file path stored in the parsing queue, and

looping, for each configured thread, through each respective line in the selected source file associated with the respective configuration thread, in order to obtain the parsed information, wherein the parsed information characterizes the source code execution dependencies for function, transaction and service calls of service operations of each of the software applications across application boundaries;

analyzing the parsed information to identify the execution dependencies of each of the service operations between the software applications and generate a call hierarchy therefrom.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2025
From: MISRA, DHEERAJ; GANGOPADHYAY, SANDIPAN; BRYAN, TIMOTHY
To: GALAXE.SOLUTIONS, INC.
Reel/Frame 070575/0987 →
Continuity (3)
Continuation 15087768 · Mar 31, 2016
Provisional Application 62140873 · Mar 31, 2015
Related Publication 20230393846A1 · Dec 7, 2023
References Cited (33)
US 5826256A · Devanbu · 1998 [cited by examiner]
US 6615199B1 · Bowman-Amuah · 2003 [cited by applicant]
US 7155664B1 · Lee · 2006 [cited by examiner]
US 9134976B1 · Ezick · 2015 [cited by examiner]
US 9342273B1 · Kumar · 2016 [cited by examiner]
US 9405906B1 · Sheth · 2016 [cited by examiner]
US 10229273B2 · Sheth · 2019 [cited by examiner]
US 11449356B2 · Misra · 2022 [cited by examiner]
US 11734000B2 · Bryan · 2023 [cited by examiner]
US 20030056192A1 · Burgess · 2003 [cited by examiner]
US 20030084425A1 · Glaser · 2003 [cited by examiner]
US 20040046785A1 · Keller · 2004 [cited by examiner]
US 20040049509A1 · Keller · 2004 [cited by examiner]
US 20050204340A1 · Ruminer · 2005 [cited by examiner]
US 20060195559A1 · Winter · 2006 [cited by examiner]
US 20080294777A1 · Karve · 2008 [cited by examiner]
US 20080295065A1 · Hawkins · 2008 [cited by examiner]
US 20100037211A1 · Zakonov · 2010 [cited by examiner]
US 20100070948A1 · Rama · 2010 [cited by examiner]
US 20110258611A1 · Dutta · 2011 [cited by examiner]
US 20120260236A1 · Basak · 2012 [cited by examiner]
US 20130212565A1 · Nishiyama · 2013 [cited by examiner]
US 20140282373A1 · Garza · 2014 [cited by examiner]
US 20150020048A1 · Misra · 2015 [cited by examiner]
US 20150040108A1 · Kushida · 2015 [cited by examiner]
US 20150066163A1 · Sunderam · 2015 [cited by examiner]
US 20150089478A1 · Cheluvaraju · 2015 [cited by examiner]
US 20150363493A1 · Laredo · 2015 [cited by examiner]
US 20160092211A1 · Atanasiu · 2016 [cited by examiner]
US 20160226722A1 · Corcoran · 2016 [cited by examiner]
US 20160283362A1 · Seto · 2016 [cited by examiner]
US 20160299831A1 · Cimadamore · 2016 [cited by examiner]
PCT/US2016/025367, International Search Report (PCT/ISA/220 ancl PCT/ISA/210) dated Jun. 23, 2016, enclosing Written Opinion of the International Searching Authority (PCT/ISA/237) (Eleven (11) pages). [cited by applicant]