Limiting execution of software programs

US8949803B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-8949803-B2
Application numberUS-201113036440-A
CountryUS
Kind codeB2
Filing dateFeb 28, 2011
Priority dateFeb 28, 2011
Publication dateFeb 3, 2015
Grant dateFeb 3, 2015

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.

Techniques are disclosed for limiting execution of software programs. For example, a method comprises the following steps. A first set of program code is extracted from a second set of program code. The extracted first set of program code is parsed to generate a parsed structure. The parsed structure generated from the first set of program code is examined for one or more expressions predetermined to be unsafe for execution. The one or more expressions predetermined to be unsafe for execution that are contained in the first set of program code are detected. In one example, the first set of program code may be a script generated with the JavaScript™ scripting language and the second set of program code may be a business process.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: generating a configuration file comprising one or more constructs predetermined to be unsafe for execution as identified by a user; extracting a first set of program code from a second set of program code; parsing the extracted first set of program code to generate a parsed structure; examining the parsed structure generated from the first set of program code for one or more expressions that use at least one of the one or more constructs predetermined to be unsafe for execution, wherein the examining step further comprises providing a looping guard to verify if the entire first set of program code has been examined; detecting the one or more expressions that use at least one of the one or more constructs predetermined to be unsafe for execution that are contained in the first set of program code, wherein the detecting step further comprises flagging each of the one or more expressions that use at least one of the one or more constructs predetermined to be unsafe for execution that are contained in the first set of program code; and generating an unsafe-expression flagged version of the first set of program code for editing by a user; wherein the extracting, parsing, examining, detecting and generating steps are performed in accordance with a processor device. 2. The method of claim 1 , further comprising displaying the one or more expressions that use at least one of the one or more constructs predetermined to be unsafe for execution that are contained in the first set of program code. 3. The method of claim 1 , further comprising preventing execution of the one or more expressions that use at least one of the one or more constructs predetermined to be unsafe for execution that are contained in the first set of program code while allowing execution of at least one of: any remaining portion of the first program code without the one or more expressions; and the second program code, to execute. 4. The method of claim 1 , further comprising preventing execution of the second set of program code when at least one of the one or more expressions that use at least one of the one or more constructs predetermined to be unsafe for execution are detected in the first set of program code. 5. The method of claim 1 , wherein the parsed structure comprises a parsed tree structure. 6. The method of claim 1 , wherein the second set of program code comprises a business process. 7. The method of claim 1 , wherein the second set of program code comprises a web page. 8. The method of claim 1 , wherein the first set of program code comprises a segment of code generated using a scripting language. 9. The method of claim 1 , wherein the one or more expressions that use at least one of the one or more constructs predetermined to be unsafe for execution comprise one or more of: a function call expression; a function definition construct; a goto construct; a while construct; a for construct; a property read construct; a property write construct; and a prototype assignment construct. 10. The method of claim 1 , wherein the second set of program code is deployable in a shared computing environment. 11. The method of claim 1 , wherein editing by a user comprises at least one of removing the one or more expressions that uses at least one of the one or more constructs predetermined to be unsafe for execution and replacing the one or more expressions with one or more alternative expressions. 12. The method of claim 5 , wherein the parsed tree structure comprises one or more nodes. 13. The method of claim 12 , further comprising traversing the parsed tree structure and checking each of the one or more nodes for the one or more expressions predetermined to be unsafe for execution that are contained in the first set of program code.

Assignees

Inventors

Classifications

  • G06F21/52Primary

    during program execution, e.g. stack integrity {; Preventing unwanted data erasure; Buffer overflow} · 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 US8949803B2 cover?
Techniques are disclosed for limiting execution of software programs. For example, a method comprises the following steps. A first set of program code is extracted from a second set of program code. The extracted first set of program code is parsed to generate a parsed structure. The parsed structure generated from the first set of program code is examined for one or more expressions predetermi…
Who is the assignee on this patent?
Duftler Matthew Jason, Lovell Douglas Charles, IBM
What technology area does this patent fall under?
Primary CPC classification G06F21/52. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 03 2015 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).