Systems and methods for information flow analysis
First Claim
1. A computer implemented method for analyzing computer programs based on a mathematical model of within the subroutine-level code of such programs, said method comprising:
- a reduction process which transforms a representation of signal flows from an unreduced form to a reduced form, thereby removing unnecessary sequencing constraints;
said reduction process further comprising obtaining the unreduced form from said code, said unreduced form comprising a representation of control flow structure with associated data elements in said code, said data elements further comprising;
definition, use, predicate (vector of uses), intra-segment du-pair (definition-use pair), and intra-segment ud-pair (use-definition pair), performing a reduction process having the effect of removing unnecessary sequencing constraints (unnecessary flows), yielding said reduced form, said reduced form further comprising a representation which is convertible back to a parallelized form of the original subroutine-level code;
said unreduced form comprises a system of unreduced signal flow equations which, in conjunction with a signal flow algebra, describe the transmission of signals or state within said code, said signals further comprising control state and data state, with said signal flow algebra further comprising four operators for sequence, control, convergence and alternation and having algebraic rules that are non-commutative and non-associative; and
wherein said reduction process comprises the repeated application of the rules of said signal flow algebra, thereby transforming said unreduced signal flow equations into a reduced form comprising a system of reduced signal flow equations, said process having the effect of removing unnecessary sequencing constraints.
0 Assignments
0 Petitions
Accused Products
Abstract
Computer-implemented methods for analyzing computer programs written in semi-structured languages are disclosed. The method is based on unification of the two classic forms of program flow analysis, control flow and data flow analysis. As such, it is capable of substantially increased precision, which increases the effectiveness of applications such as automated parallelization and software testing. Certain implementations of the method are based on a process of converting source code to a decision graph and transforming that into one or more alpha graphs which support various applications in software development. The method is designed for a wide variety of digital processing platforms, including highly parallel machines. The method may also be adapted to the analysis of (semi-structured) flows in other contexts including water systems and electrical grids.
47 Citations
3 Claims
-
1. A computer implemented method for analyzing computer programs based on a mathematical model of within the subroutine-level code of such programs, said method comprising:
-
a reduction process which transforms a representation of signal flows from an unreduced form to a reduced form, thereby removing unnecessary sequencing constraints; said reduction process further comprising obtaining the unreduced form from said code, said unreduced form comprising a representation of control flow structure with associated data elements in said code, said data elements further comprising;
definition, use, predicate (vector of uses), intra-segment du-pair (definition-use pair), and intra-segment ud-pair (use-definition pair), performing a reduction process having the effect of removing unnecessary sequencing constraints (unnecessary flows), yielding said reduced form, said reduced form further comprising a representation which is convertible back to a parallelized form of the original subroutine-level code;said unreduced form comprises a system of unreduced signal flow equations which, in conjunction with a signal flow algebra, describe the transmission of signals or state within said code, said signals further comprising control state and data state, with said signal flow algebra further comprising four operators for sequence, control, convergence and alternation and having algebraic rules that are non-commutative and non-associative; and
wherein said reduction process comprises the repeated application of the rules of said signal flow algebra, thereby transforming said unreduced signal flow equations into a reduced form comprising a system of reduced signal flow equations, said process having the effect of removing unnecessary sequencing constraints. - View Dependent Claims (2, 3)
-
Specification