Skip to content

JVM d2d: Improve d2d pipeline to support generated code and more #1900

@pombredanne

Description

@pombredanne

The current implementation matches .java and .class files using path, classpath, java packages and compiler conventions. There are cases when we will not have a correct match with these techniques.

For instance, the .class code may not be compiled from Java, but could have been generated directly as bytecode with ASM library or similar bytecode engineering, as this is common with Hibernate and other data framework or SOAP or web services that generate code from @ annotations or XML documents.

To recap:

Here the approach would be to:

  • Collect source symbols with the "purl2sym" collect_symbols* pipelines or custom processing for XML
  • Collect symbols from the binaries, either using lief or using binary strings as collectable in the scancode-toolkit (we are missing a plugin)
  • Match the source to binary symbols, sort by the most matches and report correct matches to create a relation between a source and a binary

Sub-issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions