# US 9,436,575 B2 · Selective profiling of applications

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

- Number: US 9,436,575 B2
- Document ID: US9436575B2
- Status: Granted
- Kind: B2
- Application number: 14/623,780
- Filed: 2015-02-17
- Published: 2015-09-17
- Granted: 2016-09-06
- Earliest claimed: 2014-03-11
- Assignees: Tata Consultancy Services Limited
- Applicants: Tata Consultancy Services Limited
- Inventors: Kallol Saha Chowdhury; Swarup Chatterjee
- Web page: https://patentgrep.com/patent/US9436575B2

## CPC

- G06F 11/3409: {for performance assessment}
- G06F 11/3003: {Monitoring arrangements specially adapted to the computing system or computing system component being monitored}
- G06F 11/3093: {Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes}
- G06F 11/3466: {Performance evaluation by tracing or monitoring}
- G06F 2201/865: Monitoring of software
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer implemented method for selective profiling of an application is disclosed herein. The method includes selecting at least one filter type for selecting one or more categories of functional blocks in an application file to be profiled. Based on the selected filter type, a relational hierarchical structure of functional blocks of the application file in the selected category is determined. The determining can be further based on an archive file associated with the application file. Further, one or more functional blocks are selected from the relational hierarchical structure for profiling, the selected functional blocks being associated with a functionality of the application. The selected functional blocks are profiled to achieve selective profiling of the application file for the functionality.

## Claims

### Claim 1

A computer implemented method for selective profiling of an application, the computer implemented method comprising:
selecting one or more categories of functional blocks for a corresponding filter type, in an application file;
determining, by a processor, a relational hierarchical structure of the selected one or more categories of functional blocks for the corresponding filter type, wherein the determining is further based on an archive file associated with the application file, and wherein the archive file being indicative of a structural hierarchy of functional blocks and associated metadata of the application file;
selecting at least one functional block from among the functional blocks based on the determined relational hierarchical structure, the at least one functional block being associated with a functionality of the application; and
profiling, by the processor, the at least one functional block to achieve selective profiling of the application file for the functionality.

### Claim 2 (depends on 1)

The computer implemented method as claimed in claim 1, wherein the filter type comprises a package level filter, a class level filter, and a method level filter.

### Claim 3 (depends on 1)

The computer implemented method as claimed in claim 1, wherein the profiling the selected functional block comprises:
generating a profiling checklist, based on the at least one functional block selected from the relational hierarchical structure; and
profiling the at least one function block in the application file, based on the profiling checklist.

### Claim 4 (depends on 1)

The computer implemented method as claimed in claim 1, wherein the archive file is at least one of a JAVA archive (JAR) file, an enterprise archive (EAR) file, a web application archive (WAR) file, and an archive file folder structure.

### Claim 5 (depends on 1)

The computer implemented method as claimed in claim 1, wherein the determining the relational hierarchical structure comprises:
parsing the archive file associated with the application; and
decrypting the application file, based on the selected filter type.

### Claim 6 (depends on 1)

The computer implemented method as claimed in claim 1, wherein the relational hierarchical structure is indicative of a relationship between the functional blocks of the application file in order of hierarchy.

### Claim 7 (depends on 1)

The computer implemented method as claimed in claim 1, wherein the determining the relational hierarchical structure comprises generating the relational hierarchical structure based on parsing of the archive file when the application is in an offline mode.

### Claim 8

An application profiling system for selective profiling of an application, the application profiling system comprising:
a memory; and
a processor; the memory coupled to the processor, wherein the processor is capable of executing programmed instructions stored in the memory to:
select one or more categories of functional blocks for a corresponding filter type in an application file;
determine a relational hierarchical structure of the selected one or more categories functional blocks for the corresponding filter type, wherein the determination of the relational hierarchical structure is further based on parsing of an archive file associated with the application file, wherein and wherein the archive file being indicative of a structural hierarchy of functional blocks and associated metadata of the application file;
obtain a selection of at least one functional block from among the functional blocks based on the relational hierarchical structure, the at least one functional block being associated with a functionality of the application; and
profile the at least one functional block for achieving selective profiling of the application file for the functionality.

### Claim 9 (depends on 8)

The application profiling system as claimed in claim 8, wherein the processor is further configured by the instructions to;
generate a profiling checklist, based on the at least one functional block selected from the relational hierarchical structure; and
profile the at least one function block in the application file, based on the profiling checklist.

### Claim 10 (depends on 8)

The application profiling system as claimed in claim 8, wherein the processor is further configured by the instructions to:
parse the archive file associated with the application; and
decrypt the application file, based on the selected filter type.

### Claim 11 (depends on 8)

The application profiling system as claimed in claim 8, wherein the processor is further configured by the instructions to render the relational hierarchical structure of the application file on a display unit to obtain the selection of the functional blocks for profiling.

### Claim 12 (depends on 8)

The application profiling system as claimed in claim 8, wherein the processor is further configured by the instructions to generate relational hierarchical structure based on parsing of the archive file when the application is in an offline mode.

### Claim 13

A non-transitory computer-readable medium having embodied thereon a computer program for executing a method for selective profiling of an application, the method comprising:
selecting one or more categories of functional blocks, for a corresponding filter type, in an application file;
determining a relational hierarchical structure of the selected one or more categories of functional blocks for the corresponding filter type, wherein the determining is further based on an archive file of the application file, and wherein the determining comprises generating the relational hierarchical structure when the application is in an offline mode; and wherein the archive file being indicative of a structural hierarchy of functional blocks and associated metadata of the application file;
selecting at least one functional block from the relational hierarchical structure for profiling, the at least one functional block being associated with a functionality of the application; and
profiling the at least one functional block to achieve selective profiling of the application for the functionality.
