US 12,321,326 B2
Multipath verification of data transforms in a system of systems
Bruno Dutertre, Mountain View, CA (US); Susmit Jha, Redwood City, CA (US); Huascar Sanchez, San Ramon, CA (US); Patrick Lincoln, Woodside, CA (US); Eric M. Pearson, Redwood City, CA (US); Richard Dean, Los Altos, CA (US); and Ian A. Mason, La Selva Beach, CA (US)
Assigned to SRI International, Menlo Park, CA (US)
Filed by SRI International, Menlo Park, CA (US)
Filed on Dec. 17, 2021, as Appl. No. 17/644,946.
Claims priority of provisional application 63/130,245, filed on Dec. 23, 2020.
Prior Publication US 2022/0197881 A1, Jun. 23, 2022
Int. Cl. G06F 16/242 (2019.01); G06F 16/22 (2019.01); G06F 16/2453 (2019.01); G06F 16/27 (2019.01); G06F 16/34 (2025.01)
CPC G06F 16/22 (2019.01) [G06F 16/2433 (2019.01); G06F 16/24534 (2019.01)] 18 Claims
OG exemplary drawing
 
1. A method of path verification for a system of systems, the method comprising:
obtaining a data structure that defines a plurality of conversions of data between pairs of fields;
performing a search to identify a plurality of paths from a source node of the data structure to a destination node of the data structure, wherein the source node corresponds to a first field of the fields and the destination node corresponds to a second field of the fields;
converting, for each path of the plurality of paths, transforms represented by corresponding edges of the path to a sequence of transforms;
expressing the sequence of transforms as a composition of transforms in a programming language format;
converting the composition of transforms from the programming language format to a solver format by expanding a definition of each transform in the composition of transforms:
processing, by a satisfiability solver, the sequence of transforms for each path to determine whether all paths of the plurality of paths are equivalent up to an equivalence relation, wherein the equivalence relation is a binary relation that is reflexive, symmetric, and transitive;
outputting an indication of whether all paths of the plurality of paths are equivalent up to the equivalence relation; and
storing, responsive to the indication identifying that all of the paths of the plurality of paths are equivalent, a single path representative of the plurality of paths from the source node to the destination node for future processing of the plurality of paths in the event an additional path is added between the source node and the destination node.