Query and visualization of the ReproZip trace, and integration with other sources of provenance information, can be facilitated by providing (and materializing) alternative views of the information.
For example, it will be helpful to create (Prolog) views of the ReproZip trace that clearly distinguish between files that are opened for reading vs writing. This distinction currently is apparent in the access Mode in each rpz_opened_file fact. Similarly, directory accesses can be distinguished from (non-directory) file accesses.
So, the following from the current 05-cat-file-to-file example...
Portions of the trace can be hidden when materializing the views as well. For example, the traces can be greatly simplified by ignoring the process corresponding to the run.sh script--and the files it accesses--leaving only the processes started by this script, and their children, in the trace.
Query and visualization of the ReproZip trace, and integration with other sources of provenance information, can be facilitated by providing (and materializing) alternative views of the information.
For example, it will be helpful to create (Prolog) views of the ReproZip trace that clearly distinguish between files that are opened for reading vs writing. This distinction currently is apparent in the access
Mode
in eachrpz_opened_file
fact. Similarly, directory accesses can be distinguished from (non-directory) file accesses.So, the following from the current 05-cat-file-to-file example...
...could be represented (with relative paths) as:
Portions of the trace can be hidden when materializing the views as well. For example, the traces can be greatly simplified by ignoring the process corresponding to the
run.sh
script--and the files it accesses--leaving only the processes started by this script, and their children, in the trace.