{
  "_id": "6aabd7eb3d719c1f8406fdef",
  "Package": "softwareRisk",
  "Type": "Package",
  "Title": "Computation of Node and Path-Level Risk Scores in Scientific\nModels",
  "Version": "0.3.0",
  "Date": "2026-07-14",
  "Authors@R": "c(\nperson(\n\"Arnald\", \"Puy\",\nemail = \"arnald.puy@pm.me\",\nrole = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"https://orcid.org/0000-0001-9469-2156\")\n)\n)",
  "Maintainer": "Arnald Puy <arnald.puy@pm.me>",
  "Description": "It leverages the network-like architecture of scientific\nmodels together with software quality metrics to identify\nchains of function calls that are more prone to generating and\npropagating errors. It operates on tbl_graph objects\nrepresenting call dependencies between functions (callers and\ncallees) and computes risk scores for individual functions and\nfor paths (sequences of function calls) based on cyclomatic\ncomplexity, in-degree and betweenness centrality. The package\nsupports variance-based uncertainty and sensitivity analyses\nafter Puy et al. (2022) <doi:10.18637/jss.v102.i05> to assess\nhow risk scores change under alternative risk definitions.",
  "License": "GPL-3",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "RoxygenNote": "7.3.3",
  "Roxygen": "list(markdown = TRUE)",
  "VignetteBuilder": "knitr",
  "Language": "en-US",
  "Config/pak/sysreqs": "cmake libfontconfig1-dev libfreetype6-dev\nlibglpk-dev libicu-dev libxml2-dev",
  "Repository": "https://arnaldpuy.r-universe.dev",
  "Date/Publication": "2026-07-16 14:58:57 UTC",
  "RemoteUrl": "https://github.com/arnaldpuy/softwarerisk",
  "RemoteRef": "HEAD",
  "RemoteSha": "036dbf729c1e0edb973ef5b41456b6a0bd2c65e3",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-09-17 11:51:38 UTC",
    "User": "root"
  },
  "Author": "Arnald Puy [aut, cre] (ORCID: <https://orcid.org/0000-0001-9469-2156>)",
  "_user": "arnaldpuy",
  "_type": "src",
  "_file": "softwareRisk_0.3.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/0d25019e735de67efe010d196933b705d7024a598f207810a864c40c15353bbe",
  "_filesize": 1507544,
  "_sha256": "0d25019e735de67efe010d196933b705d7024a598f207810a864c40c15353bbe",
  "_expires": "2026-12-26T12:07:05.000Z",
  "_created": "2026-09-17T11:51:38.000Z",
  "_published": "2026-09-17T12:07:07.724Z",
  "_jobs": [
    {
      "job": 105190839719,
      "time": 183,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10495683600"
    },
    {
      "job": 105190839754,
      "time": 208,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10495068807"
    },
    {
      "job": 105190839759,
      "time": 111,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10496137569"
    },
    {
      "job": 105190839853,
      "time": 104,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10496097682"
    },
    {
      "job": 105189445812,
      "time": 287,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10495773122"
    },
    {
      "job": 105190839891,
      "time": 132,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "10496150555"
    },
    {
      "job": 105190839724,
      "time": 125,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10496395315"
    },
    {
      "job": 105190839869,
      "time": 121,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10495508614"
    },
    {
      "job": 105190839817,
      "time": 126,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10496510314"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/arnaldpuy/actions/runs/35217500500",
  "_status": "success",
  "_upstream": "https://github.com/arnaldpuy/softwarerisk",
  "_commit": {
    "id": "036dbf729c1e0edb973ef5b41456b6a0bd2c65e3",
    "author": "Arnald Puy <arnald.puy@pm.me>",
    "committer": "Arnald Puy <arnald.puy@pm.me>",
    "message": "Remove accidentally committed .claude/ and ignore it\n",
    "time": 1784213937
  },
  "_maintainer": {
    "name": "Arnald Puy",
    "email": "arnald.puy@pm.me",
    "login": "arnaldpuy",
    "description": "",
    "uuid": 24915759,
    "orcid": "0000-0001-9469-2156"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "codetools",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "version": ">= 3.5.0",
      "role": "Imports"
    },
    {
      "package": "ggraph",
      "role": "Imports"
    },
    {
      "package": "igraph",
      "role": "Imports"
    },
    {
      "package": "ineq",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "scales",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tidygraph",
      "role": "Imports"
    },
    {
      "package": "grid",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "sensobol",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "arnaldpuy",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-51",
      "n": 4
    },
    {
      "week": "2025-52",
      "n": 9
    },
    {
      "week": "2026-01",
      "n": 6
    },
    {
      "week": "2026-02",
      "n": 3
    },
    {
      "week": "2026-03",
      "n": 2
    },
    {
      "week": "2026-04",
      "n": 4
    },
    {
      "week": "2026-14",
      "n": 3
    },
    {
      "week": "2026-27",
      "n": 1
    },
    {
      "week": "2026-29",
      "n": 4
    }
  ],
  "_tags": [
    {
      "name": "v0.2.0",
      "date": "2026-04-04"
    },
    {
      "name": "v0.2.2",
      "date": "2026-07-04"
    },
    {
      "name": "v0.3.0",
      "date": "2026-07-14"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "arnaldpuy",
      "count": 5,
      "uuid": 24915759
    }
  ],
  "_userbio": {
    "uuid": 24915759,
    "type": "user",
    "name": "Arnald Puy",
    "followers": 11
  },
  "_downloads": {
    "count": 228,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/softwareRisk"
  },
  "_devurl": "https://github.com/arnaldpuy/softwarerisk",
  "_searchresults": 0,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/softwareRisk.html"
  ],
  "_homeurl": "https://github.com/arnaldpuy/softwarerisk",
  "_realowner": "arnaldpuy",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2026-01-21"
    },
    {
      "version": "0.2.0",
      "date": "2026-04-04"
    },
    {
      "version": "0.3.0",
      "date": "2026-07-16"
    }
  ],
  "_exports": [
    "all_paths_fun",
    "call_graph_fun",
    "fix_portfolio_fun",
    "gini_index_fun",
    "node_exposure_fun",
    "path_fix_heatmap",
    "path_uncertainty_plot",
    "plot_top_paths_fun",
    "rank_robustness_fun",
    "rank_robustness_plot",
    "read_call_graph",
    "sensitivity_plot_fun",
    "slope_fun",
    "theme_AP",
    "uncertainty_fun"
  ],
  "_datasets": [
    {
      "name": "synthetic_graph",
      "title": "Synthetic citation graph for software risk examples",
      "object": "synthetic_graph",
      "class": [
        "tbl_graph",
        "igraph"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    }
  ],
  "_help": [
    {
      "page": "all_paths_fun",
      "title": "Enumerate entry-to-sink call paths and compute risk metrics at the node and path level",
      "topics": [
        "all_paths_fun"
      ]
    },
    {
      "page": "call_graph_fun",
      "title": "Build a call graph from an R package or a directory of R scripts",
      "topics": [
        "call_graph_fun"
      ]
    },
    {
      "page": "fix_portfolio_fun",
      "title": "Greedy selection of the most risk-reducing node fixes",
      "topics": [
        "fix_portfolio_fun"
      ]
    },
    {
      "page": "gini_index_fun",
      "title": "Compute the Gini index of a numeric vector",
      "topics": [
        "gini_index_fun"
      ]
    },
    {
      "page": "node_exposure_fun",
      "title": "Path-aware node criticality (risk load)",
      "topics": [
        "node_exposure_fun"
      ]
    },
    {
      "page": "path_fix_heatmap",
      "title": "Path-level improvement from fixing high-risk nodes",
      "topics": [
        "path_fix_heatmap"
      ]
    },
    {
      "page": "path_uncertainty_plot",
      "title": "Plot path-level uncertainty for the top-risk paths",
      "topics": [
        "path_uncertainty_plot"
      ]
    },
    {
      "page": "plot_top_paths_fun",
      "title": "Plot the top risky call paths on a Sugiyama layout",
      "topics": [
        "plot_top_paths_fun"
      ]
    },
    {
      "page": "rank_robustness_fun",
      "title": "Robustness of the risk ranking under uncertainty",
      "topics": [
        "rank_robustness_fun"
      ]
    },
    {
      "page": "rank_robustness_plot",
      "title": "Plot the robustness of the risk ranking",
      "topics": [
        "rank_robustness_plot"
      ]
    },
    {
      "page": "read_call_graph",
      "title": "Import a call graph from edge-list and complexity tables",
      "topics": [
        "read_call_graph"
      ]
    },
    {
      "page": "sensitivity_plot_fun",
      "title": "Plot Sobol' sensitivity indices of the node risk scores",
      "topics": [
        "sensitivity_plot_fun"
      ]
    },
    {
      "page": "slope_fun",
      "title": "Compute the linear slope of a numeric sequence",
      "topics": [
        "slope_fun"
      ]
    },
    {
      "page": "synthetic_graph",
      "title": "Synthetic citation graph for software risk examples",
      "topics": [
        "synthetic_graph"
      ]
    },
    {
      "page": "theme_AP",
      "title": "A clean, publication-oriented ggplot2 theme",
      "topics": [
        "theme_AP"
      ]
    },
    {
      "page": "uncertainty_fun",
      "title": "Uncertainty and sensitivity analysis of node and path risk",
      "topics": [
        "uncertainty_fun"
      ]
    }
  ],
  "_readme": "https://github.com/arnaldpuy/softwarerisk/raw/HEAD/README.md",
  "_rundeps": [
    "base64enc",
    "boot",
    "cachem",
    "cli",
    "codetools",
    "cpp11",
    "data.table",
    "deSolve",
    "dplyr",
    "farver",
    "fastmap",
    "generics",
    "ggforce",
    "ggplot2",
    "ggraph",
    "ggrepel",
    "glue",
    "graphlayouts",
    "gridExtra",
    "gtable",
    "igraph",
    "ineq",
    "isoband",
    "jsonlite",
    "labeling",
    "lattice",
    "lhs",
    "lifecycle",
    "magrittr",
    "MASS",
    "Matrix",
    "matrixStats",
    "memoise",
    "pillar",
    "pkgconfig",
    "polyclip",
    "purrr",
    "R6",
    "randtoolbox",
    "rbibutils",
    "RColorBrewer",
    "Rcpp",
    "RcppArmadillo",
    "RcppParallel",
    "Rdpack",
    "Rfast",
    "rlang",
    "rngWELL",
    "S7",
    "scales",
    "sensobol",
    "stringi",
    "stringr",
    "systemfonts",
    "tibble",
    "tidygraph",
    "tidyr",
    "tidyselect",
    "tweenr",
    "utf8",
    "vctrs",
    "viridis",
    "viridisLite",
    "withr",
    "zigg"
  ],
  "_vignettes": [
    {
      "source": "softwareRisk.Rmd",
      "filename": "softwareRisk.html",
      "title": "softwareRisk: Computation of Node and Path-Level Risk Scores in Scientific Models",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Workflow",
        "Prepare the required datasets",
        "Building the call graph automatically from R code",
        "Analysis",
        "Definition of software risk",
        "Path-level risk scores",
        "Plotting",
        "Path-aware node criticality",
        "Prioritizing fixes under a budget",
        "Uncertainty and sensitivity analysis",
        "Robustness of the risk ranking",
        "Extracting and plotting Sobol' indices",
        "References"
      ],
      "created": "2025-12-21 16:48:55",
      "modified": "2026-07-14 15:00:56",
      "commits": 12
    }
  ],
  "_score": 4.653212513775344,
  "_indexed": true,
  "_nocasepkg": "softwarerisk",
  "_universes": [
    "arnaldpuy"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.3.0",
      "date": "2026-09-17T11:54:18.000Z",
      "distro": "resolute",
      "commit": "036dbf729c1e0edb973ef5b41456b6a0bd2c65e3",
      "fileid": "https://r2.ropensci.org/36226dbaa58fede156b9f72eac67efd20bd586202657249234b90b6271fdc3ac",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/arnaldpuy/actions/runs/35217500500"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.3.0",
      "date": "2026-09-17T11:54:43.000Z",
      "distro": "resolute",
      "commit": "036dbf729c1e0edb973ef5b41456b6a0bd2c65e3",
      "fileid": "https://r2.ropensci.org/2662ac82ddbe8679919b3d010cddd8fade86418ef3f1f4a17fb36060ba9a3844",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/arnaldpuy/actions/runs/35217500500"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.3.0",
      "date": "2026-09-17T12:06:06.000Z",
      "commit": "036dbf729c1e0edb973ef5b41456b6a0bd2c65e3",
      "fileid": "https://r2.ropensci.org/b3a773d51b58a27445a4fdd6f31dea53f82e730775a4bd1e8bd7dab02a08eca7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/arnaldpuy/actions/runs/35217500500"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.3.0",
      "date": "2026-09-17T12:06:13.000Z",
      "commit": "036dbf729c1e0edb973ef5b41456b6a0bd2c65e3",
      "fileid": "https://r2.ropensci.org/66c0f12b0bea57ba82fa952042dd3597467fbb040c1d9f1fc2b8bee322045c12",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/arnaldpuy/actions/runs/35217500500"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.3.0",
      "date": "2026-09-17T11:54:13.000Z",
      "commit": "036dbf729c1e0edb973ef5b41456b6a0bd2c65e3",
      "fileid": "https://r2.ropensci.org/6f5057d3b9616904412d5d4895497f75dd23b28e4479110f5fe908f58aa70379",
      "status": "success",
      "buildurl": "https://github.com/r-universe/arnaldpuy/actions/runs/35217500500"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.3.0",
      "date": "2026-09-17T11:53:04.000Z",
      "commit": "036dbf729c1e0edb973ef5b41456b6a0bd2c65e3",
      "fileid": "https://r2.ropensci.org/cbfb8326c4bb224d6dfca082da08d9f6d308ccb7f2c65da3da13141edeed304b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/arnaldpuy/actions/runs/35217500500"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.3.0",
      "date": "2026-09-17T11:52:59.000Z",
      "commit": "036dbf729c1e0edb973ef5b41456b6a0bd2c65e3",
      "fileid": "https://r2.ropensci.org/1f395e751783b259c65de7f65164a68cee20178108fb1860b00e3e577c448026",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/arnaldpuy/actions/runs/35217500500"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.3.0",
      "date": "2026-09-17T11:53:03.000Z",
      "commit": "036dbf729c1e0edb973ef5b41456b6a0bd2c65e3",
      "fileid": "https://r2.ropensci.org/5dcd6c85acc7bce5142b17dd11a962426dbcdbce6f58ab160f1f446cc23a7a6d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/arnaldpuy/actions/runs/35217500500"
    }
  ]
}