Uploaded image for project: 'WINDUP - Red Hat Application Migration Toolkit'
  1. WINDUP - Red Hat Application Migration Toolkit
  2. WINDUP-889

Investigate if we can filter which files are decompiled via BCEL or some other bytecode analysis library

    XMLWordPrintable

Details

    • Story
    • Resolution: Duplicate
    • Undefined
    • None
    • None
    • None
    • None

    Description

      The idea is that instead of decompilation which is really slow (takes the most time of a Windup run), we could gather most class metadata (name, extends, implements, imports, methods and params) using BCEL or such, and then scan the bytecode of the methods only for the constructs we are interested in - basically, methods calls.

      Then the queries would only be matter of querying the graph.
      The total time could be shorter than decompilation and regex matching.

      Jess has done some experiments:
      https://github.com/jsight/windup/tree/speed

      (15:55:54) jsightler: ozizka: I think that I still have the code for our earlier experiments with that.
      (15:56:18) jsightler: ozizka: https://github.com/jsight/windup/tree/speed
      (16:41:38) ozizka-FN: jsightler: I see. Maybe we should write down what were the problems
      (16:42:04) ozizka-FN: What's the chance of you forgetting it?
      (16:42:47) jsightler: Very high... the problems were sometimes hard to quantiy, though. For example, why would it find Class.forName in most classes, but occasionally just completely miss it?

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ozizka_jira Ondrej Zizka (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: