System and method for analyzing software application in view of entry points

US9703555B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9703555-B2
Application numberUS-201414183940-A
CountryUS
Kind codeB2
Filing dateFeb 19, 2014
Priority dateMar 28, 2013
Publication dateJul 11, 2017
Grant dateJul 11, 2017

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.

The present disclosure provides a system and method for performing an analysis of a software application in a computing environment. A receiving module accepts source code of the software application as input data and obtains a list of the entry points. Intermediate representation from the input data is generated in order to construct informative structure for the software application. Uncalled functions in the software application are identified and are considered as entry points. The entry points are wrapped into one entry point and analyzed maintaining calling context of all the entry points.

First claim

Opening claim text (preview).

We claim: 1. A method for performing an analysis of a software application in a computing environment, the method comprising: receiving, by a processor, a source code of the software application as an input data; generating, by the processor, an intermediate representation from the input data to construct an informative structure for the software application; identifying, by the processor a group of the entry points associated with the software application, from the informative structure; providing, by the processor, a wrapper function to call the entry points identified with one level call depth as a single entry point, based on a parameter list of the entry points in a non-deterministic sequence, wherein the wrapper function is generated by calling the identified group of the entry points by maintaining a calling context at the time of generating the wrapper function and wherein the wrapper function is treated as the single entry point, and wherein the single entry point comprises parameters associated with the entry points considered in the entire software application, wherein the call depth comprises size of call chain, and wherein the calling context is maintained by sequentially executing the group of entry points; and analyzing, by the processor, the wrapper function corresponding to the single entry point by collecting the parameters associated with the entry points such that the analysis of the single entry point leads to analysis of the entry points identified in the software application, thereby avoiding independent analysis of each entry point in the software application. 2. The method of claim 1 , wherein the informative structure comprises a call hierarchy with respect to the software application. 3. The method claim 1 , wherein the entry points are called considering the parameter list. 4. The method of claim 1 , wherein the entry points are called without considering the parameter list. 5. The method of claim 1 , wherein the wrapper function is provided using a default wrapper function and generating an input comprising the entry points with one level call depth. 6. The method of claim 2 , wherein the wrapper function further comprises uncalled functions in the call hierarchy. 7. The method of claim 1 , wherein the entry points comprises a super set of entry points. 8. A system for performing an analysis of a software application in a computing environment, the system comprising: a processor; a memory coupled to the processor, the processor configured to execute programmed instructions stored in the memory, to: receive a source code of the software application as an input data; generate an intermediate representation from the input data to construct an informative structure for the software application; identify a group of the entry points associated with the software application, from the informative structure; provide a wrapper function to call the entry points identified with one level call depth as a single entry point, based on a parameter list of the entry points in a non-deterministic sequence, wherein the wrapper function is generated by calling the identified group of the entry points by maintaining a calling context at the time of generating the wrapper function and wherein the wrapper function is treated as the single entry point, and wherein the single entry point comprises parameters associated with the entry points considered in the entire software application, wherein the call depth comprises size of call chain, and wherein the calling context is maintained by sequentially executing the group of entry points; and analyze the wrapper function corresponding to the single entry point by collecting the parameters associated with the entry points such that analysis of single entry point leads to analysis of the entry points identified in the software application, thereby avoiding independent analysis of each entry point in the software application. 9. The system of claim 8 , wherein the informative structure comprises a call hierarchy with respect to the software application. 10. The system claim 8 , wherein the entry points are called considering a parameter list. 11. The system of claim 8 , wherein the wrapper function is provided using a default wrapper function with an input comprising the entry points with one level call depth. 12. The system of claim 8 , wherein the wrapper function comprises uncalled functions in the call hierarchy. 13. The system of claim 8 , wherein the entry points comprises a super set of entry points.

Assignees

Inventors

Classifications

  • using formal methods, e.g. model checking, abstract interpretation (theorem proving G06N5/013) · CPC title

  • Dependency analysis; Data or control flow analysis · CPC title

  • G06F8/75Primary

    Structural analysis for program understanding · CPC title

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 US9703555B2 cover?
The present disclosure provides a system and method for performing an analysis of a software application in a computing environment. A receiving module accepts source code of the software application as input data and obtains a list of the entry points. Intermediate representation from the input data is generated in order to construct informative structure for the software application. Uncalled…
Who is the assignee on this patent?
Tata Consultancy Services Ltd
What technology area does this patent fall under?
Primary CPC classification G06F8/75. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 11 2017 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).