The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Sep. 06, 2016

Filed:

Nov. 18, 2015
Applicant:

International Business Machines Corporation, Armonk, NY (US);

Inventors:

Viresh Paruthi, Austin, TX (US);

Mitra Purandare, Zurich, CH;

Attorneys:
Primary Examiner:
Int. Cl.
CPC ...
G06F 9/45 (2006.01); G06F 11/36 (2006.01);
U.S. Cl.
CPC ...
G06F 11/3608 (2013.01);
Abstract

Embodiments include dividing source code for an application into multiple program fragments by generating a control flow graph for the multiple program fragments. The control flow graph represents a graph structure with nodes representing the multiple program fragments and edges representing an execution order of the program fragments. Aspects include searching for a chosen assertion statement within a program fragment, wherein the chosen assertion statement must be satisfied for correct execution of the chosen program fragment. Aspects also include identifying an immediate parent program fragment for the chosen program fragment using the control flow graph and calculating an immediate parent assertion statement for the immediate parent program fragment using the chosen assertion logic statement. The immediate parent assertion statement is an over-approximate pre-condition of the chosen program fragment. The computation of the over-approximate pre-condition is performed by computing a precondition that satisfies the chosen assertion statement and the particular-precondition.


Find Patent Forward Citations

Loading…