Published September 6, 2023 | Version v1

Joern Program Slices

  • 1. TU Berlin
  • 2. Stellenbosch University

Description

This is a dataset of usage slices for ca. 300k open source programs.
We publish this dataset as part of our ESORICS '23 paper "Learning Type Inference for Enhanced Dataflow Analysis".
You can find more information here: https://github.com/joernio/joernti-codetidal5


The slices were obtained through the code analysis platform Joern and can be used to track
the usage of certain objects / variables throughout a procedure, performing various kinds of analyses.
For more information, please visit https://github.com/joernio/joern/blob/master/joern-cli/JOERN_SLICE.md.

Each slice is in JSON format and contains information about the different namespaces, i.e., function or procedure names, and has entries for every used object, including its name, its type, which calls are being invoked on that object as well as to what other call the object is being passed as an argument.
Example:

{
  "objectSlices" : {
    "CanvasRenderer.ts::program:CanvasRenderer:render" : [
      {
        "targetObj" : {
          "name" : "dx",
          "typeFullName" : "__ecma.Number",
          "literal" : false
        },
        "definedBy" : {
          "name" : "",
          "typeFullName" : "ANY",
          "literal" : false
        },
        "invokedCalls" : [
        ],
        "argToCalls" : [
          [
            {
              "callName" : "<operator>.assignment",
              "paramTypes" : [
                "__ecma.Number",
                "ANY"
              ],
              "returnType" : "ANY"
            },
            1
          ],
          [
            {
              "callName" : "transform",
              "paramTypes" : [
                "ANY",
                "ANY",
                "ANY",
                "ANY",
                "ANY",
                "ANY"
              ],
              "returnType" : "ANY"
            },
            5
          ]
        ]
      },
      {
        "targetObj" : {
          "name" : "scene",
[...]

 

Files

joernti-slice-dataset.zip

Files (953.4 MB)

Name Size
md5:1b82b46d1520cad646dd3e1aef8b702a
953.4 MB Preview Download

Additional details

Funding

European Commission
TESTABLE - TEStabiliTy pAttern-driven weB appLication sEcurity and privacy testing 101019206