Description

A Time-Travelling Debugger.

Uses provenance post-execution to help the user understand and debug their script by providing functions to look at intermediate steps and data values, their forwards and backwards lineage, and to understand the steps leading up to warning and error messages. 'provDebugR' uses provenance produced by 'rdtLite' (available on CRAN), stored in PROV-JSON format.

provDebugR

A debugging tool that leverages provenance to provide handy information about R scripts to assist in writing them.

For a more in-depth description of the functions available in this package please refer to the Wiki.

Installation

Version 3.5.0 or later of R is required.

Devtools is needed for installation:

install.packages("devtools")

Installation of all required packages (can be copied and pasted):

install.packages("provParseR")
install.packages("provGraphR")
install.packages("rdtLite")
devtools::install_github("End-to-end-provenance/provDebugR")

provDebugR also imports:

  • httr
  • igraph
  • jsonlite
  • methods
  • testthat
  • textutils

Once installed, load provDebugR by calling:

library("provDebugR")

Usage

To initialise the debugger with a script, call:

prov.debug.run("scriptName.R", snapshot.size = 100)

Alternatively, if you just called rdtLite's prov.run function, you can call:

prov.debug()

Lastly, if you have the PROV-JSON provenance file, you can also call:

prov.debug.file("provJsonFileName.json")

Once the debugger has been initialised, the rest of the functions the package provides can be used.

To find out more about what each function does, please refer to the Wiki.

Metadata

Version

1.0.1

License

Unknown

Platforms (71)

    Darwin
    FreeBSD 13
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd13
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd13
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows