Path Analysis UtilitiesΒΆ
Operations to begin analyses with
-
class
VyPRAnalysis.orm.operations.
PathCollection
(paths, scfg, function_name, parametric=False) Models a set of paths, obtained by direct reconstruction or modification of already reconstructed paths.
-
critical_points_in_code
() Based on the intersection of the paths held by the current collection, determine the points of divergence in the relevant source code.
-
intersection
(starting_vertex=None) Return a
ParametricPathCollection
instance containing the single path resulting from the intersection of all paths in the current collection.
-
merge
(other_path_collection) Add
other_path_collection
to the current list of paths.
-
show_critical_points_in_file
(filename=None, verbose=False) Write out a version of a monitored file with markers to show instructions where paths diverged that lead to observations that VyPR recorded diverged.
-
-
class
VyPRAnalysis.orm.operations.
ParametricPathCollection
(paths, original_paths, path_parameters, scfg, function_name) Models a collection of paths, all of which diverge at the same point in the source code and start at the beginning of the monitored function.
-
class
VyPRAnalysis.orm.operations.
PartialPathCollection
(paths, scfg, function_name, parametric=False) Models a collection of paths which do not start from the starting vertex of the Symbolic Control-Flow Graph.
-
intersection
() Perform intersection, but such that the parse trees used are generated starting from the beginning of each path (we assume the paths start in the same place).
-
-
class
VyPRAnalysis.orm.operations.
PartialParametricPathCollection
(paths, original_paths, path_parameters, scfg, function_name) Models a collection of paths which all diverge at the same point in the source code, and do not start at the beginning of the monitored function.
-
get_path_parameters
() Get the list of path parameters, which are objects that can be used internally to determine which subpath was taken by a given program path at a specific point in the program.
-
get_subpaths_from_parameter
(path_parameter) Given a
PathParameter
object inpath_parameter
, get the subpath given to it by this parametric path.
-
intersection
() Perform intersection, but such that the parse trees used are generated starting from the beginning of each path (we assume the paths start in the same place).
-
-
class
VyPRAnalysis.orm.operations.
ObservationCollection
(observations) A collection of observation objects. Defines methods for transformation to a
PathCollection
object.-
to_paths
(scfg) Based on the relevant Symbolic Control-Flow Graph for the current collection of observations, reconstruct the paths up to each observation through the Symbolic Control-Flow Graph and return a
PathCollection
.
-